Camelia, the Perl 6 bug

IRC log for #perl6, 2009-11-06

Perl 6 | Rakudo | Specs | Parrot | source cross referenced

← Previous day | Index | Channel Index | Today | Next day → | Search | Google Search | Plain-Text | plain, newest first

All times shown according to UTC.

Time Nick Message
00:14 jaffa8 joined #perl6
00:16 am0c joined #perl6
00:24 frederico joined #perl6
00:28 payload joined #perl6
00:29 payload1 joined #perl6
00:33 orafu joined #perl6
00:36 Wolfman2000 joined #perl6
00:36 Wolfman2000 ...and I made it before 8
00:37 [particle] joined #perl6
00:46 ihrd joined #perl6
00:50 ihrd left #perl6
00:56 Wolfman2000 diakopter: Do you know if Feather is back up?
00:57 diakopter yeah it seems to be
00:57 Wolfman2000 I'll hop on it soon: have to wrap up something else first.
00:58 japhb pmichaud, t/p6regex/ in nqp-rx respects # ... :pge<...> .  How much stuff is working in nqp-rx that was not working in pge?
01:14 agentzh joined #perl6
01:15 Juerd Wolfman2000: feather is definitely back up. It has been for a while.
01:15 Wolfman2000 Juerd: Thanks. Maybe now I can get a data structure in and have my own Apache running.
01:16 Juerd (5 hours)
01:16 Wolfman2000 I didn't have access to my computer in the past 5 hours
01:16 I was with real life people
01:16 Juerd What OS are you using, by the way?
01:16 Wolfman2000 home OS? Mac OS X Leopard
01:16 Juerd Do you know ping?
01:17 Wolfman2000 I've used it rarely
01:17 Juerd It's an easy way to check if a machine is reachable
01:17 Wolfman2000 I recall that you have to sudo ping in order to ping repeatedly
01:17 Juerd In a terminal, you can simply type "ping feather.perl6.nl" and if you get replies, it's up
01:17 No need to sudo.
01:17 Wolfman2000 Juerd: I meant some of the options
01:18 Juerd The root access is only necessary for flooding. Don't do that to feather :)
01:18 Wolfman2000 I have no intention to
01:18 Juerd Anyway, use ping next time you're wondering if some machine is up. It'll give your answer faster without using anyone else's time :)
01:18 diakopter but my time is worth Nothing! :)
01:19 oh, but to read the question... yeah he probably used up a few man-hours ;)
01:19 Juerd In the category incredibly simple protocols, ping is my favorite :)
01:19 (icmp echo, yea)
01:20 Funny enough I've never used tcp echo. Can't think of any reason I'd want that, either.
01:20 japhb Juerd, great for teaching network programming ....
01:21 Wolfman2000 I forgot...is there a way to get a timestamp in Perl?
01:21 say, of this very second?
01:21 Juerd Wolfman2000: time.
01:21 japhb: Heh.
01:21 Wolfman2000 rakudo: say time; say time.WHAT;
01:21 p6eval rakudo 5e05b8: OUTPUT«1257470009.57223␤Num()␤»
01:22 Juerd Can we get Rat timestamps? ;)
01:22 Wolfman2000 I haven't learned much of using Rats
01:23 Juerd I'm off to bed again
01:23 Good localtime
01:23 * jnthn also
01:23 jnthn night all
01:24 * Wolfman2000 better look up how to do constructors
01:35 colomon Wolfman2000: Rats are simple, you just say 22/7 and you've got one.
01:35 rakudo: say (22/7).WHAT; say (22/7).perl; say (22/7);
01:35 p6eval rakudo 5e05b8: OUTPUT«Rat()␤22/7␤3.14285714285714␤»
01:36 payload joined #perl6
01:36 Wolfman2000 colomon: I'll mess with it later.
01:36 Right now I'm trying to see if I can set up...wait a second. Do Linked Lists EVER insert data in the middle?
01:37 TimToady that would depend on what you're using them for
01:37 an insertion sort would, for instance
01:38 Wolfman2000 TimToady: Alright, fair enough. All I'm trying to do is make sure I can still MAKE a Linked List, using Perl 6.
01:47 zarko joined #perl6
01:47 Wolfman2000 rakudo: my $namea = "Bob"; my $nameb = "John"; say $namea < $nameb;
01:47 p6eval rakudo 5e05b8: OUTPUT«0␤»
01:48 Wolfman2000 ...I don't think that was my intent. Guess string comparisons still use the two letter thing.
01:48 rakudo: my $namea = "Bob"; my $nameb = "John"; say $namea lt $nameb;
01:48 p6eval rakudo 5e05b8: OUTPUT«1␤»
01:53 sjohnson TimToady: how was your nap :)
01:53 <--- could use a nap
01:53 * fax hands sjohnson the nap
01:54 Wolfman2000 I got to lay down a little earlier today...not doing so this time. I want to get my linked list done.
01:54 Then you guys can critique on how un-perl like it is.
01:54 fax did you use and objec to make the linked lisp?
01:54 Wolfman2000 fax: Using a class.
01:54 But it's a priority linked list
01:54 single direction
01:55 fax do you know the trick where you stick two linked lists back to back
01:55 to make a Queueo
01:55 Wolfman2000 fax: Don't recall that one offhand, but I wish to stick to my singly linked list right now please.
01:55 When I get this done, the rest of you can do whatever critiquing is needed.
01:55 fax how sticky are you?
01:56 Wolfman2000 I don't follow
01:59 eternaleye joined #perl6
02:07 Wolfman2000 Hmm...alright, got a curious one here. I know method variables can be set to is rw, but can other conditions be set? Such as...if you want an Integer variable, but you want to be sure that it's non negative? Can that be done in the same place, or must it be done inside the method proper?
02:09 zarko left #perl6
02:11 TimToady rakudo: subset Odd of Int where { $_ % 2 }; class Oddly { has Odd $.num is rw = 1; }; Oddly.new.num = 2;
02:11 p6eval rakudo 5e05b8: TIMED_OUT
02:16 Tene Wolfman2000: sub foo(Int $n where { $n >= 0 }) { ... }
02:16 Wolfman2000 Tene: didn't think where worked like that...
02:17 Tene Wolfman2000: It does.
02:17 Wolfman2000 rakudo: sub foo(Int $n where { $n >= 0 }) { return $n; } say foo(3); say foo(-1);
02:17 p6eval rakudo 5e05b8: OUTPUT«Confused at line 2, near "say foo(3)"␤in Main (file <unknown>, line <unknown>)␤»
02:17 Tene Wolfman2000: sub foo(Int $n where { $n >= 0 }) { ... }need a ; after your sub def
02:17 ack, typing fail
02:17 ><
02:18 Wolfman2000 rakudo: sub foo(Int $n where { $n >= 0 }) { return $n; }; say foo(3); say foo(-1);
02:18 p6eval rakudo 5e05b8: OUTPUT«3␤Constraint type check failed for parameter '$n'␤in Main (file src/gen_setting.pm, line 324)␤»
02:18 Wolfman2000 Was that the expected behavior?
02:18 Tene Yes.
02:19 Wolfman2000 ...I was hoping for...well, something kinder.
02:19 Tene What did you want?
02:19 Wolfman2000 Just a return null or a no-call
02:19 Tene If you tell me what you want, maybe we could find a way to get that instead.
02:19 Wolfman2000 I guess I need a multi sub for that
02:20 err, return undef;
02:20 Tene multi sub foo(Int $n where { $n > 0 }) { say 'positive' }; multi sub foo(Int $n) { say 'non-positive' }; foo(5); foo(-10);
02:20 rakudo: multi sub foo(Int $n where { $n > 0 }) { say 'positive' }; multi sub foo(Int $n) { say 'non-positive' }; foo(5); foo(-10);
02:20 p6eval rakudo 5e05b8: OUTPUT«positive␤non-positive␤»
02:21 Wolfman2000 ...wow
02:21 I'm REALLY liking Perl 6 now
02:21 I have Postgresql style constraint checks in subs and methods. :D
02:21 slavik joined #perl6
02:21 Tene rakudo: multi sub foo(Int $n where { $n > 0 }) { say 'positive' }; multi sub foo(Int $n) { say 'non-positive' }; multi sub foo($n) { say "error: non-integer" }; foo(5); foo(-10); foo(5.5);
02:21 p6eval rakudo 5e05b8: OUTPUT«positive␤non-positive␤error: non-integer␤»
02:22 Wolfman2000 *applause*
02:22 Tene++
02:27 Tene jnthn++ # He's done most of the work on this.
02:32 diakopter TimToady: your above:  Assignment type check failed; expected , but got Int
02:35 should be: Assignment type check failed; expected Odd, but got non-Odd Int
02:45 masak!?!?!? where are you!?!?!?!?    p6eval@debian:~/rakudo$ ./perl6 -e 'subset Five of Int where { $_ = 5 }; class Fively { has Five $.num is rw = 4; }; say Fively.new.num'
02:45 5
02:46 dereference fail
02:46 I mean, unbox fail
02:46 TimToady um, s/=/==/?
02:46 diakopter :)
02:46 you'd think that..
02:47 but I actually was intending to test assignment to $_ before/while writing it
02:48 I mean, a where clause isn't supposed to be destructive, right?
02:49 TimToady you know where to find Haskell :P
02:49 diakopter har.  srsly, vho
02:50 now you've got me wondering whether that's the intended/speculatified behavior
02:54 ./perl6 -e 'subset Five of Any where { $_ = 5 }; say (my Five $a = 4)'
02:54 5
02:55 ./perl6 -e 'subset Five of Any where { $_ = 5 }; say (Five.new = 4)'
02:55 Segmentation fault
02:55 hmm
03:01 Wolfman2000 rakudo: say BOOL::True;
03:01 p6eval rakudo 5e05b8: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (file <unknown>, line <unknown>)␤»
03:01 Wolfman2000 ...what was that new enum again?
03:01 diakopter rakudo: say Bool::True;
03:01 p6eval rakudo 5e05b8: OUTPUT«1␤»
03:02 Wolfman2000 thank you
03:03 petdance joined #perl6
03:05 diakopter hm, doesn't always segfault.
03:05 weird.
03:06 Wolfman2000 ...and my perl file doesn't even compile right. Great. feather/jafelds/sorts/linkedlist.pl: Node $!head is the issue (line 5). I'm trying to set up a private variable to the class. Must the Node class be defined before I use Node objects?
03:14 colomon Wolfman2000: I believe so.
03:14 Though in theory you can use a stub class.
03:14 Wolfman2000 colomon: ...seemed to work
03:14 colomon something like class Node { ... }
03:14 Wolfman2000 I haven't actually put in data yet though
03:15 colomon I will admit I could be wrong, this bit is just theory for me so far.
03:15 :)
03:15 can you nopaste your code?
03:16 Wolfman2000 colomon: in feather
03:16 not the easiest to nopaste unless you want me to magically copy and paste a few lines at a time
03:16 colomon are you logged in from your mac?
03:17 Wolfman2000 through terminal, yes
03:18 colomon ssh you@feather cat name-of-code | pbcopy
03:19 should give you the file on feather on your clipboard.
03:19 Wolfman2000 you want me to tell you where my feather file is?
03:19 Funny: I said it just about 5 minutes ago
03:19 colomon I don't have login permission on feather.
03:20 Wolfman2000 ...holy crap, that worked
03:21 lisppaste3 wolfman2000 pasted "Planned Linked List file. Just the class right now." at http://paste.lisp.org/display/89866
03:22 colomon Wolfman2000: I did test the ssh command on my mac (and linux box) before sending it along.  :)
03:22 Wolfman2000 colomon++: thanks
03:23 colomon Ah, your Node has a Node.  I would expect that to work, though again I've not tried this sort of thing myself.
03:23 Wolfman2000 Then I'll go find out.
03:24 ...crap: never did the toString method
03:24 colomon your new isn't right though, as far as I know.  You nee to bless the object.
03:24 In Perl 6 we call toString     .Str
03:25 Wolfman2000 So just have a method .Str? Got it
03:26 * diakopter svn co http://closure-library.googlecode.com/svn/trunk
03:26 colomon Yes, and that will blend in with Perl 6 support, so "say" and variable interpolation in strings will work correctly.
03:26 lisppaste3 colomon pasted "Sample operator new" at http://paste.lisp.org/display/89867
03:27 colomon That's just a cut-n-paste from src/setting/Rat.pm, but it has one syntax to make bless work, which is essential in Perl 6 new commands (to the best of my knowledge).
03:28 Wolfman2000 Malformed method definition: .Str
03:29 ...right, paste it
03:30 lisppaste3 wolfman2000 annotated #89866 "Malformed .Str at bottom" at http://paste.lisp.org/display/89866#1
03:30 Wolfman2000 brb 2 minutes
03:30 colomon Sorry, you don't need to include the . in the definition, the dot is how it is called.
03:31 agentzh joined #perl6
03:32 colomon multi method Str() { $.Num.Str; }
03:32 I don't usually bother typing return values in Perl 6.  (the above is from Rat.pm again.)
03:33 I'm off to bed, good luck!
03:34 Wolfman2000 back...okay, 4 minutes. I have enough of an idea
03:35 ...now it's just other stuff that will drive me crazy.
03:35 * Wolfman2000 will wait for the next perl 6 expert
03:49 japhb OK, nqp-rx/t/nqp/24-module.t is just sneaky.
03:49 envi^office joined #perl6
03:49 japhb Had to look at that about 5 times before I believed it.
04:04 msg pmichaud What are the chances of NQP-rx supporting interpolation of closures into double quotish strings?
04:11 Schwern joined #perl6
04:12 eternaleye carlin: Maybe a feature for mubot would be an 'import' command, like 'import <otherbot> <username>'. so, 'import lambdabot lwall' would look up 'lambdabot' in a table of format strings to produce a query, send it to lambdabot in a PM, and set lwall's karma to the resulting number. (set rather than add, because the latter could be trivially abused)
04:18 meppel joined #perl6
04:22 Wolfman2000 ...need early bed. Perhaps the early morning crowd can figure out my issues. *zzz*
04:30 eternaleye phenny: tell pmichaud Watching you and jnthn work on ng makes me think of an Amish barn-building. You _know_ it should be complex and slow, but they have the tools and methods set up so seamlessly it happens ridiculously fast.
04:30 phenny eternaleye: I'll pass that on when pmichaud is around.
04:40 Schwern joined #perl6
04:47 japhb phenny: tell pmichaud What are the chances of NQP-rx supporting interpolation of closures into double quotish strings?
04:47 phenny japhb: I'll pass that on when pmichaud is around.
05:01 eternaleye rakudo: multi infix:<±>( $value, $uncertainty ) { return any( ($value - $uncertainty)..($value + $uncertainty) ); }; my $a = 7 ± 4; say( 3.5 ~~ $a );
05:01 p6eval rakudo 5e05b8: OUTPUT«0␤»
05:01 eternaleye rakudo: multi infix:<±>( $value, $uncertainty ) { return any( ($value - $uncertainty)..($value + $uncertainty) ); }; my $a = 7 ± 4; say( 3 ~~ $a );
05:02 p6eval rakudo 5e05b8: OUTPUT«1␤»
05:04 envi^home joined #perl6
05:04 eternaleye Is there any way to get something which, when used as the RHS of a smart match, will match any(Num, Int) within the upper and lower bounds?
05:05 (I was going for the 'experimental uncertainty' variant of ± there, rather than the 'mathematician' one)
05:05 mepplock joined #perl6
05:06 eternaleye Hm... That actually might be something I could easily do myself...
05:10 pmichaud japhb: (closures in NQP double-quoted strings)  very high
05:10 phenny pmichaud: 04:30Z <eternaleye> tell pmichaud Watching you and jnthn work on ng makes me think of an Amish barn-building. You _know_ it should be complex and slow, but they have the tools and methods set up so seamlessly it happens ridiculously fast.
05:10 pmichaud: 04:47Z <japhb> tell pmichaud What are the chances of NQP-rx supporting interpolation of closures into double quotish strings?
05:11 pmichaud eternaleye: I agree fully.  It's amazing how easily things are going together in ng.  I hope it continues to be that way (but I'm prepared for the eventual roadblock to occur).
05:11 japhb: I've had to work on other tasks this week, tomorrow I'll be fully back into nqp stuff again
05:12 (I'd do some tonight but I'm a little tired and I figure that code from a rested mind will be better than code from a tired one)
05:13 eternaleye class Continuum { has $.upper, $.lower; submethod BUILD( $u, $l ) { $upper = $u; $lower = $l; Bool :$exclusive = False }; submethod ACCEPTS( $item ) { if $exclusive { return( True ) if $lower < $item < $upper; return( False ); } else { return( True ) if $lower <= $item <= $upper; return( False ); }; multi infix:<±>( $value, $uncertainty ) { return( Continuum.new( $value - $uncertainty, $value + uncertainty ) ); }; my $a = 7
05:13 ± 4; say( 3 ~~ $a );
05:13 pmichaud and with that, I'm off to rest.  I hope to get an early start tomorrow.
05:13 eternaleye grr, transposition tyop
05:15 rakudo: class Continuum { has $.upper, $.lower; has Bool $inclusive; submethod BUILD( $u, $l, Bool :$exclusive = False ) { $upper = $u; $lower = $l; $inclusive = !$exclusive; }; submethod ACCEPTS( $item ) { if $inclusive { return( True ) if $lower <= $item <= $upper; return( False ); } else { return( True ) if $lower < $item < $upper; return( False ); }; multi infix:<±>( $value, $uncertainty ) { return( Continuum.new(
05:15 $value - $uncertainty, $value + uncertainty ) ); }; my $a = 7 ± 4; say( 3 ~~ $a );
05:15 p6eval rakudo 5e05b8: OUTPUT«Confused at line 2, near "( Continuu"␤in Main (file <unknown>, line <unknown>)␤»
05:16 eternaleye Ah, forgot to close the class
05:16 rakudo: class Continuum { has $.upper, $.lower; has Bool $inclusive; submethod BUILD( $u, $l, Bool :$exclusive = False ) { $upper = $u; $lower = $l; $inclusive = !$exclusive; }; submethod ACCEPTS( $item ) { if $inclusive { return( True ) if $lower <= $item <= $upper; return( False ); } else { return( True ) if $lower < $item < $upper; return( False ); }; }; multi infix:<±>( $value, $uncertainty ) { return( Continuum.new(
05:16 $value - $uncertainty, $value + uncertainty ) ); }; my $a = 7 ± 4; say( 3 ~~ $a );
05:16 p6eval rakudo 5e05b8: OUTPUT«Confused at line 2, near "( Continuu"␤in Main (file <unknown>, line <unknown>)␤»
05:17 eternaleye rakudo: class Continuum { has $.upper, $.lower; has Bool $inclusive; submethod BUILD( $u, $l, Bool :$exclusive = False ) { $upper = $u; $lower = $l; $inclusive = !$exclusive; }; submethod ACCEPTS( $item ) { if $inclusive { return( True ) if $lower <= $item <= $upper; return( False ); } else { return( True ) if $lower < $item < $upper; return( False ); }; }; }; multi infix:<±>( $value, $uncertainty ) { return( Continuum.new(
05:17 $value - $uncertainty, $value + uncertainty ) ); }; my $a = 7 ± 4; say( 3 ~~ $a );
05:17 p6eval rakudo 5e05b8: OUTPUT«Confused at line 2, near "( Continuu"␤in Main (file <unknown>, line <unknown>)␤»
05:17 eternaleye Hmm
05:20 I can't see anything wrong with this. Any ideas? http://ix.io/u9
05:21 Hm, the pastebin stripped the ±
05:56 reid02 joined #perl6
06:15 justatheory joined #perl6
06:48 quietfanatic joined #perl6
06:50 quietfanatic rakudo: class X {.signature.perl.say for method x {...}}
06:50 p6eval rakudo 5e05b8: TIMED_OUT
06:51 quietfanatic perl6 -e 'class X {.signature.perl.say for method x {say self}}'
06:51 > :(Object self: *%_)
06:51 lambdabot <no location info>: parse error on input `:'
06:51 quietfanatic This is really cool but
06:51 this is not a parseable signature.
06:51 rakudo: :(Object self: *%_)
06:51 p6eval rakudo 5e05b8: OUTPUT«Unable to parse sigterm; couldn't find final ')' at line 2, near "self: *%_)"␤in Main (file <unknown>, line <unknown>)␤»
06:55 diakopter rakudo: sub (%_) { say %_ }(1)
06:55 p6eval rakudo 5e05b8: OUTPUT«Confused at line 2, near "(1)"␤in Main (file <unknown>, line <unknown>)␤»
06:55 diakopter rakudo: (sub (%_) { say %_ })(1)
06:55 p6eval rakudo 5e05b8: OUTPUT«'_' is not a valid sprintf format␤in Main (file <unknown>, line <unknown>)␤»
06:55 quietfanatic !?
06:55 * diakopter hoots a bit
06:56 diakopter rakudo: (sub (%_) { say %s })(1)
06:56 p6eval rakudo 5e05b8: OUTPUT«Symbol '%s' not predeclared in <anonymous> (/tmp/1jhSB8sOd4:2)␤in Main (file <unknown>, line <unknown>)␤»
06:56 diakopter rakudo: my %s; (sub (%_) { say %s })(1)
06:56 p6eval rakudo 5e05b8: OUTPUT«'_' is not a valid sprintf format␤in Main (file <unknown>, line <unknown>)␤»
06:57 diakopter rakudo: (sub (%s) { say %_ })(1)
06:57 p6eval rakudo 5e05b8:  ( no output )
06:57 quietfanatic I don't think that's the problem with the .perl'ed sig
06:57 though
06:57 diakopter no
06:57 rakudo: (sub (%s) { say %s })(1)
06:57 p6eval rakudo 5e05b8:  ( no output )
06:57 quietfanatic rakudo: :(Object self:)
06:57 p6eval rakudo 5e05b8: OUTPUT«Unable to parse sigterm; couldn't find final ')' at line 2, near "self:)"␤in Main (file <unknown>, line <unknown>)␤»
06:57 diakopter rakudo: (sub (%s) { say %s })(1, 4)
06:57 p6eval rakudo 5e05b8:  ( no output )
06:58 diakopter rakudo: (sub (%s) { say %s })({1=>4})
06:58 quietfanatic It oughta complain about too many positionals there
06:58 p6eval rakudo 5e05b8: TIMED_OUT
06:58 diakopter harumph
06:58 rakudo: (sub (%s) { say %s })(1=>4)
06:58 p6eval rakudo 5e05b8:  ( no output )
06:59 quietfanatic rakudo: (sub (*%s) { say %s })(1=>4)
06:59 p6eval rakudo 5e05b8: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤in Main (file src/gen_setting.pm, line 324)␤»
06:59 quietfanatic er
06:59 diakopter rakudo: (sub (%__) { say %__ })(6)
06:59 quietfanatic ah because 1 isn't a valid identifier
06:59 p6eval rakudo 5e05b8: OUTPUT«'_' is not a valid sprintf format␤in Main (file <unknown>, line <unknown>)␤»
06:59 diakopter rakudo: (sub (%%_) { say %__ })(6)
06:59 p6eval rakudo 5e05b8: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "%_) { say "␤in Main (file <unknown>, line <unknown>)␤»
06:59 diakopter rakudo: (sub (%d_) { say %__ })(6)
06:59 p6eval rakudo 5e05b8: OUTPUT«Symbol '%__' not predeclared in <anonymous> (/tmp/t8nMGmdMBj:2)␤in Main (file <unknown>, line <unknown>)␤»
07:00 diakopter I don't get the sprintf error
07:00 maybe it's a p6eval thing
07:00 quietfanatic locally? Maybe you have an older Rakudo
07:00 No I get that error.
07:00 diakopter oh
07:00 I mean
07:01 I don't understand the sprintf error
07:01 quietfanatic oh'
07:01 diakopter I've been playing with Google's Apache-licensed JavaScript static-analysis optimizing compiler
07:02 Closure
07:02 http://closure-compiler.appspot.com/home
07:02 extremely interesting
07:03 the first input I gave it... its output source code was much smaller.  but failed to run. :)
07:03 (the original input runs fine)
07:03 in Google V8, no less
07:04 I guess the "Advanced Compilation" assumes a bit too much, in places.
07:04 quietfanatic I'm totally not surprised Google has something like that, from having seen the source of their webpage
07:04 diakopter I read the docs; it's supposed not to break stuff
07:05 I guess I could report a bug
07:05 but my bug report would be... the source code of my PAST interpreter in JS
07:05 miyagawa left #perl6
07:06 diakopter I mean, what static analysis optimizing compiler can do well against the source code of a functional-oriented interpreter?
07:06 quietfanatic Also (re: signature.perl) Shouldn't that be "X self:" instead of "Object self:"?
07:06 Well if you give it something that crazy it's sure to hiccup somewhere along the way.
07:07 tak11 joined #perl6
07:09 diakopter and as well all know, there is no cure for hiccups
07:12 rakudo: method x {say self}; say &x.signature.perl # clue
07:12 p6eval rakudo 5e05b8: OUTPUT«:(Object self: *%_)␤»
07:12 diakopter a method of what, you ask
07:13 std: method x {say self}; say &x.signature.perl # clue
07:13 p6eval std 28993: OUTPUT«ok 00:02 130m␤»
07:13 quietfanatic I mean ignoring the bareword self problem
07:13 I would like it to say
07:14 to have the class the method was declared in be the invocant instead of Object every time
07:15 I don't know what use a method declared outside of a class would be.
07:15 except maybe for code reuse.
07:16 Speaking of which, that may be why it's Object instead of X for the invocant, so it's portable between classes
07:18 diakopter ignoring
07:18 erm
07:18 ./perl6 -e 'class X { method x {}; method b { return &x } }; say X.b.signature'
07:18 Signature()<0x2b6120c6d590>
07:19 agentzh joined #perl6
07:19 moritz_ good morning
07:19 diakopter welcome
07:19 sjohnson hi!
07:19 diakopter to awakeness
07:32 spinclad rakudo: class X { method x {}; }; say X::x.signature.perl
07:32 p6eval rakudo 5e05b8: TIMED_OUT
07:44 mberends joined #perl6
07:45 japhb pmichaud, glad to hear closure interpolation will go in, understood about needing some rest, hope you feel better in the morning!
07:46 moritz_ phenny: tell masak re your blog post: what's wrong with 'make install' in rakudo-in-parrot?
07:46 phenny moritz_: I'll pass that on when masak is around.
07:47 nbrown_ joined #perl6
07:48 japhb phenny, tell pmichaud I added Strings and Classes sections to http://wiki.github.com/perl6/n[…]/plumage-requests
07:48 phenny japhb: I'll pass that on when pmichaud is around.
07:59 eternaleye_ joined #perl6
07:59 iblechbot joined #perl6
08:03 desertm4x joined #perl6
08:12 eternaleye_ diakopter: There is a cure for hiccups.
08:12 diakopter: Simply move along the axis of the fourth dimension until they no longer occur ;D
08:17 sjohnson eternaleye_: all u gotta do... is hold your breath
08:17 .. works about 80% of the for me
08:20 eternaleye_ sjohnson: Well, mine roughly translates to 'wait until they stop' with a tongue-in-cheek twist
08:22 sjohnson eternaleye_: don't believe in the hype about teaspoons of peanut butter or rubbing your ear lobes.  it's all snake-oil
08:23 nbrown joined #perl6
08:26 mariuz joined #perl6
08:36 Su-Shee joined #perl6
08:36 Su-Shee good morning.
08:38 moritz_ good morning Su-Shee
08:39 payload joined #perl6
08:56 rfordinal3643 left #perl6
08:56 * sjohnson misses wayland76
09:05 * moritz_ added a section about rakudo packages to http://rakudo.org/how-to-get-rakudo
09:05 moritz_ currently we have a lot of duplication on that page and README
09:13 reid02 joined #perl6
09:16 jaffa8 joined #perl6
09:16 mubot joined #perl6
09:18 carlin @karma carlin
09:18 lambdabot You have a karma of 63
09:19 carlin mubot: karma carlin
09:19 mubot carlin has a karma of 63
09:20 carlin eternaleye++ # for suggesting importing from lambdabot, although I did it differently
09:25 Stacklob joined #perl6
09:44 rfordinal joined #perl6
09:46 NorwayGeek joined #perl6
09:47 NorwayGeek joined #perl6
09:52 rfordinal3643 joined #perl6
09:54 sjohnson rakudo: 0 or do { print "cowie"; }
09:54 p6eval rakudo 5e05b8: OUTPUT«cowie»
09:54 colomon eternaleye_: Don't know why your Continuum class isn't doing what you want, but I believe its functionality is a subset of what Perl 6's built-in Range does...
09:57 sjohnson rakudo: 0 or print "moo";
09:57 p6eval rakudo 5e05b8: OUTPUT«moo»
09:57 agentzh joined #perl6
09:58 sjohnson rakudo: my $buffer; 0 or { $buffer = "cow"; $buffer~="ie"; }; print $buffer;
09:58 p6eval rakudo 5e05b8: OUTPUT«Use of uninitialized value␤»
09:59 sjohnson hmmm
09:59 * sjohnson scratches head
09:59 sjohnson rakudo: my $buffer; 0 or do { $buffer = "cow"; $buffer~="ie"; }; print $buffer;
09:59 p6eval rakudo 5e05b8: OUTPUT«cowie»
10:02 Chillance joined #perl6
10:03 sjohnson do(); technology ++
10:04 rfordinal3643lj joined #perl6
10:08 moritz_ IllvilJa: http://www.illvilja.se/ doesn't have a port 80 open :)
10:19 frettled Whoa, you have been busy bees again tonight and this morning.  :D
10:22 meppel joined #perl6
10:26 rfordinal joined #perl6
10:29 rfordinal3643 joined #perl6
10:51 hcchien joined #perl6
10:52 dakkar joined #perl6
11:01 payload joined #perl6
11:07 simcop2387 joined #perl6
11:08 carlin mubot: karma mubot
11:08 mubot mubot is of an unknown quantity
11:08 carlin mubot++ mubot++
11:08 mubot: karma mubot
11:08 mubot mubot has a karma of 1
11:09 pmurias joined #perl6
11:11 mubot joined #perl6
11:12 carlin mubot: karma mubot
11:12 mubot mubot has a karma of 1
11:12 carlin mubot++ mubot++
11:12 mubot: karma mubot
11:12 Huh?
11:13 gorram segfault
11:16 mubot joined #perl6
11:17 carlin mubot++ mubot++
11:17 mubot: karma mubot
11:17 mubot mubot has a karma of 3
11:17 carlin \o/
11:37 jnthn o/
11:40 allbery_b joined #perl6
11:46 colomon \o
11:46 dmi joined #perl6
11:47 envi^home joined #perl6
11:49 SmokeMachine joined #perl6
11:50 spowell333 joined #perl6
11:54 pmurias perl6: \(1,2,3).say
11:54 p6eval rakudo 5e05b8: OUTPUT«123␤»
11:54 ..elf 28993: OUTPUT«Useless use of a constant in void context at (eval 122) line 3.␤3␤»
11:54 ..pugs: OUTPUT«*** ␤    Unexpected "."␤    expecting operator␤    at /tmp/QGnJtJbi7K line 1, column 9␤»
11:54 pmurias rakudo: say \(1,2,3).elems
11:55 p6eval rakudo 5e05b8: OUTPUT«3␤»
11:55 * pmurias shouldn't me using .say
11:55 pmurias rakudo: say \(1,2,3,a=>2).elems
11:55 p6eval rakudo 5e05b8: OUTPUT«4␤»
11:55 Bzek joined #perl6
11:58 pmurias Capture.elems return the number of positional?
11:59 jnthn Hmm
11:59 Probably.
12:00 I'm not sure that \(1,2,3,a=>2) makes a capture these days though.
12:00 (1,2,3,a=>2) makes a Parcel
12:00 and \ takes off the "flatten me" flag
12:03 (Rakudo's ng branch should - in theory - have a lot more of this straightened out.)
12:08 mubot joined #perl6
12:11 pugs_svn r28994 | pmurias++ | [mildew-js] add $DefaultBlockSignature
12:11 r28995 | pmurias++ | [re-mildew] fix bug with ->pretty
12:11 r28996 | pmurias++ | [mildew-js] start of ControlExceptionReturn
12:19 masak joined #perl6
12:19 masak good afternoon, #perl6.
12:19 phenny masak: 07:46Z <moritz_> tell masak re your blog post: what's wrong with 'make install' in rakudo-in-parrot?
12:19 moritz_ good morning masak :-)
12:19 parduncia :q!
12:19 * hugme hugs parduncia, good vi(m) user!
12:19 parduncia ooops
12:19 masak moritz_: good morning. :)
12:20 moritz_: I don't know. maybe nothing.
12:20 moritz_: what happens if I put rakudo inside languages/rakudo, and then try to run 'make install'?
12:20 moritz_: won't it try to install globally?
12:20 jnthn hugme++ # easter egg!
12:20 moritz_ masak: it'll try to install in the --prefix dir that gave parrot's Configure
12:21 at least that's my expectation
12:21 masak moritz_: ok, good to know.
12:22 I still feel slightly overwhelmed by the different possible configurations.
12:22 maybe my biorythms are unfavourable right now. :P
12:23 moritz_ maybe :-)
12:23 I just read your blog post as "running make install in a rakudo-in-parrot setup seems wrong", and wanted to ask why/contradict :-)
12:24 jnthn Blame it on the biorythyms. :-)
12:25 masak moritz_: that's good. from what you're writing, it sounds like it should work.
12:25 jnthn: well, there's something wrong with some rythm right now, that's for sure. I didn't fall asleep until 4-ish.
12:27 jnthn masak: I've been having similar this week. :-(
12:27 Slept until mid-day-ish most days too.
12:27 It sucks more in winter because the daylight ends like, early.
12:27 am0c joined #perl6
12:27 masak nod.
12:29 jnthn Ar cienu!
12:29 Yay, my first Latvian phrase. :-)
12:29 Ooh, there's another one further down too.
12:30 masak: Thanks. :-)
12:30 masak notice how they don't address the bug at all in their reply. :)
12:31 pugs_svn r28997 | pmurias++ | [mildew-js] t/control_exception_routine.t passes
12:33 jnthn masak: Trust you to book a hotel and file masakbug on their website. :-)
12:34 * jnthn finds it amusingly fitting :-)
12:34 jnthn masak: Anyway, I agree cheapest is to book 3 + 1.
12:48 payload joined #perl6
12:52 masak jnthn: yes, that's what they confess.
12:52 maybe we should alert Andrew of this fact?
12:52 jnthn Yeah, could be worthwhile.
12:52 You want to, or I can do that, since you've done the other email?
12:53 masak I can do it.
12:53 you focus on ng. :P
12:53 jnthn masak: Thanks. :-)
12:54 masak: Heh. I'll get to ng soon. :-)
12:54 pugs_svn r28998 | pmurias++ | [mildew-js] CALLER::<...> and MY::<...> work
12:54 r28999 | pmurias++ | [mildew-js] added &return
12:54 jnthn Just got a few other tasks on my plate from @client that I can quickly clear up first.
12:57 frettled Where are you guys going?
13:01 masak frettled: to the exotic Baltics!
13:02 * jnthn never went to the Baltics before.
13:02 jnthn Another dot on the map. :-)
13:06 takadonet morning all
13:10 jnthn oh hai takadonet
13:12 frettled masak: Woot, which one?
13:12 * diakopter searches upward in the backlog for the hilite
13:12 masak frettled: the middle one.
13:14 pmurias diakopter: hi
13:15 diakopter pmurias: oy
13:15 pmurias diakopter: did you manage to get the v8 debugger running?
13:16 diakopter pmurias: have you seen this? (it's, like, cool): http://closure-compiler.appspot.com/home
13:16 pmurias: no, I haven't tried it
13:16 * pmurias wasted a lot of time trying to make v8/chrome talk to him using the remote debugger protocol
13:16 diakopter pmurias: speaking of which, I've been meaning to tell you about d8's --nodebugger flag, which speeds it up by some amount
13:17 pmurias d8 is the chrome debugger
13:17 diakopter d8 is the v8 debugging shell
13:17 frettled masak: So you're following the golden middle way, eh?
13:18 pmurias is confused
13:18 masak frettled: are you saying I'm being mean? :)
13:18 diakopter masak: did you see my HALP call to you above
13:19 TimToady never replied whether that was a bug
13:19 masak diakopter: no, must've missed that.
13:19 diakopter that I can see
13:19 * masak backlogs
13:19 frettled masak: only on average
13:19 diakopter but you can feel free to consider it a bug, imho, until clarified.... if you agree it's a bug, I mean
13:19 pmurias diakopter: google seems to be using the closure compiler thing to make the errors with the google maps api really horrible
13:20 diakopter rakudo: subset Five of Any where { $_ = 5 }; say (Five.new = 4)
13:20 pmurias: :)
13:20 p6eval rakudo 5e05b8: TIMED_OUT
13:20 masak frettled: people accuse me of being masakistic; but you're positively statistic!
13:20 diakopter rakudo: subset Five of Any where { $_ = 5 }; say (Five.new = 4)
13:20 IllvilJa joined #perl6
13:20 * diakopter checks p6eval
13:20 p6eval rakudo 5e05b8: TIMED_OUT
13:21 masak p6eval is having a bad month. :/
13:22 pmichaud good morning, #perl6
13:22 phenny pmichaud: 07:48Z <japhb> tell pmichaud I added Strings and Classes sections to http://wiki.github.com/perl6/n[…]/plumage-requests
13:23 masak pmichaud: mornin'!
13:23 * moritz_ fails at using irssi
13:23 diakopter pmurias: HOW :)
13:23 moritz_ good morning pmichaud :-)
13:23 pmichaud jnthn: ping
13:23 masak diakopter: I actually think where clauses can change stuff.
13:24 diakopter: (yes, that's pretty evil)
13:24 diakopter but.. replace the entire value?
13:24 masak nod.
13:24 jnthn: right? where clauses can change stuff?
13:24 pmichaud yes, where clauses can have side effects
13:25 * masak rests his case
13:25 diakopter ok side effects, but assign to $_ ??
13:25 jnthn pmichaud: pong
13:25 pmichaud yes, assign to $_
13:25 jnthn: I'm about to do END blocks.  Anything else I need to be doing firstish?
13:25 jnthn pmichaud: My wishlist for soon is
13:26 * diakopter
13:26 jnthn 1) Enough to be able to parse sub names like trait_mod:<is> - I figure it's the same code for like infix:<+>
13:26 pmichaud it is, okay.
13:26 jnthn Great.
13:26 And then the setting. ;-)
13:27 * moritz_ wants augment
13:27 jnthn As in, the make file tweaks for us to actually be able to have a Perl 6 setting.
13:27 pmichaud right
13:27 okay
13:27 in that case, I'll do subnames, END blocks, and then makefile
13:27 jnthn Then I can start getting some traits back in place.
13:27 pmichaud or perhaps swap the last two
13:27 anyway, those are now my morning plan
13:27 jnthn Hmm. Actually, the subnames aren't much use to me until the last is done. ;-)
13:27 diakopter sigh; I mean pmichaud: HOW :)
13:27 pmichaud I'll do them together :)
13:28 jnthn \o/
13:28 moritz_ speaking of makefiles...
13:28 * pmichaud throws his metaclass object to diakopter
13:28 moritz_ what do you think of putting most or all built files into a build/ dir?
13:28 jnthn moritz_: We called it gen, sorry. ;-)
13:28 pmichaud yeah, right now we do src/gen/
13:28 moritz_ gen/ also works for me
13:29 as long as you put it in a different directory
13:29 pmichaud I'm fine with using build/, but we currently use that to hold the tools that do the build
13:29 jnthn (well, I say we, I mean pmichaud++ of course)
13:29 moritz_ wfm
13:29 jnthn Yes, pleae don't add another directory called "build". :-)
13:29 pmichaud if there's a better convention I should be following here, I'll be glad to use it :)
13:29 well, we could always switch build/ to be tools/build/  or something
13:29 moritz_ I just don't want generated and source files in the same dir
13:29 diakopter built/
13:29 pmichaud moritz_: me neither.  I got talked into that a couple of years ago when first setting it up and came to regret it
13:30 diakopter builded/
13:30 pmichaud (I no longer allow myself to be talked into such things when I really know it ought to be the other way)
13:30 pmurias diakopter: what's the point in using the d8 with debugging turned off?
13:31 jnthn A little hubris goes a long long way. :-)
13:31 diakopter pmurias: :) nothing... (as opposed to using the shell[.exe] that scons can build)
13:31 pmurias i don't have a shell executable
13:31 pmichaud joined #perl6
13:32 pmichaud urgh,  irssi command fail
13:32 diakopter `scons sample="shell"`
13:34 mj41 joined #perl6
13:38 diakopter pmurias: you trying that?
13:42 pmurias diakopter: i use firebug as my js repl
13:42 diakopter oh
13:42 b0nk joined #perl6
13:43 ab5tract joined #perl6
13:46 payload joined #perl6
13:48 NorwayGeek joined #perl6
13:52 pugs_svn r29000 | pmurias++ | [mildew-js] Capture.FETCH calls FETCH on it's only positional
13:52 r29001 | pmurias++ | [mildew-js] Str.perl,Str.Str,Int.Str,&infix:<~> takes multiple arguments
13:55 frettled masak: only 89% of the time.
13:56 masak frettled: I feel we have exhausted the top quintile of this subspace of the jokosphere.
13:57 frettled masak: quite possibly, but then again, 93% of all statistics are made up on the spot.
13:58 moritz_ and 94.783% of all statistics pretend a higher accuracy than verifiable
13:58 masak I like it when leaders of oppressive regimes get things like 105% of the votes.
13:58 PerlJam masak: until someone comes along who wasn't presented at the start of it all, then you get to relive it all over again when they ask "what are you guys talking about?"  :-)
13:58 s/ted/t/
13:59 masak PerlJam: with jokes as with software, re-use is overrated but sometimes convenient. :)
14:01 frettled We need to refactor this joke.
14:02 But then someone will come along and whine about us not completing the original joke instead.
14:02 PerlJam frettled: yes, but it'll be better after the refactor
14:02 masak "come on! just release Joke 1.0 already!"
14:03 PerlJam frettled: and it'll have nuances that the original joke could never have hoped to have.
14:03 masak: but Joke 2009-10 is usable today!
14:04 What's the japanese word for "joke"?
14:04 masak PerlJam: bah, I'm talking about the finished product! not something that you slap the word "release" on.
14:04 PerlJam: I want industrial-strength perfection, without all the intermediate steps of bugs and dead ends.
14:04 frettled I can't believe we're spending time bikeshedding over a new joke when the old one was just fine as it was.
14:05 masak frettled: the old joke is ultimately a dead end too.
14:05 PerlJam Joudan* will be released around April 2010.  This will be a useable-for-productionish-things Joudan.
14:05 there.  I've jumped the shark.
14:07 * PerlJam wonders if "jumped the shark" is culturally portable now that Happy Days reruns have made it around the world.
14:10 frettled heh
14:10 FCO joined #perl6
14:11 jnthn .oO( at least bikeshedding jokes is less painful to watch than bikeshedding IO )
14:11 masak jnthn: just pretend that IO is a joke, too!
14:12 PerlJam jnthn: what you need to do is get a Wave to handle your IO for you.
14:12 masak "STDERR? stop it, you're killing me!"
14:13 [particle] joined #perl6
14:18 masak rakudo: my @consonants = <r k d>.pick(*); my @vowels = <a u o>.pick(*); say (|@consonants, |@vowels)[0, 3, 1, 4, 2, 5]
14:19 p6eval rakudo 5e05b8: OUTPUT«dukaro␤»
14:19 masak \o/
14:19 diakopter rakudo: brain
14:19 p6eval rakudo 5e05b8: OUTPUT«Could not find non-existent sub brain␤in Main (file src/gen_setting.pm, line 324)␤»
14:19 masak "Are you thinking what I'm thinking, Pinky?"
14:20 moritz_ rakudo: say <r k d>.pick(*) Z <a u o>.pick(*)
14:20 p6eval rakudo 5e05b8: OUTPUT«kudora␤»
14:20 * moritz_ likes kudora
14:20 masak moritz_++ # elegant-er
14:20 NorwayGeek joined #perl6
14:20 diakopter I think so, Carl, but what would we do with all the resulting skinsuits
14:20 Wolfman2000 *yawn* morning
14:21 masak rakudo: "rakudo".comb.rotate(2).say
14:21 p6eval rakudo 5e05b8: OUTPUT«kudora␤»
14:21 masak Wolfman2000: yawn morning to you, sir!
14:21 diakopter rakudo: say "rakudo".jumble
14:21 Wolfman2000 last night, I was trying to understand more about classes in Perl. I'm failing in that reguard.
14:21 p6eval rakudo 5e05b8: OUTPUT«Method 'jumble' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
14:21 masak Wolfman2000: Perl in general, or Perl 6?
14:22 Wolfman2000 Perl 6
14:22 masak Wolfman2000: can I help?
14:22 moritz_ std: [Z] (<r k d>; <a u o>)».pick(*)
14:22 p6eval std 29001: OUTPUT«ok 00:02 114m␤»
14:22 Wolfman2000 about to pastebin
14:22 diakopter rakudo: say "rakudo".shuffle
14:22 p6eval rakudo 5e05b8: OUTPUT«Method 'shuffle' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
14:22 moritz_ now *that* is a nice solution, but needs slices
14:22 masak rakudo: say 'rakudo'.comb.pick(*)
14:22 p6eval rakudo 5e05b8: OUTPUT«audrok␤»
14:22 masak audrok!
14:22 * masak likes
14:23 diakopter orkadu
14:23 jnthn radoku
14:23 lisppaste3 wolfman2000 pasted "Linked List without invoke()? Don't recall seeing this method in example files." at http://paste.lisp.org/display/89892
14:23 Wolfman2000 masak: have fun with it
14:23 moritz_ my $ll = new LinkedList();
14:23 masak Wolfman2000: not sure nested classes are what you want...
14:23 moritz_ that's wrong
14:23 diakopter udrako
14:24 Wolfman2000 masak: no reason for the node outside the list.
14:24 moritz_ Wolfman2000: LinkedList.new() it is
14:24 masak moritz_ gets to the end faster. :)
14:24 Wolfman2000 ...now I'm misunderstanding the twigils. Figures
14:24 Type objects do not have state, but you tried to access attribute $!head
14:25 * masak can't help thinking "that much code, and no tests..." ;)
14:25 moritz_ Wolfman2000: I *strongly* recommend starting from something small (at most 10 lines) that works
14:25 Wolfman2000 masak: Trying to get the basic stuff working first
14:25 masak Wolfman2000: ah. your 'new' method is wrong.
14:25 moritz_ Wolfman2000: and once that works, expand it
14:25 masak Wolfman2000: you're using it as if this were Java.
14:25 Wolfman2000 masak: ...yeah
14:25 icwiener joined #perl6
14:25 masak Wolfman2000: the 'new' method should actually CREATE a new object.
14:25 yours doesn't.
14:25 Wolfman2000 alright, I'm doing it wrong.
14:25 masak what you wrote belongs in a BUILD method.
14:26 moritz_ not necessary
14:26 diakopter rakudo: sub new { $^a.new }; say new Int
14:26 p6eval rakudo 5e05b8: OUTPUT«0␤»
14:26 moritz_ has $!timecheck = time;
14:26 masak Wolfman2000: what moritz said. you don't even need to put that in a method.
14:27 moritz_ and the attributes can be initialized from named arguments to .new() anyway
14:27 frettled rakudo: say 'frettled'.comb.pick(*)
14:27 p6eval rakudo 5e05b8: OUTPUT«relftetd␤»
14:27 moritz_ Wolfman2000: also look at http://perlgeek.de/blog-en/per[…]itialization.html
14:27 Wolfman2000 ...to whoever said I should try a different, smaller class first...probably right
14:28 moritz_ taht was me
14:28 frettled moritz_ often makes sense.
14:28 diakopter rakudo: sub new ($type) { $type.new(@_) }; say new Int, 2
14:28 p6eval rakudo 5e05b8: OUTPUT«0␤»
14:28 moritz_ Wolfman2000: also you don't need all those accessors
14:28 diakopter uadork
14:29 moritz_ Wolfman2000: you can write has Int $.priority; and get a ro-access with name priority for free
14:29 Wolfman2000 moritz_: What if I want rw instead of ro (assuming ro is read only)?
14:29 moritz_ Wolfman2000: then you write 'has $.priority is rw;' :-)
14:30 Wolfman2000 ...I think I'll try to build something simpler first.
14:31 Still, no clue how I got my Stack/Queue class to work right the first time.
14:31 I'm pretty sure I didn't use any new/build methods in there.
14:32 ...yep: no new, no BUILD
14:32 moritz_ you did override the 'new' method
14:32 Wolfman2000 moritz_: in fifo.pl
14:32 moritz_ oh
14:32 ok
14:32 * moritz_ didn't follow the context switch properly
14:33 Wolfman2000 I know I overrode new in linkedlist.pl
14:33 ...I just didn't do it right
14:38 rakudo: my $sides = 6; say rand $sides;
14:38 p6eval rakudo 5e05b8: OUTPUT«Confused at line 2, near "$sides;"␤in Main (file <unknown>, line <unknown>)␤»
14:38 Wolfman2000 once again, using things wrong.
14:38 pmichaud rakudo:  say 1..6.pick
14:38 p6eval rakudo 5e05b8: OUTPUT«123456␤»
14:38 pmichaud rakudo:  say 1..6.pick(1)
14:38 p6eval rakudo 5e05b8: OUTPUT«123456␤»
14:38 pmichaud er
14:38 drag
14:38 masak um.
14:39 pmichaud drat
14:39 moritz_ say (1..6).pick
14:39 rakudo: say (1..6).pick
14:39 pmichaud rakudo:  say (1..6).pick(1)
14:39 masak pmichaud: bug?
14:39 p6eval rakudo 5e05b8: OUTPUT«4␤»
14:39 rakudo 5e05b8: OUTPUT«2␤»
14:39 pmichaud not a bug
14:39 moritz_ method call is a term
14:39 pmichaud rakudo is right
14:39 masak guess so.
14:39 moritz_ so it has higher precedence than infix:<...>
14:39 Wolfman2000 new way to do random...nice
14:39 moritz_ s/higher/tighter/
14:39 pmichaud rakudo:  say (1..6).pick(2, :replace)
14:39 Wolfman2000 rakudo: say (1 .. 6).pick;
14:39 p6eval rakudo 5e05b8: OUTPUT«53␤»
14:39 rakudo 5e05b8: OUTPUT«3␤»
14:40 Wolfman2000 what does the replace do?
14:40 pmichaud pick normally won't pick the same value twice
14:40 :replace says always pick from the full set of values
14:40 so, if you're rolling a pair of dice, you want :replace, because each die can have any of 1..6
14:41 if you're drawing from a deck of cards, you don't want :replace, because drawing a card means it can no longer be drawn again
14:41 this might explain
14:41 rakudo:  say  (1..4).pick(10, :replace)
14:41 p6eval rakudo 5e05b8: OUTPUT«4123␤»
14:41 pmichaud okay, that's a bug
14:41 Wolfman2000 ...only picked 4
14:41 pmichaud or maybe it's still :repl
14:41 * masak submits
14:41 pmichaud rakudo:  say  (1..4).pick(10, :repl)
14:41 p6eval rakudo 5e05b8: OUTPUT«4111132243␤»
14:41 pmichaud there
14:42 rakudo:  say  (1..4).pick(10)
14:42 p6eval rakudo 5e05b8: OUTPUT«2413␤»
14:42 Wolfman2000 what is repl supposed to do versus replace?
14:42 masak pmichaud: is :replace specced?
14:42 pmichaud an earlier version of the spec had the option as ":repl" instead of ":replace"
14:42 PerlJam Wolfman2000: repl is supposed to be spelt replace  :)
14:42 pmichaud I'm thinking rakudo hasn't switched to the new option name
14:43 masak pmichaud: I still see :$repl in S32.
14:43 pmichaud perhaps S32 hasn't been updated either, then
14:43 Wolfman2000 I feel like my die is trying to avoid duplicates
14:43 frettled pmichaud: still neat
14:43 pmichaud I know that we expressed that we wanted it to change at some point
14:43 Wolfman2000 okay, got em
14:43 pmichaud I don't believe we decided that it should be :repl instead of :replace, though
14:43 frettled :repl - for replicants in your series
14:44 masak pmichaud: I don't see :replace anywhere in the spec.
14:44 PerlJam frettled: no, :repl is clearly a small read-eval-print-loop for random elements of a list
14:44 frettled: in fact, :repl probably is an acronum for "random elements per list"
14:45 s/acronum/acronym/ even
14:45 pmichaud backronym, maybe :)
14:45 Wolfman2000 Since the paste bot didn't catch this one: http://paste.lisp.org/+1XD1
14:45 PerlJam History is as those who write it
14:46 moritz_ Wolfman2000: does that work?
14:46 Wolfman2000 yes
14:46 moritz_ (I think it should, unless I missed something important)
14:46 good
14:46 masak Wolfman2000: looks good.
14:46 Wolfman2000 Of course, knowing you guys, there are ways to improve even the simple Die.
14:47 PerlJam (anyway, /me is completely against cryptic named parameters.  We have the technology and space for the few extra characters that would make things clearer)
14:47 cognominal maybe of interest to some people here : http://googlecode.blogspot.com[…]losure-tools.html
14:47 pmichaud PerlJam: I agree, which is why I thought we had changed it to :replace already
14:47 masak Wolfman2000: if you do 'method new(Int $sides)', you can do 'self.bless(*, :$sides)'
14:47 Wolfman2000 And :$sides magically assigns $sides to $!sides then?
14:48 masak Wolfman2000: that has the added advantage that .new can be called as .new(:sides(6))
14:48 Wolfman2000: yes.
14:48 Wolfman2000 huh: .new(6) still works. Is :sides(6) needed?
14:48 moritz_ one could even make that a parametric role, with the number of sides as parameter :-)
14:48 masak Wolfman2000: no, but if you should need clarity, it works.
14:49 pmichaud http://irclog.perlgeek.de/perl[…]9-07-07#i_1296482    # discussion about :repl and :replace
14:49 moritz_ rakudo: role Dice[$n] { method roll { (1..$n).pick } }; say Dice[6].new.roll
14:49 pmichaud if someone wants to update S32, that would be awesom.
14:49 *awesome
14:49 p6eval rakudo 5e05b8: TIMED_OUT
14:50 masak I'll make sure RT has a ticket about it, anyway.
14:50 pmichaud I can always count on you, masak++  :)
14:50 masak yup.
14:50 pmichaud I'm so looking forward to landing ng and closing lots of tickets
14:51 PerlJam Does counting on masak mean he has an inordinate number of fingers and toes?
14:51 moritz_ pmichaud: please count them :-)
14:51 pmichaud I'm curious to see if masak will generate new tickets for ng faster than we close the old ones, though :)
14:51 Wolfman2000 masak++, moritz_++, pmichaud++, PerlJam++: all of you, thank you.
14:51 pmichaud PerlJam: I would think it'd be ordinate, not inordinate
14:51 masak pmichaud: I'm also curious about that.
14:52 Wolfman2000 Right now, I think I'm glad I'm not trying to use my other box for Perl 6. Until the speed gets up, I can't use it on there. :(
14:53 PerlJam pmichaud: but then you wouldn't *always* be able to count on masak.  You'd eventually run out of digits.  Unless you counted some more than once.
14:53 pmichaud PerlJam: I can always count if :replace is set :)
14:54 Su-Shee_ joined #perl6
14:55 masak or if I'm configured with --gen-clones.
14:55 moritz_ the nice thing abaout digits is that they are reusable :-)
14:55 masak "you may not use a cardinal more than once!"
14:56 pugs_svn r29002 | duff++ | s/:repl/:replace/
14:56 pmichaud PerlJam++
14:56 masak ah. ' Thou shalt not have the same cardinal more than once, because cardinals are roman-catholic ministers and, as such, holy. (I leave it to the reader to determine the meaning of "to have a cardinal").' -- from http://p-nand-q.com/humor/prog[…]uages/sorted.html
14:56 PerlJam It's funny, but I tend to shy away from using repositories that are svn backed now that I use git.  I wonder why that is?
14:57 masak by the way, someone should write a Sorted! interpreter in Perl 6. :)
14:57 PerlJam: it's funny how SVN started to hurt a lot once I got to know git well. it didn't before.
14:57 PerlJam masak: yes, I think that's it
14:58 (though I just used git-svn to make that change :)
14:58 masak git-svn is a partial solution. whether 'partial' equals 'enough' depends on the exact situation. :)
14:59 s/enough/sufficient/
14:59 moritz_ "Q: What's a cardinal higher than the pope? A: Two to the pope"
14:59 Su-Shee moritz_: *ouch* :)
14:59 masak :)
14:59 frettled Is that a v1.1 joke?
14:59 masak can't argue with that kind of math.
15:00 * PerlJam contemplates working mentions of aleph into the joke-works
15:00 masak PerlJam: I think you missed a spot. there are also sub/method signatures with :$repl in them.
15:00 moritz_ just ack -w repl
15:00 PerlJam masak: ah, probably so,  I acked for :repl
15:01 masak PerlJam: what moritz_++ said.
15:01 PerlJam indeed.
15:02 pmichaud jnthn: just pushed ability for subs to be named   "category:<xyz>"
15:02 pugs_svn r29003 | duff++ | s/repl/replace/ that I missed before
15:03 * moritz_ would appreciate a [Sdd] prefix in commit messages
15:03 moritz_ anyway, PerlJam++
15:03 PerlJam moritz_: okay, next time  :)
15:04 pmichaud jnthn (and others) -- shall we start putting the setting files into src/CORE   instead of src/setting ?
15:05 and then, should it be src/CORE or src/core ?
15:05 (for those of us on unix-y systems where such distinctions make a difference :-)
15:05 moritz_ :-)
15:05 jnthn Yay! I don't have to care!! :-D
15:05 PerlJam what does "core" mean exactly?
15:05 jnthn pmichaud++ # thanks!
15:05 moritz_ PerlJam: it's the namespace the setting lives in
15:05 pmichaud most builtins go in the CORE package
15:05 PerlJam jnthn: not only do you not have to care, but you probably *can't* care  ;)
15:05 moritz_ not namespace
15:05 $thing
15:06 jnthn PerlJam: I see that as a cood thing. :-)
15:06 erm, good
15:06 pmichaud let's use src/core/
15:06 lowercase
15:06 since CORE is really a pseudopackage
15:06 moritz_ wfm
15:06 PerlJam then why call it src/core?
15:06 why not src/setting?
15:07 pmichaud setting has a different meaning now
15:07 jnthn 3 letters shorter
15:07 ;-)
15:07 PerlJam jnthn: always practical!  :)
15:07 pmichaud PerlJam: SETTING can now be changed
15:07 CORE        # Outermost lexical scope, definition of standard Perl
15:07 SETTING     # Lexical symbols in the unit's DSL (usually CORE)
15:07 (from S02)
15:08 PerlJam then why src/core that is different from CORE ?
15:08 (just being devil's advocate for a bit)
15:08 Wolfman2000 ...man. there are a LOT of branches for rakudo
15:08 pmichaud PerlJam: I don't understand the question
15:08 (yes, we should clear up some branches)
15:08 Wolfman2000 what is the purpose of each branch...or at least some of the key ones? I'm guessing ng is used a lot.
15:08 moritz_ the question is "if it's CORE, why name it core"?
15:08 PerlJam pmichaud: what is "core" in relation to "CORE"?
15:08 pmichaud CORE is not really a package name
15:09 it's a pseudopackage
15:09 PerlJam so, src/core is really just a place to put all of the items that are nuclear to rakudo?
15:09 pmichaud eh, I could go either way.  I just think I don't want a lot of ALLCAPS in my pathnames :)
15:09 PerlJam kind of like a kernel?
15:09 pmichaud nuclear to Perl 6
15:10 as the synopsis says... "definition of standard Perl"
15:10 PerlJam so, again, what is "core" in relation to "CORE"?  Might the similar name cause confusion if they are really unrelated?
15:11 or marginally related
15:11 pmichaud they aren't unrelated, or even marginally related
15:11 they're definitely related
15:11 PerlJam and if they're tightly coupled, mightn't they have the same name?
15:11 pmichaud src/core is where we find the things that ultimately live in the CORE pseudonamespace
15:12 anyway, I feel more comfortable with the l/c
15:12 I'm not likely to be talked out of this one... kinda like when I was talked into using  src/gen_*.pir  instead of src/gen/*.pir  and lived to regret it
15:13 if I end up being wrong, you get a free "I told you so"  :)
15:13 alester joined #perl6
15:13 PerlJam that's okay I'm done being the devil's advocate :)
15:13 masak good. the devil has enough advocates. :P
15:14 pmichaud jnthn: let me know when you have something in src/core that you want staged
15:14 Wolfman2000 Before I head off to take care of college classes and stuff...do you guys think OO is the future for Perl 6?
15:14 pmichaud I'll do the makefile updates then
15:14 OO is the foundation for Perl 6.  :)
15:14 moritz_ Wolfman2000: one of the futures :-)
15:14 masak Wolfman2000: I'm not sure I understand the question.
15:15 moritz_ multi dispatch and regexes are other futures
15:15 pmichaud under the covers, Perl 6 is almost totally OO.
15:15 masak Wolfman2000: it's like asking 'do you think water is the future of mankind'?
15:15 Wolfman2000 masak: don't worry about it
15:15 pmurias masak: you mean all of the dead ones? ;)
15:15 pmichaud Perl 6 lets you do other forms of programming if you wish, but underneath it's pretty OO
15:15 Wolfman2000 right...grammars. That's something I'll need to work on.
15:15 masak Wolfman2000: next time, let's study E-prime together. :P
15:15 Wolfman2000 e prime is just e
15:15 Discussion done.
15:16 jnthn pmichaud: "want staged"?
15:16 masak Wolfman2000: well, without 'is'.
15:16 PerlJam Wolfman2000: you can still code in a completely non-OO, procedural way if you want to, it's just hard not to use OO  :)
15:16 pmichaud jnthn: as in creating a stage 1 compiler
15:16 jnthn pmichaud: My first task is re-building a couple of bits of traits.pm.
15:16 pmichaud jnthn: as in, let me know when you need the makefile updated :)
15:16 jnthn pmichaud: But we can't parse all of it yet.
15:16 pmichaud right
15:16 Wolfman2000 PerlJam: Then it looks like all of you will have to bring me up to speed on how Perl 6 classes are done. Granted, I have a few under my belt now, but...I still have awhile to go.
15:16 jnthn pmichaud: Oh, the sooner the better.
15:16 Wolfman2000 But not now
15:16 jnthn pmichaud: I mean, if I want inheritance to work again for example...
15:17 pmichaud but I can't really update the makefile until I have something to make
15:17 jnthn oh
15:17 :-)
15:17 how picky :-)
15:17 Moment then. :-)
15:17 pmichaud well, I *can*, but....
15:17 pnate2 joined #perl6
15:18 Wolfman2000 I'll see you guys later...unsure when.
15:18 * pmichaud goes to work on end blocks for a bit
15:19 jnthn pmichaud: Will commit something for you in a moment. :-)
15:19 pmichaud what do we call BEGIN, CHECK, INIT, END, etc.?  runtime stages?  phases?
15:19 jnthn (just want to check it actually parses. ;-))
15:20 Hmm. We tend to talk about "at BEGIN time" and so on.
15:20 But "times" is kinda...meh. :-)
15:20 masak 'time blocks'
15:20 sounds kinda cool.
15:20 PerlJam well, they're all hooks into various "times" within the compilation/execution
15:21 perl5 docs call them "named special code blocks"
15:21 pmichaud I know what to call the blocks
15:21 that's "closure trait"
15:22 I need to know what to call the times when those blocks are executed
15:22 as you said, "BEGIN time", "END time", etc
15:22 masak 'shouted times'? :)
15:22 pmichaud I kind of like "shout times"  :)
15:22 masak :)
15:23 jnthn .oO( DINNER { ... } )
15:23 PerlJam "temporal executions"
15:23 loud temporal executions.
15:23 pmichaud maybe I'll go with "shouttime" for now.  or "loudtime"
15:24 If TimToady can do nibbles and quibbles and babbles, I can have loudtimes :)
15:24 nah, "shouttimes"  for now
15:24 maybe "exectime"  ?
15:24 PerlJam shoutimes +1  :)
15:25 er, shouttimes even
15:25 jnthn when-ness.
15:25 pmichaud no, "when" means something different :-)
15:26 Psyche^ joined #perl6
15:26 jnthn pmichaud: src/core/traits.pm has sprung into a very minimal existence.
15:26 masak "exectime" sounds too much like "runtime".
15:27 pmichaud jnthn: wfm
15:27 I'll configure it now
15:27 masak: well, it technically is "runtime"
15:27 it's just that there are many stages of "runtime"
15:27 there's "BEGIN time", "INIT time", ....
15:28 masak pmichaud: well, BEGIN is spec'd as "at compile time".
15:28 pmichaud right
15:28 masak but I see what you mean.
15:28 pmichaud "compile time" is a form of runtime for a language like Perl
15:29 jaffa8 hi
15:29 is there compile time thingy in Perl 6?
15:29 pmichaud I don't know that we have a good name for something that encompasses both "compile time" and "run time"
15:29 jnthn whenever
15:29 masak jaffa8: yes, there is compile time thingy in Perl 6.
15:29 PerlJam Perl 6 doesn't seem to have UNITCHECK blocks specced.   I wonder if that's on purpose
15:29 masak jaffa8: see S04.
15:30 jaffa8 I do not want to read.
15:30 masak PerlJam: I'm pretty sure it is.
15:30 pmichaud "lifetime", perhaps
15:30 moritz_ jaffa8: then don't start an IRC client
15:30 jaffa8 that requires less reading.
15:30 masak jaffa8: I wasn't implying you must read S04. just that what you're asking about is there.
15:30 moritz_ well, I'm not going to read S04 for you
15:31 jaffa8 Is it possible to generate code during compile time?
15:31 pmichaud the "lifetime" of a program goes through various stages, including compile time (BEGIN, compile, CHECK)  and run time (INIT, run, END)
15:31 masak jaffa8: how do you mean?
15:31 * PerlJam wonders why UNITCHECK even exists in Perl 5.
15:31 PerlJam What's the use case?
15:32 jaffa8 imagine a piece code runs during compile time returning a piece code which is compiled immediately
15:32 pmichaud awesome, traits.pm compiles :)
15:32 jaffa8: in Perl, we tend to call that "BEGIN"
15:33 jnthn pmichaud: Yes, I was in a kind enough mood to give you something that would. ;-)
15:33 PerlJam jaffa8: yes, Perl will (does) have the ability to mutate the compile on the fly.
15:33 moritz_ isn't that more like a macro
15:33 pmichaud yeah, macro too
15:33 but macros run at BEGIN time :)
15:33 jnthn: thank you for your kindness :)
15:34 beggars joined #perl6
15:34 * masak throws beggars a penny
15:35 * jnthn has already cent him one
15:35 beggars ew
15:35 masak jnthn: we're down to small change in jokes, I see. :)
15:36 jnthn masak: Yeah, but we'll still pound them into channel anyway.
15:36 jaffa8 down,down, all goes down...
15:38 masak jnthn: now there's a risk of inflation among the jokes instead.
15:38 * pmichaud thinks a bit about separate compilation for the core files
15:39 moritz_ pmichaud: remember, there's a branch for that
15:39 pmichaud oh?  branch name?
15:39 (I missed that it went into a branch)
15:40 moritz_ the old one, which I started before the ng refactor
15:40 pmichaud split-gen-setting2?
15:40 jnthn masak: I think we'll be able to get full marks for our jokes soon.
15:40 moritz_ right
15:41 pmichaud oh, I see, it does magic in Configure.pl
15:41 hmmm.  I'm not so sure I like that.
15:42 at the least I'd prefer to see the setting magic broken out into a separate script
15:42 but it's a good idea that I hadn't thought of yet
15:42 so....
15:42 masak jnthn: to be totally franc with you, I think this will be our crowning acheivment.
15:42 * pmichaud pounds masak
15:42 PerlJam (multi-national currency jokes)++
15:42 * masak flattens out into a bill
15:43 PerlJam (multi-national currency jokes  that have gone too far)--
15:43 pmichaud oops, jnthn used that already.  once again, I'm a day late and a dollar short
15:43 (being able to put everything on credit, priceless)
15:43 PerlJam ah, finally the american version  :)
15:43 masak enough with this roubling around.
15:43 PerlJam (We don't need currency, we have credit!)
15:44 pmichaud yeah, time to get real
15:44 masak life is complex enough as it is.
15:44 pmichaud I'll put in separate compilation a bit later
15:44 I like the "generate the setting portion" idea of the makefile, but would like it encapsulated a bit better
15:45 perhaps a better approach is a generic .pm-to-.pir makefile rule
15:45 moritz_ maybe I can work on that over the weekend
15:45 pmichaud: I don't think these generic rules are all that portable
15:45 pmichaud they are for the simple cases
15:46 (which this would be one)
15:47 it would mean that the generated .pir files would want to live in src/core/ instead of src/gen/, though, and that's not so good
15:47 moritz_ yes, you'd need replacement rules
15:47 and I don't know if they are still portable
15:48 pmichaud the other possibility is a perl script in build to create the .pirs
15:48 somehow I really want to keep Configure.pl pretty clean and avoid too much magic there
15:48 modular magic is better :)
15:48 moritz_ perl script = bad (not parallelizable)
15:48 at least not without additional effort
15:49 what about a separate script which does the conf magic, which is called from Configure.pl?
15:49 pmichaud 15:42 <pmichaud> at the least I'd prefer to see the setting magic broken out into a separate script
15:49 moritz_ ah, right :-)
15:49 and a separate build/corefiles with a list of core files?
15:49 pmichaud that script could read the Makefile or Makefile.in
15:50 so the configuration remains in Makefile.in
15:50 moritz_ so Configure.pl would work its own magic, and then pipe the intermediate result to build/coremagic.pl, which then prints to Makefile?
15:51 pmichaud pipe wasn't what I was thinking, no.
15:51 not entirely sure yet
15:51 moritz_ separate file?
15:51 pmichaud I'll figure it out in a day or so
15:51 let me get this done for jnthn++ now so he can work on class inheritance
15:52 moritz_ sure, no hurry on my part
15:52 just let me know if you need somebody to do perl 5 grunt work for you
15:52 pmichaud will do
15:54 japhb joined #perl6
15:55 rgrau joined #perl6
15:59 frettled On a totally unrelated note: did someone get help from Freenode support/whomever to gain more permanent control over the channel, so that we don't really need to keep track of channel operators?
15:59 jnthn I seem to remember we concluded it was more hassle than it was worth.
15:59 And the current model works fine.
16:00 Or something like that. :-)
16:00 moritz_ frettled: I learned that it is quite some effort to do it the official way, and decided against it
16:00 if anybody volunteers: feel free
16:03 frettled moritz_: ah, so no news since that try, then :D
16:07 Perhaps we could settle it by sending them a camel book + Camelia print-out signed and stamped by TimToady?  ;)
16:07 moritz_ somebody needs to JFDI
16:08 hsb joined #perl6
16:08 jrockway joined #perl6
16:08 moritz_ but I don't feel appointed this time, and it looks like nobody else does either
16:08 krunen joined #perl6
16:09 jjore joined #perl6
16:09 mubot joined #perl6
16:09 frettled I just sent a privmsg to christel briefly outlining our ... hmm ... situation.
16:09 akl joined #perl6
16:09 pmichaud don't we just need to register the channel?
16:09 or is it already registered?
16:09 frettled alternative B)
16:10 moritz_ pmichaud: it is registered, and the owner vanished
16:11 pmichaud chanserv says it's founded by the freenode staff
16:11 moritz_ so it's now registered to freenode-staff
16:11 pmichaud got it
16:11 pmurias audreyt was the channel owner?
16:11 moritz_ yes, think so
16:11 pmichaud and to get it re-registered to someone else, we ... ?
16:12 moritz_ need to fill out a form, get some phone calls...
16:12 pmichaud okay
16:12 I think I'll just jfdi
16:12 s/just//
16:12 moritz_ http://freenode.net/group_registration.shtml
16:12 masak pmichaud++
16:13 pmichaud let me take it on a bit.  since I have a bit more of an "official" position regarding perl 6 I might be able to get somewhere
16:14 moritz_ pmichaud++
16:15 pmichaud I also should probably register #pmwiki to my name, for similar reasons
16:15 masak I'm following the recovery of audreyt++ on Twitter. it's comforting to read she's having -Ofun. http://twitter.com/audreyt/status/5422495206
16:15 frettled pmichaud: registering a channel to a single person is easy
16:15 pmichaud (someone else founded the #pmwiki channel 5 years ago, so it would be good for me to get control of it as well)
16:15 frettled pmichaud: ah.
16:16 moritz_ (and then maybe I can teach hugme to automatically /voice the bots)
16:16 frettled Spam alert:
16:16 17:15:23 [msg(christel)] So if I read  http://freenode.net/group_registration.shtml correctly, it is  technically possible for us to grant essential privileges to a set of  people, so that we don't end up in a situation where a person  disappears and leave us hanging dry?
16:16 17:16:02 [christel(i=christel@freenode/staff/exherbo.christel)] correct
16:18 masak that sounds good.
16:18 frettled Yep.
16:19 Three or four people with some amount of stability, perhaps one of them a group e-mail address that we anticipate working for a long time?
16:20 * moritz_ proposes TimToady, pmichaud, PerlJam, masak
16:20 * masak proposes moritz_
16:20 masak and jnthn.
16:20 * PerlJam ears perks up
16:20 jnthn what? what?
16:20 PerlJam what am I being proposed for?
16:20 masak :)
16:21 frettled PerlJam: responsibility, nothing to worry about.
16:21 TimToady sort of a group marriage
16:21 jnthn proposal..
16:21 moritz_ PerlJam: channel co-owner
16:21 jnthn scary
16:21 PerlJam oh.  Okay.
16:21 jnthn Oh, just some irc responsibilities. Phew.
16:21 PerlJam count me in.
16:21 masak whoz op? :)
16:21 moritz_ frettled: would they be happy with a mailing list?
16:21 if so, perl6-users@perl.org
16:22 frettled moritz_: I have no idea.
16:22 moritz_: I bet it's readily apparent from the form that pmichaud is looking at.
16:22 nihiliad joined #perl6
16:23 BinGOs really push it and ask for hostname masking.
16:23 frettled masak: the good thing is that we won't need op after that, $responsibleperson can request op from ChanServ in case the need arises. :)
16:23 masak frettled: nod.
16:23 moritz_ BinGOs: what is hostname masking good for?
16:24 BinGOs erm masking your hostname
16:24 moritz_ that's what it does. What is it good for?
16:24 privacy?
16:24 BinGOs that and showing you are in the perl6 gang >:)
16:25 I was being a mixture of flippant.
16:25 PacoLinux joined #perl6
16:26 am0c joined #perl6
16:27 PacoLinux joined #perl6
16:28 * moritz_ has to buy some food, bbl
16:28 PZt joined #perl6
16:28 frettled good eating
16:28 masak have the appropriate amount of some food!
16:28 frettled -Ofood
16:28 better than -Ofud
16:29 jnthn -Omnomnom
16:30 PerlJam that seems very chant-like
16:30 masak rakudo: "-Ofood".subst(/:i OO/, 'U').say
16:30 p6eval rakudo 5e05b8: OUTPUT«-OfUd␤»
16:30 masak hm, how do I make that '-Ofud'?
16:31 jnthn pmichaud: oh good, I fixed attributes. :-)
16:31 > class Foo { has $!x; method bar { $!x = 42; }; method baz { say $!x } }
16:31 > my $x = Foo.new; $x.bar; $x.baz;
16:31 42
16:31 lambdabot <no location info>: parse error on input `class'
16:31 <no location info>: parse error on input `='
16:31 jnthn \o/
16:31 ooooh...now we have mubot, can I kick lambdabot? ;-)
16:33 masak is mubot primed with everyone's original karma?
16:33 not that it matters... :)
16:33 PerlJam Isn't everyone's original karma 0?  ;)
16:33 jnthn masak: It wasn't a completely serious "let's do this now" :-)
16:33 masak PerlJam: good point. :)
16:33 jnthn Just hope that one day, I'll be able to paste from the repl or talk about arrays and not have a bot spew crap into the channel. :-)
16:34 * masak meant 'current karma'
16:34 masak jnthn: it's funny; I used to think lambdabot was really well-behaved. guess I've become more picky since then.
16:34 jnthn masak: Well, it is...compared to purl.
16:34 pmichaud it just recognizes too many characters as addressing it
16:35 masak jnthn: purl is just pure annoyance in bot form.
16:35 jnthn masak: Yeah. Really high noise to signal ratio.
16:36 masak "but I already had it that way, jnthn".
16:37 diakopter HALP
16:37 [particle]1 joined #perl6
16:38 pmichaud oh, hey, I wonder how many of these build/*.pl scripts we could rewrite into nqp?  ;-)
16:38 oh well, future task :)
16:40 oh, we might not want the src/core/ files separately compiled
16:40 hmmm
16:40 jnthn pmichaud: 'cus they need to reference each other?
16:40 pmichaud partially, yes
16:41 but also because they end up with a common lexical scope
16:41 it might be easier to build that lexical scope if they're all in one file
16:41 TimToady you can theoretically import them into one lexical scope
16:41 jnthn Yeah, true. Hmm.
16:41 TimToady but I've been running my CORE.setting as one file so far, but it's not complete
16:42 pmichaud TimToady: yes, we can likely do that as well, but it takes a bit more work on Parrot
16:42 it's easier if they're all in a single file to begin with, because that implies a common lexical scope
16:42 s/single file/single compilation unit
16:43 TimToady where #include when you need it?  :)
16:43 *where's
16:43 masak just noticed: the perl6 executable, when started without arguments, has '> ' as a prompt. irb has '>> ', and python has '>>> '. :)
16:43 pmichaud we have that.  It's called "cat"
16:43 beggars joined #perl6
16:43 pmichaud masak: I'm fine with changing the prompt, fwiw
16:44 jnthn I think ours is better huffmanized.
16:44 ;-)(
16:44 masak only python gets the output-final-newline-after-ctrl-D detail right.
16:44 pmichaud btw, I started work yesterday on a better repl
16:44 TimToady obviously shorter is better, so maybe we'd better claim '' as well
16:44 masak hm, maybe I should RT that.
16:44 pmichaud++
16:44 pmichaud given recent changes to parrot iterators, we might even be able to do a reasonable version
16:44 we'll know in a few days
16:45 frettled I think the prompt ought to be something other than a typical Unix shell redirect.
16:45 TimToady is the use of '> ' a claim to be a Lisp variant?
16:45 masak TimToady: maybe we should have »ö« as a prompt :)
16:45 frettled A colon is safer, a hash is very safe.
16:45 pmichaud masak +1
16:45 jnthn pmichaud: Did you have any epic dislike to the way I did trait handling in the actions in master?
16:45 pmichaud I think that will be one of my next changes :-)
16:45 masak bit tough on non-latin-1 consoles, though.
16:45 pmichaud jnthn: I haven't looked yet
16:46 jnthn OK, I'll do similar in ng, and you can look at it and hopefully fail to dislike it there. :-)
16:46 pmichaud masak:  maybe >>o<<   then?
16:46 masak pmichaud: nod.
16:46 pmichaud the "Texas Camelia"  :-)
16:46 TimToady hmm... bash: »ö«: command not found
16:46 frettled ah, append to o and then ...
16:46 masak double the wingspan!
16:46 frettled: and then a heredoc.
16:46 TimToady but what if someone adds a »ö« command?
16:46 pmichaud or maybe Texas Camelia is really   >>O<<
16:47 it's just a prompt.  :)
16:47 masak pmichaud: >>()<< :)
16:47 pmichaud I still might do the latin-1 version and just see who carps
16:47 (in the ng branch, at least)
16:47 masak aye.
16:47 pmichaud we can still change it if it doesn't work out
16:47 I just think it's so.... distinctive
16:48 frettled I'm carping already!  I'm carping like I was on the edge of a Japanese garden's pond!
16:48 pmichaud and it's like   "hey, Camelia, could you do this for me...?"
16:48 frettled # »ö«
16:48 TimToady we're going to drag everyone kicking and screaming into the age of Latin-1, oh no!
16:48 pmichaud utf8, actually.  :)
16:48 TimToady don't tell anyone
16:49 pmichaud jnthn: oh, you asked about "in master"
16:49 jnthn .oO( oh f**k, I might need a new terminal )
16:49 pmichaud jnthn: I don't have any epic dislike that I recall
16:49 jnthn pmichaud: Right.
16:50 pmichaud: Good. I already started dragging it over.
16:50 pmichaud: Of course, the action method that was big is split up. :-)
16:50 pmichaud this is a good thing
16:50 jnthn Well, it's a "woo protoregexen" thing. :-)
16:50 I see you only put in the trait mod that you *wanted* to parse. :-P
16:51 * jnthn goes to find the rest from STD :-)
16:51 pmichaud ?
16:51 oh, yeah.
16:51 nqp has only needed trait_mod:<is> thus far
16:51 jnthn :-)
16:51 pmichaud and nqp definitely works from a "don't add until needed" philosophy
16:51 jnthn wfm
16:52 pmichaud makefile changes incoming
16:52 jnthn \o/
16:52 Excellent timing.
16:52 pmichaud oops, someone else pushed a bunch of stuff
16:52 rechecking
16:52 jnthn Gah, there's always *someone*.
16:52 Oh, wait...
16:52 :-)
16:54 pmichaud TimToady: in scrollback there's a brief discussion about the term to use to refer to the BEGIN, CHECK, INIT, END stages of execution -- is there a good name for those?
16:54 so far we have "shouttimes" but any suggestion from you would be appreciated :)
16:55 TimToady phase boundaries, maybe
16:55 but that doesn't work for some of them
16:55 pmichaud well, I'm primarily interested in the four global scope ones at the moment
16:55 "global scope"
16:56 TimToady well, more like UNIT scope
16:56 pmichaud yeah
16:56 TimToady and process scope, but yeah
16:56 pmichaud jnthn: pushed
16:57 I can go with "phase" for now
16:57 maybe "unit phases"
16:57 TimToady well, phase is the bits between them
16:57 pmichaud or "unit phase boundaries"
16:57 "unit phase transitions"
16:57 TimToady so we need something like mumble hooks
16:57 comefroms :)
16:57 pmichaud "phase hooks" ?
16:58 masak "shout hooks" :)
16:58 TimToady event hooks
16:58 pmichaud oh, event hooks isn't too bad, if it doesn't pun too much with other forms of event programming
16:58 masak +1
16:58 pmichaud unit hooks
16:58 masak that sounds like a hook with length 1.
16:58 TimToady time hooks
16:59 pmichaud I'll go with one of event hook or time hook for now
16:59 we can update it later, it's largely internal
16:59 masak spacetime hooks.
16:59 pmichaud captain hooks.
16:59 TimToady hookahs
16:59 pmichaud "on the" and "off the" hooks
17:00 masak phasetime hooks.
17:00 TimToady Set phasers on 'hook', gentlemen.
17:00 pmichaud oooh,
17:00 TimToady phasers
17:00 masak we come in peace, shoot to kill.
17:00 pmichaud "phasers"
17:00 yes.
17:00 TimToady phasers ftw
17:01 masak the BEGIN phaser.
17:01 TimToady STUN {...}
17:01 pmichaud phaser it is
17:01 masak dang, this brainstorming thing really works!
17:02 TimToady but now we're going to be fighting over who really thought of it first forever, since pmichaud and I thought of it simultaneously, give or take a bit of spacetime
17:02 pmichaud I credit masak, actually
17:02 masak I'm innocent!
17:02 pmichaud phasetime hooks
17:02 TimToady he gets and assist
17:02 *an
17:02 pmichaud okay
17:02 KyleHa joined #perl6
17:02 masak but I've already tweeted about this. :)
17:02 pmichaud then it's TimToady ftw
17:03 TimToady had the genius, I just recognized it :)
17:03 * pmichaud likes his method names now:   "add_phaser"... "trigger_phaser".....
17:03 TimToady you're gonna give me a swelled head...oh wait...
17:03 KyleHa set_phaser('stun')
17:03 pmichaud no, wait  "fire_phaser"
17:04 better
17:04 masak pmichaud++
17:04 pmichaud you realize, of course, that we need photon torpedos next.
17:04 which just means that something in Perl 6 needs to be a photon
17:04 TimToady turbolasers, to give starwars equal time
17:04 fax joined #perl6
17:05 frettled Photon torpedoes?
17:05 pmichaud nah, Star Wars should get the light sabers
17:05 as opposed to the dark ones
17:05 fax joined #perl6
17:05 jnthn TimToady: Last time I stole from STD, I'm pretty sure trait_mod:<is> pasred a postcircumfix. Now it parses a circumfix. Why?
17:05 erm, parsed
17:05 masak which kind do sabre-toothed tigers have?
17:05 TimToady you realize what the programming language for genesis was...
17:05 frettled Photon torpedoes are from Star Trek, proton torpedoes from Star Wars.
17:06 jnthn (sorry to ask a question without a high-tech weaponary theme... :-))
17:06 frettled jnthn: for once, I parsed that as «sexually transmittable disease»
17:06 pmichaud jnthn: in STD there was generally a recognition that some things originally postcircumfix made more sense as circumfix
17:06 for example,   colonpairs were originally postcircumfix, but   :foo(1,2,3)   has much more in common with   (1,2,3)  than .(1,2,3)
17:06 TimToady jnthn: because semantically it's foo => (1,2,3)
17:06 masak frettled: thank you for sharing.
17:06 jnthn frettled: Oh, I hate it when I get a miss on pugscode and end up at Wikipedia for that.
17:07 TimToady: OK.
17:07 Sort of.
17:07 cogno joined #perl6
17:07 TimToady likewise bar => [4,5,6]
17:07 pmichaud jnthn: I just had to do a similar thing for method deflongname($/) { ... }
17:08 jnthn Can I just take the AST that circumfix gives me back and shove it into the trait dispatch, I wonder...
17:08 pmichaud likely
17:08 jnthn I'll try that as a first approximation. :-)
17:08 _jaldhar joined #perl6
17:08 pmichaud the circumfix AST for   <abc>   ends up with a PAST::Val constant string node
17:08 the circumfix AST for <abc def>  would be a constant List
17:09 TimToady not to mention baz => { .say }
17:09 pmichaud jnthn: I think you'll find that circumfix is what you wanted in the first place anyway :)
17:10 (this, btw, is why the old rakudo never handled   :foo[1,2,3]  or :foo<bar baz> quite properly, because it was based on the old postcircumfix interpretation and was too hard to fix)
17:10 TimToady would it help if we renamed circumfix to turbolaser?
17:10 masak lacks a bit in clarity, doesn't it?
17:10 pmichaud I think it cuts right to the core of the matter
17:10 jnthn pmichaud: I think it may well just do the right thing.
17:10 pmichaud jnthn: so do I
17:11 it's why I asked for the switch to circumfix in the first place (for colonpairs)
17:11 more things just do the right thing :)
17:11 TimToady DTRT++
17:11 pmichaud right now the right thing for me to do is grab lunch
17:11 I'll write my phasers when I get back
17:12 TimToady I love it when a plan implodes.
17:12 pmichaud masak++ again, just because
17:12 [particle]1 stunning punning, folks
17:12 pmichaud my wife will really enjoy hearing about this tonight
17:12 am0c oops, I did a search to know what 'phasers' are in Perl 6, and wiki says it's a weapon.
17:13 pmichaud it is a weapon, you have to be careful how you use it
17:13 TimToady Perl 6 allows you to shoot yourself in the foot with your phaser.
17:13 pmichaud that's why they're in all caps...   "hey, kid, be careful with this thing!"
17:14 justatheory joined #perl6
17:14 masak [particle]++ # 'stunning punning'
17:14 am0c er...
17:14 TimToady so we should rename CONTROL to STUN :)
17:14 SmokeMachine joined #perl6
17:14 masak END also sounds quite violent.
17:15 TimToady die sounds peaceful
17:15 jaffa8 you could have used
17:15 suicide
17:15 am0c then how about PEACE
17:16 pmichaud ETERNITY
17:16 FOREVER
17:16 jaffa8 exitprog.
17:16 pmichaud AMEN
17:16 "so be it"
17:16 frettled Make it so.
17:16 pmichaud more like "It is done."
17:16 TimToady STABLE
17:16 pmichaud DEAD
17:16 END
17:16 oh, wait.
17:17 frettled TimToady++ the FreeBSD folks will like that ;)
17:18 pmichaud okay, time for me to set phasers on LUNCH
17:18 * pmichaud turns on his microwave.
17:27 cdarroch joined #perl6
17:30 icwiener_ joined #perl6
17:34 Juerd Phasers?
17:34 pmichaud Phasers.
17:34 Juerd Really... phasers? :)
17:34 <3!
17:34 pmichaud a set of phasers to be fired is called a "phaser bank"
17:35 so right now my methods are   add_phaser($bank, phaser)    and   fire_phaser_bank($bank)
17:35 pugs_svn r29004 | lwall++ | [S04] Set phasers to stun!
17:35 jnthn -Ofun ftw
17:35 pmichaud so   fire_phaser_bank('CHECK')   causes all of the CHECK phasers to be fired
17:35 TimToady .oO(Set phasers to fun!)
17:36 pmichaud it's mostly internal stuff, except for the S04 change that TimToady++ just committed
17:36 might do it as   %PHASER<CHECK>.add_phaser   and %PHASER<CHECK>.fire_all
17:37 Juerd Why use fire_phaser_bank instead of a plural, fire_phasers?
17:37 pmichaud have to be careful with adding things to %PHASER<BEGIN>, though -- it has a hair trigger
17:37 it tends to fire the phaser as soon as it's added
17:37 Juerd %PHASER<CHECK>».fire?
17:37 Or do they have to run in order? :)
17:37 pmichaud They have to run in order
17:38 LIFO, in fact
17:38 Juerd >>> is a bit ugly :(
17:38 pmichaud oh, it might just be   .push and .fire
17:38 we'll see
17:39 for now I'm doing it with private subs -- easier to code
17:39 * pmichaud goes to read r29004
17:39 pmichaud I wonder if Damian will throw a "you think that's cute today" exception.
17:40 Juerd These things have always needed a name.
17:40 pmichaud probably not.  I bet he's already making evil plans for phasers in his code.
17:40 jnthn tssk tssk
17:40 pmichaud wormhole++
17:41 jnthn Actions.pm compile speed
17:41 pmichaud you need a wormhole.  Or Damian.
17:41 jnthn: yeah, needs profiling
17:41 jnthn Epicly.
17:41 pugs_svn r29005 | moritz++ | [t/spec] fix some smartlinks
17:41 * moritz_ thought the new NQP was soooo fast? ;-) *SCNR*
17:42 [particle] i will sing the praises of the hacker who rewrites smartlinks.pl in nqp
17:42 pmichaud moritz_: it's still heavily unoptimized
17:42 unlike PGE which was fairly well optimized, but not extendable
17:43 I'll do a profiling run on actions.pm while I'm out at lunch
17:43 jnthn That also got slower after the calling conventions changes landed too, though.
17:43 pmichaud yeah, troo
17:43 although it should be pretty close to a wash at this point
17:44 NQP's regexes don't require making a bunch of unused hash objects
17:44 pugs_svn r29006 | moritz++ | [t/spec] fix more smartlinks and comments
17:44 jnthn When I benchmarked the two before now, they were about equal.
17:44 pmichaud but it does a lot more method calling in the body of the regexes, which is (I think) where we're getting a speed hit
17:44 jnthn Yeah.
17:44 pmichaud fortunately, I wrote the code so that those calls can be easily inlined
17:44 jnthn Oh, cool.
17:44 pmichaud I just need to do the inlining
17:44 jnthn *nod*
17:44 pmichaud I might look at that next
17:45 speeding that up would improve the whole compile process
17:45 jnthn Well, it's not quite at the "omg PAIN" point yet, but yes.
17:45 Actually though
17:45 I'm still not totally convinced that's where it's hurting.
17:45 pmichaud oh, I should benchmark parse versus compile
17:45 pugs_svn r29007 | moritz++ | [t/spec] rename files with s/closure-traits/phasers/
17:45 jnthn Yeah
17:46 pmichaud it might not be the parse that is slow anymore
17:46 jnthn Oh, I think actually it may be significant.
17:46 pmichaud oh, I'm sure it's still slowish
17:46 jnthn It takes a long while to get a syntax error if I make one in the last sub.
17:46 SmokeMachine joined #perl6
17:46 pmichaud I know that the p6regex benchmarks are still slower than pge
17:46 but there I can't tell if it's slower regex compilation speed or slower regex execution speed
17:46 regex compilation speed isn't a cost for Actions.pm
17:47 jnthn I'm not quite at the point of writing new code at the top of Actions.pm. ;-)
17:47 So I get the syntax errors faster.
17:47 ;-)
17:47 pmichaud anyway, yes, I've noticed the slowness too, and it's enough of a burr that I may try to file it down a bit more
17:48 jnthn It'll only hurt more as we build things up.
17:48 pmichaud right
17:48 thus worth looking into now
17:48 jnthn Yeah
17:48 pmichaud because when things get big, it takes longer to profile
17:48 jnthn Yes, very good point.
17:49 * moritz_ wasn't aware we had START blocks in rakudo
17:49 pmichaud we did indeed :)
17:49 jnthn++
17:49 jnthn I thought we even had passing tests for those. :-)
17:49 moritz_ rakudo: sub f() { START { say 2 } }; say 1; f(); say 2; f()
17:49 p6eval rakudo 5e05b8: OUTPUT«1␤2␤2␤»
17:49 moritz_ jnthn: we have; that's how I became aware of them
17:49 jnthn If we didn't, I need smacking for not adding them. :-)_
17:49 Ah, cool.
17:49 I think I did them at the same time as state variables.
17:50 pmichaud: Parsing traits and building trait AST up just about to land.
17:50 pmichaud jnthn: excellent
17:50 I'm going to lunch while pprof2cg crunches on the profiling run
17:50 jnthn oooh, I like long lunches.
17:51 ;-)
17:51 pmichaud heh
17:51 no, if I get back before it's finished, I'll finish my phaser construction set
17:51 afk
17:52 estrai joined #perl6
17:59 masak "You need a wormhole for that." :)
18:04 pugs_svn r29008 | moritz++ | [t/spec] as per r29002 :repl is now called :replace
18:08 dalek rakudo: 6670e70 | moritz++ | t/spectest.data:
18:08 rakudo: [t/spectest.data] track filename changes
18:08 rakudo: review: http://github.com/rakudo/rakud[…]c5014615777dfd651
18:08 rakudo: 830e2cf | moritz++ | src/setting/Any-list.pm:
18:08 rakudo: the named argument to .pick is now called :replace
18:08 rakudo: review: http://github.com/rakudo/rakud[…]299f6e44d1ba4ba81
18:13 jnthn std: if defined $var { say "not ok 1" } else { say "ok 1" }
18:13 p6eval std 29007: OUTPUT«Potential difficulties:␤  Variable $var is not predeclared at /tmp/sGLMS7Hw0a line 1:␤------> if defined $var { say "not ok 1" } else { say "ok 1" }␤ok 00:02 107m␤»
18:15 diakopter std: if declared $var { say "not ok 1" } else { say "ok 1" }
18:15 p6eval std 29007: OUTPUT«Potential difficulties:␤  Variable $var is not predeclared at /tmp/mfIVQE5dfc line 1:␤------> if declared $var { say "not ok 1" } else { say "ok 1" }␤Undeclared routine:␤ declared used at line 1␤ok 00:02 105m␤»
18:21 pugs_svn r29009 | lwall++ | [STD] switch to ++pmichaud's <O()> form
18:23 jnthn hubris win
18:26 KyleHa Is it true that for 'foo'.substr( $pattern, $replacement ), the $pattern must be a Regex, and not Code?
18:27 Er, bu 'substr', I mean 'subst'.
18:27 s/bu/by/
18:29 I ask since any-str.pir says "Code", and the spec doesn't seem to say that, and RT 66340 says that may be wrong.
18:30 I guess I'll check back later for an answer.
18:42 stephenlb joined #perl6
18:45 tylerni7 joined #perl6
18:46 cotto_work joined #perl6
18:57 mj41 joined #perl6
19:06 moritz_ rakudo: say (rx/foo/).WHAT
19:06 cognominal joined #perl6
19:06 p6eval rakudo 830e2c: OUTPUT«Regex()␤»
19:06 TimToady KyleHa: well, technically, all regexes are code, though they're actually methods on the current Regex language, known as $~Regex
19:07 and to actually run, they require instantiation of a Cursor
19:07 but /.../ normally hides that from you
19:08 I'd guess that anything that looks sufficiently like a Match object could beput as the first arg, though
19:10 rakudo: say "foo".subst( { from => 1, to => 3 }, 'OO' )
19:10 p6eval rakudo 830e2c: TIMED_OUT
19:11 TimToady oh, those are supposed to be methods
19:12 rakudo: say "foo".subst( class { has $.from = 1; as $.to = 3 }.new, 'OO' )
19:12 p6eval rakudo 830e2c: OUTPUT«Confused at line 2, near "( class { "␤in Main (file <unknown>, line <unknown>)␤»
19:12 TimToady rakudo: say "foo".subst( (class { has $.from = 1; as $.to = 3 }).new, 'OO' )
19:12 p6eval rakudo 830e2c: TIMED_OUT
19:13 TimToady rakudo: say "foo".subst( (class { has $.from = 1; has $.to = 3 }).new, 'OO' )
19:13 p6eval rakudo 830e2c: TIMED_OUT
19:13 diakopter something about p6eval..
19:13 TimToady rakudo: say "foo".subst( (class FakeMatch { has $.from = 1; has $.to = 3 }).new, 'OO' )
19:13 p6eval rakudo 830e2c: TIMED_OUT
19:14 diakopter hm
19:14 maybe I'll rollback the timeout thing temporarily
19:15 TimToady rakudo: class FakeMatch { has $.from = 1; has $.to = 3 }; say "foo".subst( Fakematch.new, 'OO' )
19:15 p6eval rakudo 830e2c: TIMED_OUT
19:16 TimToady rakudo: class FakeMatch { has $.from = 1; has $.to = 3 }; say "foo".subst( FakeMatch.new, 'OO' )
19:16 p6eval rakudo 830e2c: TIMED_OUT
19:16 diakopter hang on
19:17 TimToady is probably still trying to call the FakeMatch like a Regex
19:18 p6eval joined #perl6
19:18 * diakopter waits for tryfile STD.pm to finish
19:18 diakopter on p6eval
19:20 weird.
19:20 while the ./perl6 /tmp/something   process is still running, I run `less /tmp/something` and that file doesn't exist
19:20 and it really does have 100% cpu for 15 seconds
19:24 * diakopter should make a copy of the rakudo executor and cat the/file >> cmdlog.txt to see what's actually being sent
19:44 pmichaud omg!  std adopted something I did!
19:45 jnthn :-)
19:45 pmichaud: Let me know when you've got a moment for question.
19:45 pmichaud now is good
19:45 jnthn cool
19:45 OK, so I've hit a small snag.
19:45 My call to &trait_mod:is doesn't work out.
19:46 At first I was like "oh duh, I didn't write "our" on it.
19:46 Then I did that.
19:46 And it still doesn't work, because while our handling of lexicals and lexical multis is now lovely, our handling or "our" scoped ones is...well, kinda not done.
19:47 pmichaud I handled 'our' scoped vars -- did you do something similar for subs?
19:47 jnthn No
19:47 Well, my question is basically
19:47 pmichaud then that's what needs doing, I suspect :)
19:47 jnthn Yeah
19:47 But it gets a bit trickier with multis.
19:48 Since there may already be one in the NS.
19:48 pmichaud it's the same issue as for our scoped variables
19:48 srsly
19:48 jnthn OK
19:48 pmichaud here's how scoped variables work presently
19:49 when there's an "our declaration", the variable declarator code generates code at the beginning of the block to vivify the package variable -- same as we do for lexicals but with :scope<package> instead of :scope<lexical>
19:49 it even has a :viviself
19:49 it then binds the lexical name to that package scoped variable
19:50 now then, :viviself means  "create this object only if it doesn't already exist"
19:50 so
19:50 with a few niggling details that would need to be worked out
19:50 I think the general approach would be to do the same for subs and multisubs
19:50 i.e., given   our multi xyz() { ... }
19:50 the :viviself() is the part that creates the Perl6MultISub
19:51 and then you just push the xyz() candidate onto whatever comes back from the package var
19:51 you *know* it'll be a Perl6MultiSub, either one created already or one newly created
19:51 jnthn Ah, hmm. That could well work.
19:51 Do we know we'll only push it once though?
19:51 pmichaud you do it at the beginning of the unit block
19:52 jnthn oh
19:52 pmichaud i.e., in a :loadinit
19:52 jnthn OK.
19:52 Ah!
19:52 OK, I was thinking "hmm...I can do it without :loadinit"
19:52 pmichaud the lexical binding takes place at the beginning of the block, though
19:52 jnthn But I guess, no. :-)
19:52 pmichaud you really want it to happen at load time
19:52 jnthn yeah
19:52 For subs, yes, it matters.
19:52 pmichaud btw, my general model is that  :loadinit == CHECK
19:52 jnthn OK, my nom is ready. I'll give it a go afterwards.
19:53 pmichaud or more accurately, it's BEGIN+CHECK
19:53 you'll see when I have my phasers locked
19:53 .oO(I just love the colorful phrasings possible with our new phaser technology)
19:54 phrasers on stun, Captain
19:54 :-)
19:54 jnthn :D
19:54 Looking forward to that commit. :-)
19:54 pmichaud me too
19:54 but I keep getting distracted a bit :-(
19:54 jnthn :-(
19:55 Well, now it's my turn to get distracted...dinner. bbs
19:55 pmichaud I walked through the profiler stuff with chromatic and cotto -- we think the profiler doesn't like tailcalls
19:55 jnthn oh
19:55 pmichaud which PCT is unfortunately full of, so I'm going to see about taking those out
19:55 jnthn that's...not going to end well with profiling...right.
19:55 pmichaud the tailcall win probably isn't worth the profiling loss... at least not at this point
19:55 diakopter but what if the shields are tuned to the phasers' _something_ so they're absorbed by the shields
19:55 pmichaud _something_  == frequency, iirc
19:56 * pmichaud just knows that when we go to suppress phasers from firing, those suppressors will be called "shields"
19:56 pmichaud either that or safeties
19:57 Juerd shields :up;
19:57 pmichaud "the phasers aren't firing... are the safeties on?"
19:58 diakopter "oops; torpedoes fired instead"
20:01 pmichaud TimToady: in my version of the <O(...)>  rule, I was preferring to always pass a hash by position instead of a set of named arguments into a slurpy hash
20:01 if only because the hash tends to be constant
20:02 i.e.
20:02 <O($op.Opairs, |%list_prefix, assoc => 'unary', uassoc => 'left')>
20:02 could be
20:02 well, that's not quite a good example
20:02 I see what you did with Opairs
20:02 but anyway, it could be
20:03 TimToady that was a hack to get around gimme5 limitations
20:03 pmichaud <O({$op.Opairs, %list_prefix, assoc => 'unary', uassoc => 'left'})>
20:03 which is easier for a compiler to turn into a constant
20:03 (so that we're not constantly packing/unpacking slurpy args on the other side)
20:03 anyway, just a thought
20:05 indeed, what Rakudo and NQP are likely to do for a while is
20:05 <O(q{$op.Opairs, %list_prefix, assoc => 'unary', uassoc => 'left'})>
20:05 because we don't yet know how to build constant hashes at compiletime, but we can certainly reduce it all to a single hash lookup :)
20:06 Juerd Wow, big-O notation got really complex!
20:06 pmichaud (and yes, I recognize that $op.Opairs doesn't work in this case)
20:06 *single cache lookup
20:09 _eMaX_ joined #perl6
20:10 TimToady redshirt $ensign = NPC.new;
20:11 lichtkind joined #perl6
20:11 TimToady .oO(The Redshirts are coming! The Redshirts are coming!)
20:12 d0onk3ey joined #perl6
20:14 NorwayGeek joined #perl6
20:20 sjohnson afternoon!
20:21 TimToady yes, asteroids are now much less likely.
20:21 Wolfman2000 joined #perl6
20:22 * diakopter read "asterisks"
20:22 [particle] joined #perl6
20:22 jnthn * *** ** # oh noes!
20:23 std: * *** **
20:23 p6eval std 29009: ===[0mSORRY!===[0m␤Preceding context expects a term, but found infix * instead at /tmp/AjvG6rE0VM line 1 (EOF):␤------> * *** **<EOL>␤    expecting any of:␤ prefix or term␤   standard stopper␤ term␤   terminator␤       whitespace␤FAILED 00:01 111m␤
20:23 Wolfman2000 Afternoon. Hopefully within a few hours, I'll have figured out and gotten a better grasp of grammars.
20:23 jnthn Aww.
20:23 Wolfman2000 Anything I should be aware of before I begin my journey?
20:23 masak I guess people have seen this: http://news.ycombinator.com/item?id=926666
20:23 at least chromatic has, as always.
20:23 moritz_ Wolfman2000: yes: start simple.
20:24 Wolfman2000 moritz_: ...right. I should remember that
20:24 masak start simple, and make only small adjustments between runs.
20:24 [particle] use version control
20:24 masak of course, you're free to bite off bigger chunks, but make sure to observe how it's much easier to lose track of what happens then. :)
20:25 Wolfman2000 [particle]: version control? On Feather?
20:25 ...wait, what CAN we do on our feather boxes anyway?
20:25 [particle] yep
20:25 create an empty git or svn repo
20:25 jnthn masak: Meh. I hadn't, and I'm not sure I missed out. :-)
20:25 [particle] you'll find it helpful to be able to rollback to your last known working version, and diff
20:26 masak hohoho, chromatic cites proto as a counterargument for something. :)
20:26 Juerd Feather's just one box :)
20:26 masak jnthn: I for one, think that such interactions with the outgroup are interesting and sometimes even fruitful.
20:26 sjohnson y0 masak
20:26 masak jnthn: granted, there's plenty of noise in there, too.
20:26 sjohnson: oh hai!
20:26 Wolfman2000 Juerd: Sorry. I consider my slice on Slicehost as my "box"
20:26 Juerd It's not
20:26 A box is a physical machine :)
20:27 moritz_ A SoftBox
20:27 Juerd Feather has 4 virtual machines, but they're on a single box.
20:27 jnthn masak: Sure, it just looks quite similar to many other such threads. :-)
20:27 Wolfman2000 Alright, I'll try this approach.
20:27 What do I have to install to use git/subversion on my feather account?
20:27 masak jnthn: that is because you're one of the centermost 10 people in the Perl 6 community. you know all the details. the outgroup doesn't.
20:28 Juerd Wolfman2000: Nothing
20:28 moritz_ Wolfman2000: I'd be surprised if they weren't installed already
20:28 Wolfman2000 Juerd++ speaks the truth.
20:28 Juerd Sometimes :)
20:28 masak Wolfman2000: I'm happy to see you're making yourself at home on feather.
20:28 Juerd mkdir foo; cd foo; git init
20:28 Wolfman2000 masak: still need to get apache working right...
20:29 masak Juerd: or just git init foo
20:29 Wolfman2000 may as well do that now. *loads up the FAQ*
20:29 Juerd masak: Oh, heh.
20:29 * Juerd is guilty of cargo culting :|
20:30 Wolfman2000 okay, NOW the httpd.conf copied right
20:30 Juerd I still can't imagine that it wouldn't have copied right before.
20:31 Wolfman2000 I copied all of the lines at once this time
20:31 instead of bit by bit
20:31 masak I can recommend those who are interested in the term 'cargo culting' to read this essay by Feynman. http://yost.com/misc/cargocult.html
20:31 Wolfman2000 Don't worry about that
20:31 Right now, I'm trying to see where I'd have to put the web pages and stuff like that before I run apache.
20:31 * Wolfman2000 uses nginx on his other "box"
20:35 Wolfman2000 masak: Crazy request, but can you go to feather.perl6.nl:8119 and see if you see "Hee hee"?
20:35 masak sure.
20:36 I do.
20:36 Wolfman2000 I think that's my port number.
20:36 masak so do I :)
20:36 Wolfman2000 Alright...this means I now have a server to attempt to use Web.pm
20:36 * PerlJam just got back from a competition between the Math and CS faculty at the university where he works.
20:36 PerlJam (math won)
20:37 Wolfman2000 I don't know whether to cheer about that or not: I'm becoming a math teacher, but my bachelors was in Computer Science
20:37 masak Wolfman2000: by the way, I found and fixed the text thing in the Web.pm tutorial that you pointed out.
20:37 Wolfman2000: actually, I think I'll give the PDF a little more love right away.
20:37 Wolfman2000 masak++: good to hear.
20:37 Someone other than lover masak: how exactly do I use ulimit on apache now?
20:37 PerlJam Wolfman2000: I was disappointed in the CS faculty.  It was a pop-culture quiz with many questions that they should have known the answers to, but apparently didn't.
20:38 Wolfman2000 PerlJam: pop culture? I would have failed most likely myself.
20:38 PerlJam Wolfman2000: The questions were easy though.  "What species was the Taco Bell dog?"
20:38 * masak reads the phrase 'lover masak' and imagines himself in a tight tango outfit, biting a rose
20:38 Wolfman2000 Chiwawa
20:39 PerlJam The hardest question was probably "Who wrote the song ``It's Raining Men''?"
20:39 Wolfman2000 ...I played that on DDR Max 2
20:39 And I don't recall the artist
20:39 then again, it was probably a cover on the arcade
20:39 jnthn *not* Geri Halliwel.
20:39 (She did the recent-ish cover...)
20:40 Su-Shee (Weather Girls)
20:40 diakopter std: * *** ***
20:40 jnthn Ah. :-)
20:40 p6eval std 29009: ok 00:01 104m␤
20:40 Wolfman2000 Juerd: How do I set up ulimit again for apache? I don't want to risk bringing your box down.
20:40 PerlJam oddly, the answer to that question was "Paul Schaffer".
20:40 jnthn diakopter: Ah, thanks for fixing. I can finish that method I was writing for the setting now...
20:40 ;-)
20:41 Juerd Wolfman2000: Create a small shellscript that calls ulimit and then starts your apache.
20:41 Wolfman2000 Juerd: Too many steps ahead. Still confused on how to call ulimit. It's not on the PATH
20:41 Juerd Wolfman2000: Don't worry about the box. Worry about feather1, the virtual machine :)
20:41 Wolfman2000: ulumit is a builtin command
20:42 Wolfman2000: help ulimit | less
20:42 Wolfman2000 ah
20:42 ...when I typed ulimit on its own, it said "unlimited"
20:42 any recommended ulimit sizes then?
20:43 Juerd How about limiting it to 256 MB of memory and 50 processes?
20:43 It's an emergency brake only :)
20:44 Wolfman2000 so ulimit -u 50 -v 256 (what goes here?) apache -f httpd.conf
20:44 Juerd rakudo: say 256 * 1024
20:44 p6eval rakudo 830e2c: 262144␤
20:45 Juerd Wolfman2000: 262144, not 256, and -m too please.
20:45 Wolfman2000 Don't think the resident set size was discussed yet
20:45 Juerd Wolfman2000: And a newline goes in between :)
20:45 Wolfman2000 ah...two separate commands
20:46 Juerd Yes. ulimit is a bit abnormal in how it's used.
20:46 Wolfman2000 Does -m also get 263244?
20:46 err, 261244
20:46 Juerd It sets the limits of the current shell.
20:46 Wolfman2000: Yes.
20:46 263244 is fine ;)
20:46 reid05 joined #perl6
20:47 Juerd I'm a big fan of powers of two, but there's no actual reason to adhere to them.
20:47 It doesn't have to be exactly 256 MB.
20:49 Wolfman2000 Alright, I have a better temp page up.
20:49 ...I just realized. This means I have two websites on Feather. One at ~jafelds, and one at :8119
20:50 Granted, both contain next to nothing, but...this is going to be hard to argue. :)
20:50 Juerd What constitutes a web*site*? ;)
20:50 Wolfman2000 touché
20:50 Juerd Huh? That was a question...
20:51 Wolfman2000 ...nevermind: I misconstrued it
20:51 Both of those pages are just coming soons right now
20:51 TimToady it's a site if you can cite it...
20:51 Wolfman2000 The apache one will be where I eventually give Web.pm a shot
20:51 The other one...unsure what I'll do with it
20:53 Juerd The public_html thing is commonly used to dump files
20:53 The "html" part of that name is best ignored. ;)
20:55 xp_prg does perl6 work with cpan?
21:00 PerlJam xp_prg: The short answer is "no", the longer answer is "not yet".  There's an even longer answer, but I haven't the time  :)
21:02 xp_prg sa = @shortanswer($longanswer)
21:04 masak xp_prg: is there a reason you have this question at this juncture?
21:04 (if we know the reason, we might help you better)
21:04 s/help/be able to help/
21:05 xp_prg my $me = 'curious';
21:06 fax left #perl6
21:06 xp_prg print 'Don't hate the playa, hate the game\n';
21:07 mberends hi masak
21:07 masak mberends: o/
21:07 xp_prg: no hate involved whatsoever. :) I've been asking the CPAN question my fair share of times, as well.
21:08 xp_prg: but my point is, I've been asking it because CPAN is a means to some end I wanted.
21:08 xp_prg I heart CPAN
21:08 and I also heart perl6
21:08 masak ...and they should heart each other. I agree :)
21:11 sjohnson i wonder if there will be any Perl 6 CM's
21:11 perlguiman joined #perl6
21:11 xp_prg I heart the loving goodness of perl6
21:11 sjohnson i <3 good CM's like use Term::ANSIColor qw(:constants),  use Cwd qw(realpath),  and use File::Basename;
21:12 masak sjohnson: so port them! :)
21:12 (not implying that this is the only long-term solution, by the way)
21:14 xp_prg perl6 needs to stop playa hatin on cpan
21:16 masak xp_prg: there's been movements in that direction, too. moritz_ and szabgab have released Perl 6 modules on CPAN, for example.
21:16 then there's the Perl6:: namespace which, funnily enough, is full of Perl 5 code. :)
21:18 pmichaud just because we haven't quite figured out how to work with CPAN doesn't mean we hate it or have no plans to do so.  It's just a difficult problem, and CPAN integration is something best tackled a little later
21:18 it's not that Perl 6 is too good for CPAN, it's that it's not yet good enough for CPAN :-)
21:19 masak well put.
21:19 in the meantime, proto tries to act like duct tape and fill an urgent need.
21:20 pmichaud And Perl has a long tradition of duck tape.
21:20 jnthn Duct tape can fix *anything*.
21:20 Duck tape? Is that related to duck typing? :-)
21:20 pmichaud I was just about to type that
21:20 We not only do duck tape well, we now do duck typing pretty well too
21:21 the recent Mythbusters episode on duck tape was pretty awesome, btw.  :)
21:21 (Mythbusters == basic cable tv show on Discovery, for those who miss the reference)
21:22 jnthn Oops, I forgot I was meant to be fixing our subs, and instead fixed the default constructor and added accessor generation...
21:22 ETOOMUCHLHF
21:22 mathw at least you did something
21:22 pmichaud indeed
21:22 mathw I'm now embarking on two weeks off work
21:22 pmichaud ETOOMUCHLHF
21:22 mathw I have other things to do, but if anybody can think of a nice rakudo thing that might take up two or three days for me to do, get in touch...
21:22 jnthn pmichaud: How's your phasers patch coming along? :-)
21:23 pmichaud jnthn: pretty well.  Had to stop to pick up one kid, will have to stop again in 8 mins to get the other
21:23 jnthn mathw: Make ng branch pass all spectests again, kplzthnxbai.
21:23 pmichaud but I like this new code
21:23 mathw jnthn: is that really a 2-3 day job? :P
21:23 pmichaud mathw: if you're good enough, it is.  :)
21:23 jnthn Maybe with enough of us working in parallel, and skipping sleep, and enough beer.
21:24 icwiener joined #perl6
21:24 pmichaud jnthn: it's taking just a bit of time because of interruptions, and also because I'm trying to get it pretty close to right the first time this time
21:25 mathw well we'll talk about it as the time arises
21:26 jnthn mathw: Seriously though, there will be ways to jump in on the ng branch.
21:26 mathw jnthn: fantastic
21:26 jnthn mathw: Or something else, if the ng branch is not -Ofun.
21:26 mathw: I think once we hit the point where we can start to bring back the setting, for example.
21:26 pmichaud mathw: notice that jnthn was only asking you to get the spectests to pass again.  For a real challenge, finish all of the Perl 6 spec.  :)
21:26 mathw I'm not so fussed about high levels of -Ofun for a bit, if it's useful and doable.
21:28 jnthn: the setting's a nice, understandable thing. At least, it is in my head.
21:30 * pmichaud idly wonders if the parrot profiler was correct about where we're spending all of our time.
21:30 * mathw hopes the profiler is accurate
21:30 pmichaud if it is accurate, than the good news is that it's an easy fix to save a huge amount of time
21:31 mathw Well, then the test is to do it and see what it does, I suppose
21:31 pmichaud but if it's accurate, the bad news is that we've been needlessly suffering from slow compiles for much longer than we needed to be
21:31 mathw :(
21:31 What's the fix?
21:31 pmichaud (I'm betting the profiler isn't accurate)
21:31 * jnthn will be curious
21:32 pmichaud right now the profiler says that POST::Compiler.pir is where we're spending most of our time
21:32 that's mainly concatenations
21:32 of what eventually grow to be very long strings
21:32 pmurias diakopter: re closure breaking on sprixel it changes attribute names under the optimize more setting
21:32 pmichaud if any of the strings are utf8, then it could be that we're suffering from slow utf8 concatenations
21:33 which mean the fix is to make sure we only ever use ASCII
21:33 oops, gotta go -- brb
21:34 Juerd Why would utf8 concats be slow? If both sides are known to be proper utf8, just ignore the encoding and concat the encoded strings.
21:34 jnthn Good question. :-/
21:34 mathw maybe we're not that smart...
21:35 jnthn s/we're/Parrot's/
21:35 Juerd Splitting UTF8 is annoying but concatting is really simple :)
21:35 jnthn At least slow compiles give me time to make cups of tea and look at lolcats
21:36 Or that awesome forklift truck fail that destroyed £100,000 of vodka...
21:36 Juerd I tend to say it was a racking fail.
21:37 Really, it shouldn't cascade like that.
21:37 jnthn Yeah
21:37 mathw both, really
21:37 jnthn The way the *other* side fell...and the sleving bent in the process...was like "oops, that was badly done"
21:39 Still fun to watch.
21:39 * jnthn made a silly bug and now has to re-compile again. D'oh.
21:41 mathw must've been loaded right at the limit
21:42 pmichaud I agree that utf8 concats shouldn't be slow
21:42 jnthn Place musta smelt great after spilling all the vodka though!
21:42 pmichaud so that's one reason I doubt the profiler
21:42 (and we have reason to belive the profiler is flawed anyway)
21:42 but I think I'll check it anyway
21:42 desertm4x joined #perl6
21:43 jnthn pmichaud: It'd be an epic contatenation fail if so...
21:43 pmichaud jnthn: well, think about it for a sec.  How large due our .pir files get...?
21:43 *do
21:43 jnthn Really big.
21:43 pmichaud right
21:43 jnthn If concat is really not just concating...
21:43 BTW, you are doing
21:43 concat $S0, $S1
21:43 Not
21:44 res = concat a, b
21:44 pmichaud oh, that could be an issue too, but not likely
21:44 either way, once any operand in the concatenation is utf8, all subsequent ones are utf8
21:44 jnthn I seem to recall that at the time I did the .Net bc trans, the first form was faster.
21:44 pmichaud the easy way to find out will be for me to just check the encoding of the final output string
21:44 the first form is faster
21:45 just have to be careful that a string isn't referenced from multiple places
21:45 (and in this case it shouldn't be that either)
21:45 [particle] it should be faster, one less memmove
21:45 pmichaud the second form allocates a new STRING structure, I believe
21:45 [particle] yep
21:45 pmichaud it's not just the memmove :)
21:46 [particle] to really know where it takes its time, you'd have to profile it :P
21:47 * [particle] reboots &
21:50 pmichaud http://gist.github.com/228317
21:50 jnthn pmichaud++
21:50 masak pmichaud++
21:51 std: "foo" ~ my $a = "bar"
21:51 p6eval std 29009: ok 00:02 108m␤
21:51 pmichaud INIT and CHECK to come soon
21:51 masak rakudo: "foo" ~ my $a = "bar"
21:51 p6eval rakudo 830e2c: Unable to set lvalue on PAST::Val node␤in Main (file <unknown>, line <unknown>)␤
21:51 pmichaud I'll commit this so we can get further on tests
21:51 masak am I doing something wrong? or is Rakudo just being stubborn?
21:51 pmichaud rakudo stubborn
21:51 I think that works in ng
21:51 * masak submits rakudobug
21:51 masak pmichaud: I'm sure it does. :P
21:52 pmichaud oh, also you might need to parenthesize there
21:52 since ~ binds tighter
21:52 masak oh.
21:52 pmichaud rakudo:  "foo" ~ (my $a = "bar")
21:52 p6eval rakudo 830e2c:  ( no output )
21:52 pmichaud yup, that's it.
21:52 masak then the error from Rakudo makes more sense.
21:52 still, it's LTA.
21:53 pmichaud right now it's LTA in ng, too
21:53 but soon it'll be  "cannot assign to readonly value"
21:53 which is better
21:53 maybe not awesome better, but better
21:54 masak aye.
21:54 Wolfman2000 ...sorry guys: need a nap
21:54 pmichaud we might be able to semantically get assignment to check and see if its lhs has a lower precedence operator
21:54 sorry, higher precedence
21:54 tighter
21:54 whatever
21:54 although that's normally the case
21:54 hmmmm
21:54 anyway, file the bug :)
21:55 as a lta error message
21:55 fax joined #perl6
21:56 pmichaud jnthn: did we decide that 01-sanity/09-types.t could depart this realm?
21:56 jnthn pmichaud: Yes.
21:56 pmichaud: It's not testing anything Test.pm needs, afaik.
21:57 In theory it should be easy-ish to pass. I didn't yet work out why we failed it...
21:57 But anyways...
21:57 * justatheory passes it
21:57 pmichaud okay, END blocks pushed
21:58 jnthn .oO( this test will not cause constipation )
21:58 pmichaud http://github.com/rakudo/rakud[…]/glue/phasers.pir   # this is just too nice
21:59 somehow being able to write code where we fire all phasers is just making my day :)
22:00 * jnthn will read it...when he finishes dealing wiht the merge conflict
22:01 Juerd Phasers are a great way of solving conflicts, I heard.
22:02 jnthn oh heh, it was git being fail rather than a *real* merge conflict.
22:02 _eMaX_ joined #perl6
22:03 jnthn pmichaud: whoa. I can see why you wanted vivify.
22:03 pmichaud isn't that so much nicer?
22:03 jnthn Massively.
22:03 Terrible technical debt incurred for it though.
22:03 pmichaud oh, not that terrible
22:03 jnthn <chuckle>
22:04 pmichaud: BTW, accessors patch landed right after it.
22:04 pmichaud yay!
22:04 now to see if codegen is really our slowness culprit
22:05 I'm skeptical -- I think I measured it before and it was all in the parse and ast stuff
22:06 jnthn I dunno, there's a noticable time difference between the time it takes to find a syntax error at the end of actions.pm and the time it takes to spit out the code.
22:06 OK
22:06 pmichaud right, actually, you just gave me the answer
22:06 jnthn It *feels* like...
22:06 I didn't measure it.
22:06 pmichaud if it's taking a long time to get to a syntax error, that's not codegen
22:07 jnthn No no
22:07 It *is* taking a long time.
22:07 pmichaud ?
22:07 jnthn But still notably shorter than it takes to fully compile actions.pm
22:07 pmichaud okay
22:07 jnthn pmichaud: OK, to see if this is just my feeling or not..
22:07 Time compiling actions.pm
22:07 Then put a syntax error in the last sub
22:07 And time how long it takes to find that.
22:08 pmichaud reasonable.
22:08 results?
22:08 jnthn No, I haven't done it. I can?
22:08 Or you can.
22:08 pmichaud plz
22:08 jnthn OK
22:08 pmichaud I'm working on a different approach (by modifying nqp slightly)
22:09 diakopter could there be a rakudo-ng p6eval responder?
22:09 eiro joined #perl6
22:11 cognominal error:imcc:syntax error, unexpected PREG, expecting '(' ('$P0')
22:11 in file 'src/glue/phasers.pir' line 25
22:11 * cognominal is probably somehow out of phase
22:11 jnthn cognominal: EPARROTTOOOLD perhaps?
22:12 pmichaud oh, I didn't bump PARROT_REVISION
22:13 there.
22:13 pushed.
22:13 cognominal that was quick!
22:13 pmichaud++
22:13 masak joined #perl6
22:14 jnthn pmichaud: omfg
22:15 pmichaud $ ./perl6
22:15 »ö«: my $a = 5;  say('hello');
22:15 hello
22:15 »ö«:
22:15 jnthn pmichaud: When I add a "missing curly brace" error to the end of actions.pm, that w