Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-22

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:18 cognominal joined #perl6
00:22 masak 'night, #perl6
00:22 preflex_ joined #perl6
00:25 jnthn 'night also o/
00:27 timotimo 'night
00:29 preflex joined #perl6
00:40 preflex joined #perl6
00:44 preflex_ joined #perl6
00:57 raiph attention backloggers:
00:58 raiph in the last week or so I've switched to a briefer summarizing style
00:59 raiph so the summary should be around 10-20% of the full length
00:59 raiph which i'm pretty sure is solidly trending longer
00:59 anuby joined #perl6
01:02 raiph you can click lines in the summary to get relevant parts of full log
01:04 woosley joined #perl6
01:10 hypolin joined #perl6
01:20 gdey joined #perl6
01:29 cognominal joined #perl6
01:35 raiph http://irclog.perlgeek.de/out.pl?c​hannel=perl6;date=today;summary=1
01:44 skyheights joined #perl6
01:48 thou joined #perl6
01:53 cognominal joined #perl6
02:00 Ovidius joined #perl6
02:05 preflex joined #perl6
02:08 xinming_ joined #perl6
02:08 cognominal joined #perl6
02:09 census joined #perl6
02:13 Pharap joined #perl6
02:26 mikess joined #perl6
02:32 preflex joined #perl6
02:33 diakopter only 60 people have bought a ticket or submitted a talk to yapc::na
02:36 * colomon hopes to be able to go, but needs a lot more income in the next month to make it a go.
02:36 lustlife joined #perl6
02:45 diakopter so-called "infinite scroll" pages are always disappointing when you get to the end
02:48 FROGGS_ joined #perl6
02:50 gdey joined #perl6
02:50 diakopter FROGGS_: hi
02:56 alc joined #perl6
03:04 preflex joined #perl6
03:08 orafu joined #perl6
03:10 cognominal joined #perl6
03:27 preflex joined #perl6
03:30 cognominal joined #perl6
03:35 preflex joined #perl6
03:41 preflex_ joined #perl6
03:55 census joined #perl6
04:03 preflex joined #perl6
04:06 Targen joined #perl6
04:12 preflex joined #perl6
04:15 SamuraiJack joined #perl6
04:26 Heather joined #perl6
04:26 Heather good morning
04:26 Heather I have some questions )
04:27 Heather what is the progress of niecza and what exactly is nqp >_<
04:28 sorear nqp is a bootstrap layer under rakudo.  fast, small, portable.
04:28 sorear niecza was a project of mine, now abandoned.
04:33 Heather sorear but I see it's still being somehow active
04:33 diakopter Solomon Foster and Larry are maintaining it as needed
04:33 Heather sorear so rakudo is written on nqp ?
04:34 diakopter no; the kernel is written in C#; much of the library and engine are in Perl 6
04:34 dalek perl6-roast-data: e533610 | coke++ | / (3 files):
04:34 dalek perl6-roast-data: today (automated commit)
04:34 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/e533610112
04:34 dalek perl6-roast-data: 165f8fe | coke++ | / (3 files):
04:34 dalek perl6-roast-data: today (automated commit)
04:34 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/165f8fe6f5
04:34 diakopter [Coke]++
04:35 Heather diakopter I was asking about rakudo )
04:35 diakopter oh oops :D
04:35 sorear Heather: yes, rakudo is written mostly in nqp
04:35 Heather diakopter so niecza is perl6 for mono / .net?
04:35 Heather sorear mostly?
04:35 sorear there's some rakudo-specific C too
04:36 Heather sorear I see.
04:36 sorear but that's being rewritten in or moved to nqp
04:36 preflex joined #perl6
04:36 sorear niecza uses mono / .net
04:36 diakopter diakopter-- reading fail
04:36 sorear rakudo has advanced a lot though, it will not be long before the best way to perl6 on mono is with a nqp port
04:36 Heather sorear so I can use niecza libs in my C# projects, right?
04:37 sorear yeah but you may need to make some small changes to the runtime, and it'll be rather dicey in any case
04:37 Heather sorear port nqp to .net?
04:38 sorear because of gather/take all Perl 6 code has to be converted to continuation passing style
04:38 sorear which makes calling perl 6 from c# nontrivial
04:39 sorear it's not _impossible_ but it's not supported
04:39 sorear you'll have to do a lot of setup yourself
04:39 Heather bad
04:39 diakopter Heather: I agree with sorear; I imagine NQP will run on mono/.Net within 12 months
04:40 diakopter (and then rakudo shortly thereafter)
04:41 Heather again about nqp...
04:41 Heather it can run on various vms ?
04:41 Heather not parrot only?
04:41 sorear nqp runs on jvm today too, right?
04:41 diakopter its port for the JVM is mostly done
04:42 diakopter enough to bootstrap, yes
04:42 Heather where I can find implementation
04:42 diakopter not quite enough to support rakudo yet
04:42 diakopter nqp-jvm: where are you
04:42 p6eval nqp-jvm: OUTPUT«Confused at line 2, near "where are "␤  in panic␤  in comp_unit␤  in TOP␤  in parse␤  in parse␤  in <anon>␤  in compile␤  in eval␤  in evalfiles␤  in command_eval␤  in command_line␤  in MAIN␤  in <anon>␤  in <anon>»
04:43 diakopter Heather: don't tempt me to link you to   l m g t f y . c o m   :P
04:43 Heather https://github.com/jnthn/nqp-jvm-prep - this ?
04:43 diakopter yep
04:44 Heather hm...
04:44 diakopter do you use the JVM?
04:45 Heather I use mono
04:45 * diakopter wonders if nqp-jvm would run on IKVM on mono
04:45 sorear niecza absolutely supports the other way though - load and use C# libraries
04:46 DarthGandalf joined #perl6
04:46 preflex joined #perl6
04:46 Heather I don't need C# libs in niecza I need niecza in C# libs
04:46 Heather maybe I need nqp-.net
04:47 Heather the thing: convert java code to .net is easy
04:47 diakopter Heather: several of us will be quite glad to offer any amount of help to you to write it
04:48 diakopter well... the compiler doesn't generate java code ;) it uses a bytecode emission library
04:48 Heather what about Nemerle implementation? :D
04:48 sorear Heather: how much precompilation do you need?
04:49 Heather diakopter https://github.com/jnthn/nqp-jvm-prep/blob/master​/src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java this ?
04:49 Heather sorear huh?
04:49 diakopter Heather: that's a small part of it
04:50 diakopter Heather: larger part: https://github.com/jnthn/nqp-jvm-prep/​blob/master/lib/QAST/JASTCompiler.nqp
04:50 Heather il generation...
04:50 diakopter there are a few good libraries for that
04:52 diakopter Heather: sorear is asking whether you want to take Perl 6 code and convert it to .dlls
04:52 Heather diakopter yes
04:52 Heather sorear ^
04:54 diakopter Heather: Nemerle is a quite interesting idea; because it comes with lots of tools useful to a dynamic compiler, it would provide a bunch of the hard work done for you to implement NQP
04:57 Heather diakopter so it's still being quite hard to get into
04:57 diakopter what is?
04:58 Heather diakopter compiler writing?
04:58 diakopter heh :)
05:27 odoacre joined #perl6
05:28 kaleem joined #perl6
05:28 preflex joined #perl6
05:33 Heather left #perl6
05:58 diakopter r: macro :<> { } # ahaha
05:58 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Var'␤»
05:58 diakopter r: macro :<marco> { } # ahaha
05:58 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Want'␤»
05:58 diakopter ahahaha
05:59 diakopter please record in your log the above stuff for masak and jnthn
05:59 diakopter thank you.
06:00 diakopter r: macro :{ } { }
06:00 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Op'␤»
06:02 diakopter r: macro :(){}{}
06:02 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::WVal'␤»
06:02 diakopter hee
06:02 diakopter Var,Want,Op,WVal
06:02 * diakopter looks for more
06:09 diakopter r: say (BEGIN macro {})()
06:09 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling block : Unknown QAST node type NQPMu␤»
06:09 diakopter probably falls under the one already reported with the same error msg
06:11 rindolf joined #perl6
06:11 diakopter r: print (macro { }).WHAT
06:11 p6eval rakudo 6d7c9c: OUTPUT«use of uninitialized variable $v of type Parcel in string context  in block  at /tmp/5S3WSzjl8S:1␤␤»
06:11 diakopter o_O
06:11 rindolf Hi all.
06:11 diakopter rindolf: hi.
06:11 rindolf diakopter: what's up?
06:12 diakopter trying to get in touch with toddr; idly fuzzing the rak
06:13 preflex joined #perl6
06:13 diakopter procrastinating my assignments from $architect_leader_designer_implementor_person
06:13 diakopter rindolf: what's up with you
06:15 rindolf diakopter: I'm publicising my new ebook - https://payhip.com/b/MbZC - “Selina Mandrake - *The Slayer*”
06:19 diakopter r: ."{ try BEGIN { ... } }"()
06:19 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Error while compiling block : Unknown QAST node type Failure␤»
06:19 diakopter hee
06:19 diakopter never seen that one
06:19 diakopter r: try BEGIN { ... } # golfed
06:19 p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Unknown QAST node type Failure␤»
06:21 diakopter r: BEGIN { try eval } # timeout?
06:21 p6eval rakudo 6d7c9c: OUTPUT«(timeout)»
06:27 preflex joined #perl6
06:28 xenoterracide joined #perl6
06:43 domidumont joined #perl6
06:47 diakopter rnp: say START { 44 } for ^3
06:47 p6eval niecza v24-35-g5c06e28: OUTPUT«44␤Nil␤Nil␤»
06:47 p6eval ..pugs: OUTPUT«44␤44␤44␤»
06:47 p6eval ..rakudo 6d7c9c: OUTPUT«(Mu)␤(Mu)␤(Mu)␤»
06:48 TimToady pugs++
06:48 diakopter rnp: INIT { say 44 } for ^3
06:49 p6eval pugs: OUTPUT«44␤*** ␤    Unexpected end of input␤    expecting operator or block construct␤    at /tmp/HJ9iCy6LTv line 2, column 1␤»
06:49 p6eval ..rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«44␤»
06:51 diakopter rnp: (FIRST { say 44 }) for ^3
06:51 p6eval pugs: OUTPUT«*** Cannot cast from VList [] to VCode (VCode)␤    at /tmp/9_MeQYx_ig line 1, column 1␤»
06:51 p6eval ..rakudo 6d7c9c:  ( no output )
06:51 p6eval ..niecza v24-35-g5c06e28: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Action method statement_prefix:FIRST not yet implemented at /tmp/unVH2nYgzp line 1:�------> [32m(FIRST { say 44 }[33m�[31m) for ^3[0m��Unhandled exception: Unable to resolve method semilist_level in type Any�  at /home/p…
06:52 diakopter ?++
06:52 preflex_ joined #perl6
06:56 diakopter r: LAST { LAST { say 555 } }; LAST { LAST { BEGIN { say 444 } } }   # erm...
06:56 p6eval rakudo 6d7c9c: OUTPUT«444␤»
06:57 diakopter TimToady: ^  ..?
06:58 domidumont joined #perl6
06:58 diakopter r: LAST { say 555 }; LAST { BEGIN { say 444 } }   # erm...
06:58 p6eval rakudo 6d7c9c: OUTPUT«444␤»
07:00 TimToady LAST has no meaning outside a loop
07:01 diakopter right, but why doesn't it say 555 if it says 444
07:02 TimToady well, the BEGIN runs the 444
07:02 diakopter why does it run the BEGIN
07:02 TimToady because it's supposed to
07:02 FROGGS_ hehe
07:02 FROGGS_ good morning
07:03 diakopter oh yeah.
07:19 kivutar joined #perl6
07:25 diakopter rn: ([|]).AUTOTHREAD(sub { say 44 })
07:25 p6eval niecza v24-35-g5c06e28:  ( no output )
07:25 p6eval ..rakudo 6d7c9c: OUTPUT«44␤»
07:25 diakopter ?++
07:33 rindolf joined #perl6
07:34 xenoterracide joined #perl6
07:37 labster joined #perl6
07:39 diakopter r: say 4^(4^4) # why doesn't this simplify?
07:39 p6eval rakudo 6d7c9c: OUTPUT«one(4, one(4, 4))␤»
07:40 domidumont joined #perl6
07:43 diakopter rnp: say (Inf ** (0-Inf) * -1) ** 3
07:43 p6eval rakudo 6d7c9c: OUTPUT«-0␤»
07:43 p6eval ..niecza v24-35-g5c06e28, pugs: OUTPUT«0␤»
07:45 diakopter rn: say 0 === 0
07:45 p6eval rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«True␤»
07:45 diakopter rn: say((Inf ** (0-Inf) * -1) === 0)
07:45 p6eval rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«False␤»
07:45 diakopter rn: say((Inf ** (0-Inf) * -1) == 0)
07:45 p6eval rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«True␤»
07:45 diakopter o_O
07:47 census joined #perl6
07:48 quester joined #perl6
07:50 preflex joined #perl6
07:56 diakopter rnp: say abs(Inf ** (0-Inf) * -1)
07:56 p6eval pugs: OUTPUT«-0␤»
07:56 p6eval ..rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«0␤»
07:56 diakopter rnp: say (Inf ** (0-Inf) * -1)
07:56 p6eval rakudo 6d7c9c, pugs: OUTPUT«-0␤»
07:56 p6eval ..niecza v24-35-g5c06e28: OUTPUT«0␤»
07:56 diakopter Wat.
07:57 diakopter why does pugs think abs(0) is -0
07:58 diakopter p: say abs(0)
07:58 p6eval pugs: OUTPUT«0␤»
07:58 diakopter p: say abs(0-Inf)
07:58 p6eval pugs: OUTPUT«Inf␤»
07:58 diakopter p: say abs(1/0-Inf)
07:58 p6eval pugs: OUTPUT«*** Illegal division by zero␤    at /tmp/ZjRdK0y00p line 1, column 9-16␤»
07:59 diakopter p: say abs(1/(0-Inf))
07:59 p6eval pugs: OUTPUT«-0␤»
07:59 diakopter p: say (1/(0-Inf))
07:59 p6eval pugs: OUTPUT«-0␤»
07:59 diakopter double Wat.
08:03 sorear how is any of that surprising
08:04 diakopter niecza? or rakudo? or pugs?
08:04 sorear pugs
08:04 sorear everything pugs has done is consistent with the ieee754 rules
08:05 sorear p: say abs(NaN)
08:05 p6eval pugs: OUTPUT«NaN␤»
08:05 diakopter which was right here: rnp: say abs(Inf ** (0-Inf) * -1)
08:05 sorear that's eithe 0 or -0
08:05 sorear sliiiiiight preference for 0
08:06 sorear but they're the same in every case except division, so it doesn't matter
08:06 diakopter so should it return one(0,1(0-Inf)) ?
08:06 sorear 1 / 0 = die, 1 / (-0) = die
08:06 diakopter so should it return one(0,1/(0-Inf)) ?
08:06 diakopter er
08:06 sorear now you're just being silly
08:06 diakopter no, I typo'd
08:06 sorear it should not return a junction
08:07 sorear is that junction thing supposed to be a good-faith proposal? :/
08:07 diakopter +/- something?
08:07 diakopter seems junctiony
08:07 sorear no, junctions are smartmatch patterns, not results of arithmetic operators
08:08 diakopter I don't see the distinction
08:08 census_ joined #perl6
08:09 moritz returning junctions from arithmetic operations violates the principle of least surprise
08:09 diakopter how would you represent a set of possible results?
08:10 sorear you return one of them arbitrarily
08:10 sorear please read https://en.wikipedia.org/wiki/Signed_zero before complaining about -0 behavior.  it's weird, it has to be weird, and it's behaving exactly as documented
08:11 sorear sorry, I have to sleep& now
08:11 moritz diakopter: arithmetic operations on numbers don't return sets
08:14 diakopter I thought it was important to not lose that information when solving
08:14 diakopter symbolically
08:15 moritz well, but we don't implement symbolic math in Perl 6
08:15 diakopter s/to not/not to/
08:15 diakopter oh
08:18 diakopter I wonder if there could be a mode where such a thing is enabled
08:22 dbr joined #perl6
08:22 moritz if it weren't Perl 6, but Mathematica, then there could be such a mode :-)
08:28 kresike joined #perl6
08:28 kresike hello all you happy or unhappy perl6 people
08:30 fhelmberger joined #perl6
08:42 daxim joined #perl6
08:43 shlomif joined #perl6
08:46 Heather joined #perl6
08:46 Heather so, let back to yesterday topic :)
08:49 Heather is there something alike lambda ?
08:49 Heather r: lambda { say 1 }
08:49 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![​31m===[0m�Undeclared routine:�    lambda used at line 1��»
08:50 preflex joined #perl6
08:50 Heather r: _ -> {say 1}
08:50 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![​31m===[0m�Undeclared name:�    _ used at line 1��»
08:50 Heather r: () -> {say 1}
08:50 moritz r: { say 1 }
08:50 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![​31m===[0m�Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)�at /tmp/6DigiYkyzb:1�------> [32m() [33m�[31m-> {say 1}[0m�    expecting any of:�        postfix�        infix stopper�        infix…
08:50 p6eval rakudo 6d7c9c: OUTPUT«1␤»
08:50 census joined #perl6
08:50 moritz r: my $lambda = { say 1 };
08:50 p6eval rakudo 6d7c9c:  ( no output )
08:51 Heather moritz it's not lambda ...
08:51 moritz Heather: why not?
08:52 Heather r: if True { { say 1 } }
08:52 p6eval rakudo 6d7c9c: OUTPUT«1␤»
08:53 Heather if True {  ($f -> { say $f })(1) }
08:53 Heather r: if True {  ($f -> { say $f })(1) }
08:53 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY!​[31m===[0m�Variable '$f' is not declared�at /tmp/O8c6P3Z2zz:1�------> [32mif True {  ($f[33m�[31m -> { say $f })(1) }[0m�    expecting any of:�        postfix�»
08:54 moritz r: if True {  ( -> $f { say $f })(1) }
08:54 p6eval rakudo 6d7c9c: OUTPUT«1␤»
08:54 Heather that's it...
08:55 Heather r: my $x =( -> { return 1 } )
08:55 p6eval rakudo 6d7c9c:  ( no output )
08:55 Heather my $x =( -> { return 1 } ); say $x
08:55 Heather r: my $x =( -> { return 1 } ); say $x
08:55 p6eval rakudo 6d7c9c: OUTPUT«Block.new()␤»
08:55 Heather r: my $x =(( -> { return 1 } )()); say $x
08:55 p6eval rakudo 6d7c9c:  ( no output )
08:56 Heather r: my $x =(( -> { say 1 } )()); say $x
08:56 p6eval rakudo 6d7c9c: OUTPUT«1␤True␤»
08:56 Heather True ?
08:56 Heather r: my $x =(( -> { say 1; return False } )()); say $x
08:56 p6eval rakudo 6d7c9c: OUTPUT«1␤»
08:56 Heather no true ...
08:57 Heather well...
08:57 Heather r: my $x =(( -> { say 1; return True } )()); say $x
08:57 p6eval rakudo 6d7c9c: OUTPUT«1␤»
08:57 Heather it returns execution result if there is no return seems like
08:57 Heather r: my $x =(( -> { say 1; } )()); say $x
08:57 p6eval rakudo 6d7c9c: OUTPUT«1␤True␤»
08:57 Heather r: my $x =(( -> { say 1; die } )()); say $x
08:57 p6eval rakudo 6d7c9c: OUTPUT«1␤␤  in block  at /tmp/dmHF18QPjJ:1␤␤»
08:58 Heather moritz lambda functions can return?
09:00 Heather if not then it's not a functions ) just actions.... I guess
09:00 Heather function is something that returns ... usually
09:02 preflex joined #perl6
09:02 quester left #perl6
09:03 Heather r: my $x =(( -> { say 1; return 1 } )()); say (1 + $x);
09:03 p6eval rakudo 6d7c9c: OUTPUT«1␤»
09:03 Heather ....
09:04 Heather r: my $x =(( -> { say 1; return 1 } )()); say (1 + $x());
09:04 p6eval rakudo 6d7c9c: OUTPUT«1␤»
09:04 Heather r: my $x =(( -> { say 1; return 1 } )()); say $x.WHAT
09:04 p6eval rakudo 6d7c9c: OUTPUT«1␤»
09:04 Heather what...
09:04 Heather r: my $x =(( -> { say 1; return 2 } )()); say $x.WHAT
09:04 p6eval rakudo 6d7c9c: OUTPUT«1␤»
09:05 moritz Heather: 'return' always returns a routine (sub, method, regex)
09:05 moritz for returning from a block you'd use 'leave', but that's not implemented
09:05 moritz of course you can just use anonymous functions as well
09:05 Heather r: my $x =(( -> { say 1; leave 2 } )()); say $x
09:05 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![​31m===[0m�Undeclared routine:�    leave used at line 1��»
09:05 moritz r: my $x = sub { return 42 }; say $x()
09:05 p6eval rakudo 6d7c9c: OUTPUT«42␤»
09:06 Heather moritz it's not the same ... what if I do long calculation for 42, I don't want to calc it each time
09:06 moritz and without explicit return, the last statement is used as a return value
09:06 Heather r: my $x =(( -> { say 1;  2 } )()); say $x
09:06 moritz Heather: then use an anonymous sub. Or implement leave()
09:06 p6eval rakudo 6d7c9c: OUTPUT«1␤2␤»
09:06 Heather oh....
09:06 Heather r: my $x =(( -> {  2 } )()); say $x
09:06 p6eval rakudo 6d7c9c: OUTPUT«2␤»
09:07 moritz or use a conditional
09:07 Heather r: my $x =(( -> { my $test = 5;  $test } )()); say $x
09:07 p6eval rakudo 6d7c9c: OUTPUT«5␤»
09:07 Heather IT WORKS !
09:07 preflex_ joined #perl6
09:07 Heather moritz no it works like in above snippet :)
09:07 moritz ok, then I just misunderstood what you wanted
09:07 moritz I thought you needed an explicit return
09:07 Heather r: my $x =-> { my $test = 5;  $test } (); say $x
09:07 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/c2_doV4hXt:1�------> [32mmy $x =-> { my $test = 5;  $test } [33m�[31m(); say $x[0m�    expecting any of:�        postfix�        statement end�        statement modifier�        statement modifier loop� …
09:08 moritz () is a postcircumfix, you can't have space before that
09:08 Heather r: my $x =-> { my $test = 5;  $test }(); say $x
09:08 p6eval rakudo 6d7c9c: OUTPUT«5␤»
09:08 Heather aha ! I get it
09:08 FROGGS_ moritz: we might should introduce a almostpostcircumfix :P
09:09 Heather r: my $x =-> { my $test = 5;  $test }; say $x
09:09 FROGGS_ an*
09:09 p6eval rakudo 6d7c9c: OUTPUT«Block.new()␤»
09:09 masak good forenoon, #perl6
09:09 FROGGS_ r: my $x =-> { my $test = 5;  $test }; say $x()
09:09 p6eval rakudo 6d7c9c: OUTPUT«5␤»
09:09 FROGGS_ hi masak
09:09 Heather FROGGS_ it's wrong, it's each time calculation
09:10 Heather r: my $x =-> { my $test = 5+5;  $test-6 }(); say $x
09:10 p6eval rakudo 6d7c9c: OUTPUT«4␤»
09:10 FROGGS_ okay
09:10 Heather but syntax is a bit ugly with this last () :)
09:11 FROGGS_ Heather: but that's how you call/execute stuff
09:11 moritz Heather: if you want to immediately execute a block, you don't have to use a lambda for that
09:11 Heather FROGGS_ I see, though I need custom operator for it
09:11 moritz you can just say
09:11 moritz r: my $x = do { my $t = 5 + 5; $t }; say $x
09:11 p6eval rakudo 6d7c9c: OUTPUT«10␤»
09:12 moritz so it's only ugly because you chose an ugly way to do it :-)
09:12 Heather moritz even easier )
09:12 Heather moritz I don't know about do )
09:12 FROGGS_ Heather: now you do :o)
09:13 Heather FROGGS_ you should agree that this is better then below:
09:14 Heather r: my $x; { my $t = 5 + 5; $x = $t }; say $x
09:14 p6eval rakudo 6d7c9c: OUTPUT«10␤»
09:14 census joined #perl6
09:14 Heather FROGGS_ I don't know why :P just my understanding of things...
09:16 moritz if you're looking for an even better way
09:16 moritz r: say 5 + 5;
09:16 p6eval rakudo 6d7c9c: OUTPUT«10␤»
09:16 masak I like that one.
09:16 masak but I tend to do it like this.
09:16 masak r: say 10
09:16 p6eval rakudo 6d7c9c: OUTPUT«10␤»
09:17 masak of course, it's not good to have magical numbers like that littering one's program.
09:17 Heather I can di better
09:17 Heather rakudo 6d7c9c: OUTPUT«10␤»
09:17 Heather :D
09:17 masak heh.
09:17 moritz r: my constant TEN = 10; say TEN;
09:17 p6eval rakudo 6d7c9c: OUTPUT«10␤»
09:17 moritz better? :-)
09:17 masak moritz: awesome.
09:17 masak r: say my constant TEN = 10
09:17 p6eval rakudo 6d7c9c: OUTPUT«10␤»
09:18 masak and it makes sense to make TEN a constant because, you know, TEN never changes.
09:18 Heather r:  10
09:18 p6eval rakudo 6d7c9c:  ( no output )
09:18 Heather T_T
09:18 Heather r: 10.WHAT
09:18 p6eval rakudo 6d7c9c:  ( no output )
09:18 Heather r: die 10
09:18 p6eval rakudo 6d7c9c: OUTPUT«10␤  in block  at /tmp/xRLuX_mdUr:1␤␤»
09:18 Heather \o/
09:19 masak moritz: I once read an Onion-like piece detailing the discovery of a new positive integer having been discovered, between 7 and 8.
09:19 masak moritz: I went ahead and told my friend, and immediately felt bad when he seemed to believe me.
09:20 moritz masak: :-)
09:21 masak I can't find the piece, but it was great.
09:21 moritz "Researchers find that there are more integers than previously thought" -- something along those lines?
09:21 masak yes!
09:22 diakopter "anything you can count, I can count twice"
09:22 masak the new number, which they had named something outrageous, was a prime. strangely enough, there wasn't a corresponding new *negative* number, though.
09:29 am0c joined #perl6
09:32 census joined #perl6
09:54 jnthn morning o/
09:55 diakopter o/
09:55 masak morning, jnthn
09:57 Heather \o/
09:57 diakopter /\o/\
10:00 diakopter \/o\/
10:00 diakopter d'oh
10:00 masak :P
10:11 preflex joined #perl6
10:15 snuffles joined #perl6
10:19 preflex joined #perl6
10:22 FROGGS_ Heather: you need to 'say' to see the output
10:23 FROGGS_ r: say 10
10:23 p6eval rakudo 6d7c9c: OUTPUT«10␤»
10:30 Vlavv` joined #perl6
10:30 preflex joined #perl6
10:40 kivutar joined #perl6
10:55 preflex joined #perl6
11:03 colomon joined #perl6
11:17 dalek rakudo/tmp_highfive: 604d2f2 | (Tobias Leich)++ | src/Perl6/P5 (2 files):
11:17 dalek rakudo/tmp_highfive: variable declaration works
11:17 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/604d2f2d9d
11:29 JimmyZ joined #perl6
11:34 preflex joined #perl6
11:45 preflex_ joined #perl6
12:04 dalek rakudo/tmp_highfive: 8c1bb5f | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
12:04 dalek rakudo/tmp_highfive: fixing ENDSTMT and sub call without parens
12:04 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/8c1bb5fb03
12:05 FROGGS_ yay, it passes https://github.com/fglock/Perlito/​blob/master/t5/01-perlito/05-if.t \o/
12:13 jaldhar joined #perl6
12:16 masak timotimo: what's the 'tmp_highfive' branch?
12:16 masak er, FROGGS_.
12:19 FROGGS_ masak: it is an experiment to support { use v5; } blocks
12:20 diakopter o_O
12:22 * masak high-fives FROGGS_ o/
12:22 FROGGS_ \o
12:22 masak :D
12:25 preflex joined #perl6
12:32 masak wow, this Venn diagram is great: https://en.wikipedia.org/wiki/Homom​orphism#Relation_to_category_theory
12:38 pmichaud good morning, #perl6
12:38 FROGGS_ morning pmichaud
12:41 rindolf pmichaud: good morning.
12:41 rindolf pmichaud: well, here it is 14:41 in the early afternoon.
12:41 jnthn o/ pmichaud
12:42 moritz rindolf: it's always morning in UGT
12:43 preflex joined #perl6
12:43 rindolf moritz: what is UGT?
12:44 FROGGS_ universal greeting time
12:45 FROGGS_ it is always morning when somebody joins...
12:46 moritz and it's also night or evening in UGT when somebody leaves
12:46 daxim needs moar xenomorphism
12:50 SmokeMachine joined #perl6
12:50 Heather r: my $a = "a"; say $a eq "b" ?? $a :: "x";
12:50 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![31m===[0m�Please use !! rather than ::�at /tmp/rGzILcldq8:1�------> [32mmy $a = "a"; say $a eq "b" ?? $a [33m�[31m:: "x";[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-infix�»
12:51 Heather r: my $a = "a"; say $a eq "b" ?? $a !! "x";
12:51 p6eval rakudo 6d7c9c: OUTPUT«x␤»
12:51 Heather is there easier way to write it?
12:52 Heather r: my $a = "a"; say $a eq "b" ?? "x";
12:52 p6eval rakudo 6d7c9c: OUTPUT«[31m===[0mSORRY![31m===[0m�Found ?? but no !!�at /tmp/Z5eN3UtAWs:1�------> [32mmy $a = "a"; say $a eq "b" ?? "x"[33m�[31m;[0m�Confused�at /tmp/Z5eN3UtAWs:1�------> [32mmy $a = "a"; say $a eq "b" ?? "x"[33m�[31m;[0m�    expecting any of:�        postfix�…
12:54 shinobicl joined #perl6
12:56 moritz I don't think so
12:58 Heather moritz how to get value from dictionary by key (kv -> v) ?
12:58 Heather x[key] ?
12:59 jnthn %h{$key}
12:59 Heather oh...
12:59 Heather ok
13:17 dalek rakudo/tmp_highfive: 888f86c | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
13:17 dalek rakudo/tmp_highfive: statement modifier loops ok
13:17 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/888f86cd9b
13:17 dalek rakudo/tmp_highfive: 5392638 | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
13:17 dalek rakudo/tmp_highfive: simple for loop ok
13:17 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/53926383c3
13:18 bluescreen10 joined #perl6
13:19 Heather Crystal Maiden from dota appears...
13:20 preflex joined #perl6
13:20 Heather https://github.com/Heather/CrystalMaiden
13:20 Heather :)
13:21 census_ joined #perl6
13:21 masak Heather++
13:22 masak Heather: the code looks good.
13:22 masak (except for your indenting style, which I'll probably never get quite used to) :)
13:23 Heather >_<
13:23 preflex_ joined #perl6
13:23 Heather masak I steal some code from your ufo and some from tadzik panda
13:23 pmurias joined #perl6
13:24 Heather masak but it's just skeleton which works, it needs more changes to feet all the gentoo ebuild stuff
13:24 Heather mostly it's ready to use but some things...
13:24 Heather btw... what is proper license for all those modules?
13:25 Heather portage doesn't like licenseless packages
13:25 diakopter meh, MIT-style, whatever
13:25 moritz panda has a LICENSE-file
13:25 moritz MIT, right
13:26 moritz and you'll have to ask masak regarding ufo
13:26 Heather ok, I will add it on next week, I think
13:26 moritz I'm sure he'll add a license file too
13:26 Heather well... I think we need license in META.info
13:26 moritz and if you prefer a particular license, maybe he'll listen to you
13:26 Heather it will be easy to automate license field fill for me
13:26 cognominal joined #perl6
13:27 Heather and set some default license if it's not specified
13:27 masak it doesn't feel right to license ufo, considering how it was written by aliens...
13:27 skids joined #perl6
13:27 Heather ok, maybe set it lecenseless for unspecified is also fine
13:28 masak (consider it in the public domain)
13:28 Heather so what about license field in meta.info ?
13:28 Heather maybe someone want create freaking gpl3 modules...
13:28 masak I'm all for it :)
13:29 tadzik Heather: nice :)
13:31 moritz masak: you could add that the aliens told you to use it in whatever way you see fit, and you're passing on that right to everybody (thus making it public domain, in essence)
13:32 Heather so .... now it's time to go home
13:32 * masak .oO( are you asking me to make stuff up? ) :P
13:32 Heather BUT !!! after gentoo updates -_-'
13:33 moritz masak: of course not. Once it's on github, it's true. So it can't be made up :-)
13:33 masak oh phew
13:34 PacoAir joined #perl6
13:34 Heather another thing about mono nqp... I don't think I will work on it whenever, maybe I will join if someone will start
13:34 Heather I find more helpful to take care about Nemerle itself :P
13:35 Heather though we currently have no "manpower" oh I'm not sure how to call it to get it to fly
13:36 moritz the word you are looking for is "tuits"
13:37 Heather moritz it's UNGOOGLETRANSLATEBLE
13:38 moritz Heather: it's from the saying "sometimes you just don't get around to it"
13:38 moritz that becomes "sometimes you just don't get a round tuit"
13:39 Heather I remember word "manower" from this : http://paludis.exherbo.org/faq/general.html
13:39 Heather Article "Why C++"
13:39 moritz and the result is some hardware, as seen here: http://www.flickr.com/photos/hfb/56871343/
13:46 * Heather gentoo please let me go home
13:47 Heather see you o/
13:49 shinobicl left #perl6
13:56 preflex joined #perl6
13:59 toddr joined #perl6
14:01 preflex_ joined #perl6
14:01 pmurias FROGGS_: http://pastie.org/7067065
14:02 toddr_ joined #perl6
14:03 toddr_ Does a "Zero to Perl6" Training exist?
14:03 tadzik I don't know of any
14:03 cognominal joined #perl6
14:04 toddr_ I ask because I think this would REALLY help get some perl6 attention at YAPC.
14:04 tadzik oh hm, there's masak blog series, hold on
14:05 toddr_ yes but what I need more than the blogs is an instructor :)
14:05 tadzik http://strangelyconsistent.org/blog/a-month​-of-blogging-about-programming-fundamentals
14:05 tadzik ah
14:05 tadzik you'll have to ask masak then :)
14:05 toddr_ I'll even give a 4 hour or better slot out during the conference if someone'll submit the idea.
14:06 masak I put together a gist recently with an index. hold on.
14:06 moritz masak: what about your planned Perl 6 tutorial on IRC?
14:06 masak toddr_: I'd easily teach 4 hours of intro Perl 6 at YAPC::NA.
14:07 masak moritz: it might be a good exercise for the thing :)
14:07 toddr_ ok do you have talks submitted already?
14:07 pmichaud oooh, masaktalk!
14:08 masak toddr_: https://gist.github.com/masak/5014406 -- this is the "June blogging" I did in 2011.
14:08 masak toddr_: I can easily make a 4-hour course from that.
14:08 tadzik that reminds me to continue Quest :)
14:08 masak toddr_: I don't have talks submitted yet, no.
14:08 masak toddr_: I'm thinking actively about it.
14:08 toddr_ I was thinking we could even put together a server and give out accounts and/or make pre-built P6 builds for OSX, debian, windows
14:09 masak cool.
14:09 FROGGS_ pmurias: the message you get is some sort of warning I must fix some day
14:09 toddr_ I can get the server with accounts setup to ease class getting started time.
14:09 toddr_ masak: Just put that it's a 4 hour talk in the submission and I'll set it up.
14:09 pmurias FROGGS_: do you also get it?
14:10 pmurias FROGGS_: the trailing code doesn't get run
14:10 FROGGS_ pmurias: you still can do: -e 'if 1 { say 2 }; { use v5; for(1..5) { say $_; } }; say "back in perl 6 land"'
14:10 toddr_ masak: I'm thinking it should be an afternoon class in the main auditorium to maximize attendance?
14:10 FROGGS_ pmurias: I get that also
14:10 FROGGS_ pmurias: what trailing code?
14:11 woosley joined #perl6
14:11 masak toddr_: makes sense.
14:11 FROGGS_ pmurias: my $x (1..5) { say $x } doesnt work yet though
14:11 FROGGS_ err, for*
14:12 toddr_ I think we should also round up some T.A.s to help with questions
14:12 masak toddr_: do you really mean a Perl 6 course from first principles? what exactly do you think I can assume from the audience? prior Perl exposure? prior programming experience?
14:12 pmurias FROGGS_: the snippet you pasted doesn't print anything
14:12 pmichaud I think prior Perl exposure is a safe assumption.
14:12 masak me too.
14:13 masak that makes things a whole lot simpler :)
14:14 toddr_ masak: Yep Assume working perl5 knowledge
14:14 toddr_ but not expert in any way
14:15 pmurias FROGGS_: is perl5 code supposed to execute at this point or only parse?
14:15 FROGGS_ pmurias: https://gist.github.com/FR​OGGS/52dc87bd2203230eb12f
14:15 FROGGS_ pmurias: you checked out the tmp_highfive branch?
14:15 masak toddr_: sounds like a nice crowd to talk to. I would really enjoy doing something like that.
14:15 FROGGS_ pmurias: it gets executed
14:15 PacoAir joined #perl6
14:16 masak ooh, I could base it around common RC-like code examples, and permute things as I go to Perl 6. :) TimToady++ did that in a keynote once.
14:16 masak I think that could easily work in a course setting as well.
14:16 toddr_ masak: looking forward to it. I'm on irc.perl.org regularly if you need anything
14:17 mst I would suggest a single VM
14:17 [Coke] my daughter is actually interested in learning programming. shame I'm going to have to start her on something other than perl 6!
14:17 mst trying to produce builds for multiple OSes would likely be more confusion than it's worth
14:17 mst (even if I can probably do it)
14:17 mst (which means people who know what they're doing definitely can :)
14:17 masak [Coke]: I'd start with JavaScript.
14:18 pmichaud several of our robotics team members went with javascript
14:18 pmichaud seemed to work out reasonably well
14:18 preflex joined #perl6
14:19 pmurias FROGGS_: the snippets doesn't work here
14:20 FROGGS_ pmurias: hmmm weird
14:20 FROGGS_ pmurias: but you are on the right branch?
14:20 FROGGS_ and you made realclean?
14:20 pmurias I did a fresh clone
14:20 FROGGS_ (cause I changed the Makefile)
14:21 pmurias the exception kills rakudo here
14:21 FROGGS_ ohh right
14:21 pmurias and somehow the code continues on your box
14:21 FROGGS_ pmurias: I changed that in nqp but didnt push because it is an evil hack
14:22 pmurias what's causing the exception?
14:23 FROGGS_ pmurias: you might want to apply that patch https://gist.github.com/FROGGS/52dc​87bd2203230eb12f#file-gistfile1-txt
14:23 Psyche^ joined #perl6
14:24 preflex joined #perl6
14:25 FROGGS_ pmurias: I believe that error is thrown because of the different namespace of the grammar/actions, but I'm not sure
14:26 renormalist joined #perl6
14:28 pmurias FROGGS_: the error is thrown because we are reblessing the cursor into an different grammar
14:28 pmurias the error is correct
14:29 preflex_ joined #perl6
14:34 pmurias FROGGS_: otherwise we will end up with a crazy object which has attributes from classes it doesn't inherit from
14:35 preflex joined #perl6
14:37 renormalist joined #perl6
14:41 pmurias FROGGS_: wouldn't it be more sane to first have a standalone perl5 mode and the work on 'use v5'?
14:45 census joined #perl6
14:46 anocelot The question for [coke] is, did your daughter like the butterfly logo?
14:46 preflex joined #perl6
14:50 cognominal joined #perl6
14:50 pmichaud I've come across several young women that liked the butterfly logo.
14:51 moritz anocelot: fwiw my daughter likes it very much
14:52 moritz she shouts "metterling" in a delighted voice when she sees it ("schmetterling" is German for "butterfly", and her pronounciation isn't perfect yet :-)
14:53 anocelot I'm sure that will make TimToady happy.  ;)
14:54 moritz also she sometimes points at my computer screen and shouts "papa", and at first I have no idea what she means
14:54 moritz and then it turns out my github profile picture showed up on some page there :-)
14:55 masak :)
14:55 tadzik :]
14:55 * masak .oO( Camelia: optimized for moritz++' daughter ) ;)
14:56 pmichaud .oO( moritz++ daughter, optimized for Perl 6-related imagery :)
14:56 pmichaud now if moritz can just get her to shout "Weird Al!" whenever she sees a picture of Larry....   :-P
14:58 JimmyZ joined #perl6
15:00 moritz I'm sure I could make her do it, just by doing it myself often enough
15:01 renormalist joined #perl6
15:02 cognominal joined #perl6
15:02 masak I could see that one getting old, though.
15:03 moritz and a bit embarrasing if she every meats Larry in person :-)
15:04 arnsholt Well, this is annoying. I thought I'd figured out how to make sixmodelobject work natively with |@params but for some reason it doesn
15:17 TimToady embarrassing to Weird Al maybe :)
15:18 colomon joined #perl6
15:18 moritz :-)
15:19 cognominal joined #perl6
15:20 renormalist joined #perl6
15:26 genehack joined #perl6
15:27 spider-mario joined #perl6
15:30 masak TimToady++
15:32 pmurias FROGGS_: I removed the rebless and your example works
15:33 pmurias FROGGS_: LANG creates and uses a fresh cursor so maybe the rebinding was unneeded?
15:33 dalek rakudo/tmp_highfive: 56f3f77 | (Tobias Leich)++ | src/Perl6/P5 (2 files):
15:33 dalek rakudo/tmp_highfive: method call works
15:33 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/56f3f7718b
15:33 FROGGS_ pmurias: so I we dont need the rebless? cool
15:33 FROGGS_ make -j4 && ./perl6 --ll-exception -e 'use v5; say 1->WHAT'
15:33 FROGGS_ (Int)
15:33 FROGGS_ hehe
15:33 moritz \o/
15:34 arnsholt Cool!
15:34 FROGGS_ :o)
15:34 moritz does that work with methods too?
15:34 moritz (WHAT is a macro, not a method, in Perl 6)
15:35 FROGGS_ moritz: 1->Str is working too
15:35 pmurias but aren't we using Perl 6 semantics with a Perl 5 syntax?
15:36 toebu joined #perl6
15:36 FROGGS_ pmurias: is that a problem?
15:36 preflex joined #perl6
15:36 moritz I guess that 'use v5;' will have to import lots of built-ins
15:37 moritz like a &say that uses the .Str semantics instead of .gist
15:37 FROGGS_ pmurias: my personal goal is to execute perl 5 code, I dont bother if one would be able to call methods on everything
15:37 pmurias in that particular case it's not a problem
15:37 arnsholt But to run the Perl 5 code properly, you need the proper semantics
15:37 arnsholt Which, for example, means that say needs to do something different from Perl 6 say
15:38 arnsholt Of course, at the moment using Perl 6 say is fine =)
15:38 pmichaud I'd guess that "use v5;" would imply switching a setting somehow.
15:38 pmichaud s/a/the/
15:38 FROGGS_ arnsholt: right, right now it calls .gist, it will have to do something else in future
15:39 jnthn pmichaud: I was thinking that, then realized it's not quite that simple 'cus you expect to see outer lexicals
15:40 pmichaud that's why  I said "switch a setting" and not just "start a new lexical context"  :)
15:40 FROGGS_ I guess the communication between v6 and v5 blocks is easier if the v5 block only uses Perl 5 syntax but the rest is the same
15:41 FROGGS_ but we'll see what we need to do I gues
15:41 FROGGS_ s
15:42 pmichaud afk, errands
15:44 pmurias__ joined #perl6
15:45 pmurias FROGGS_: how should I submit changes to tmp_highfive?
15:50 FROGGS_ pmurias: just push if you have commit bit
15:51 FROGGS_ since it is just a branch that will never be merged directly feel free
15:52 cognominal joined #perl6
15:52 moritz and if you don't have a commit bit, use pull requests
15:52 moritz (just be careful to set the right destination branch)
15:52 FROGGS_ ... or we work on a fork
15:53 moritz might be easier, if many patches are stacking up
15:54 FROGGS_ right
15:56 [particle] joined #perl6
16:00 isBEKaml joined #perl6
16:02 census_ joined #perl6
16:05 cognominal joined #perl6
16:09 kresike bye folks
16:10 census joined #perl6
16:13 pmurias FROGGS_: I don't have a commit bit, why do you plan to delete history at some point?
16:16 FROGGS_ because there is too much mess atm
16:17 FROGGS_ pmurias: btw, if you can get this to work that would be sweet: 'use v5; say 1; { use v6; say 2 }'
16:18 FROGGS_ pmurias: I could clean it up tonight, so one (you and me) can make permanent commits
16:20 anocelot Would it work easier to use 'package' to accomplish that?  (I don't know; just asking.)
16:20 timotimo do you know what it's like to get a super amazing link from somewhere and half an hour later you're done consuming the info from it and want to thank the linker, but don't remember where it came from?
16:20 timotimo so anyway: i wonder if this would be feasible for perl6 at all :D  http://www.youtube.com/watch?v=8SkdfdXWYaI
16:20 timotimo (coding and shell usage with dragon natural speaking and a bunch of made-up words and snippets)
16:23 pmurias FROGGS_: ok, I'll try to get that to work
16:23 FROGGS_ anocelot: the problem is not with the syntax, but with the code that gets invoked when hitting 'use v6'
16:23 FROGGS_ pmurias++
16:23 FROGGS_ pmurias: but feel free to do something else if you want to
16:23 anocelot FROGGS_ Ah.
16:24 * TimToady waves at anocelot
16:24 isBEKaml FROGGS_: careful, you might drive pmurias away. :)
16:25 FROGGS_ isBEKaml: no, I believe this topic is rather too cool to get somebody off it :o)
16:25 * anocelot waves at TimToady.  I think I've seen you somewhere before...  XD
16:26 isBEKaml FROGGS_: lol. I was just pointing out how "but feel free to do something else if you want to" might go the other way. :D
16:26 masak anocelot: oh hai! fancy seeing you around here :)
16:28 anocelot masak: o.o/
16:28 TimToady is that an owl wing on the right?
16:28 anocelot masak: TimToady dropped by my Perl class the other night and inspired me to drop by.  But don't tell anyone.
16:29 diakopter anocelot: I think it's great you're interested in learning Perl so you're in a class!
16:29 TimToady Pay no attention to the guitarist behind the curtain!
16:29 anocelot TimToady: It's just a waving arm.  Sorry; When I'm in a chat room I usually default to CAA speak.  >.<  I'll try to be more grown up.
16:30 anocelot diakopter: Yeah.  The professor's a real jerk sometimes, though.  ;)
16:30 diakopter I KNOW
16:30 timotimo what is CAA speak?
16:30 diakopter Compressed Ascii Art?
16:31 anocelot It's a slang dialect spoken by the (mostly college folk) users on a board I run. (Not trying to pimp my other projects; honest!)
16:32 timotimo oh, i see
16:32 FROGGS_ pmurias: can you add the irc service hook? so I see when you push and vice versa
16:32 anocelot timotimo: I sorta wrote my own chat server before I knew any better, so I'm always logged into it to troubleshoot stuff.
16:32 timotimo hehe, poor you :)
16:32 TimToady of course, IRC has no problems at all...
16:33 * diakopter throws an ocelot at anocelot
16:33 anocelot timotimo: Oh no, the REAL travisty is that I didn't know better.  SO it's an ajax client connecting to a PHP/MySQL back-end.  As a reformed PHP programmer, I can't tell you how much I love working with Perl.
16:33 timotimo oh, that wasn't ten years ago
16:34 timotimo i see
16:34 anocelot Wait...  Typing PHP doesn't get me automatically kicked out of the chat room?  Who wrote the bot here...?
16:34 TimToady we hug trolls here
16:35 FROGGS_ anocelot: we are pretty tolerant here
16:35 TimToady hugme: hug anocelot
16:35 * hugme hugs anocelot
16:35 FROGGS_ I'm forced to hack PHP at work, and sometimes even enjoyed... okay, now I said it :o)
16:35 anocelot Bwahaha.
16:36 diakopter hugme: kick anocelot
16:36 TimToady addictions can be hard to kick
16:36 diakopter hmm... delayed response
16:36 anocelot Apparently so can anocelots.
16:36 diakopter oh
16:36 thirdm joined #perl6
16:36 diakopter there we go
16:37 FROGGS_ PHP
16:37 FROGGS_ O.o
16:37 FROGGS_ o.O
16:37 FROGGS_ \o/
16:37 FROGGS_ okay, back to p6/p5
16:37 anocelot :D
16:37 diakopter that's 1.2
16:38 cognominal joined #perl6
16:38 TimToady diakopter: mind your p's (and q's)
16:39 diakopter now hugme gives heavy-handed hugs
16:39 isBEKaml hugme: hug diakoopter
16:39 * hugme hugs diakoopter
16:39 TimToady I've got to foot it to you.
16:40 isBEKaml that's so heavy I misspelt it.
16:42 masak anocelot: yeah, I saw on Twitter that TimToady dropped by. :) it's great that you're here -- welcome!
16:43 * masak secretly puts a check mark in yet another box, and proceeds to the next step of world domination
16:43 * masak .oO( did I just mad scientist that out loud? )
16:44 TimToady no, you did it secretly
16:44 masak oh phew
16:45 anocelot masak: Danka!
16:46 Chillance joined #perl6
16:46 masak phenny: "Danka!"?
16:46 masak ENOPHENNY :(
16:46 [particle] joined #perl6
16:49 FROGGS_ missing since a week or so
16:50 isBEKaml launch SAR party?
16:51 preflex joined #perl6
17:00 renormalist joined #perl6
17:18 cognominal joined #perl6
17:25 fglock joined #perl6
17:27 fglock I'm starting a Perl6 module - do you know a good example I can start with?
17:27 fglock as in, well written
17:31 moritz fglock: I might be biased, but I like https://github.com/moritz/json/
17:31 xantamoc joined #perl6
17:34 fglock thanks - exactly what I needed
17:36 fglock the pod is commented out?
17:38 domidumont joined #perl6
17:40 timotimo must be from a time before pod was properly implemented in rakudo or maybe in niecza, too? or maybe it's supposed to be compatible with pugs as well and pugs doesn't have pod?
17:58 moritz it's from a time before rakudo and niecza understood pod properly
18:01 cognominal joined #perl6
18:04 pmurias FROGGS_: how do I add dalek hooks to my repo?
18:04 preflex joined #perl6
18:06 SamuraiJack joined #perl6
18:09 dalek rakudo/tmp_highfive: 6d09aef | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
18:09 dalek rakudo/tmp_highfive: we can declare packages now
18:09 dalek rakudo/tmp_highfive: review: https://github.com/rakudo/rakudo/commit/6d09aef37b
18:09 moritz pmurias: that's described in the mu repo in misc/dalek*.txt
18:09 FROGGS_ pmurias: go to the admin page, and then there are the service hooks
18:10 FROGGS_ ahh, okay, dalek
18:10 FROGGS_ what moritz said :o)
18:11 FROGGS_ next thing to do: subroutines
18:13 masak anyone wanna release-manage the April Rakudo release?
18:14 FROGGS_ masak: I can sign up for may, but next month too many of my ppl have birthday, so...
18:14 FROGGS_ won't have time for it
18:21 rindolf joined #perl6
18:24 masak FROGGS_: please do.
18:24 preflex joined #perl6
18:25 colomon joined #perl6
18:28 dalek rakudo/tmp_highfive: d868fe5 | (Pawel Murias)++ | src/Perl6/ (2 files):
18:28 dalek rakudo/tmp_highfive: avoid reblessing the cursor while handling 'use v5'
18:28 dalek rakudo/tmp_highfive: review: https://github.com/rakudo-p​5/rakudo/commit/d868fe51a3
18:32 dalek Perlito: bf88649 | (Flavio S. Glock)++ | util-perl5/bootstrap-perlito6-perl5.sh:
18:32 dalek Perlito: Perlito6 - Makefile - add "make build-6to5"
18:32 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/bf88649d34
18:32 dalek Perlito: f50c35e | (Flavio S. Glock)++ | / (2 files):
18:32 dalek Perlito: Perlito6 - Makefile - add "make build-6to5"
18:32 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/f50c35e035
18:36 Targen joined #perl6
18:38 cognominal__ joined #perl6
18:41 japhb_ joined #perl6
18:42 xantamoc left #perl6
18:44 dalek rakudo/nom: 221a95f | masak++ | docs/release_guide.pod:
18:44 dalek rakudo/nom: [docs/release_guide.pod] signed up FROGGS for May
18:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/221a95f63e
18:44 masak anyone wanna go for April? :)
18:51 spider-mario joined #perl6
18:55 preflex_ joined #perl6
18:56 pmurias when calling a 'use v6' from 'use v5' we get the modifed Perl6 language from before use v5 or the default one?
18:59 preflex joined #perl6
19:00 masak I should think the modified one.
19:00 pmurias I think so too
19:01 masak because, in some sense, it's lexically nested, even with a layer of Perl 5 in-between.
19:02 preflex_ joined #perl6
19:03 sorear Whatever you do, it should be consistent with rx { '$~Regex stuff' { 'Perl 6' } }
19:04 masak aye.
19:04 masak and with "normal string { 'Perl 6' }"
19:06 pmurias having to recompile the Perl 6 setting after every change to the Perl6 grammar sucks :(
19:08 fgomez joined #perl6
19:12 masak yes, but mostly because the setting is huge and parsing is slow.
19:12 pmurias sorry, meant the Perl5 grammar
19:14 pmurias after changing the Perl 6 grammar the recompilation is necessary, after changing the Perl 5 grammar it's really annoying
19:16 sorear std: 2+2
19:16 p6eval std 86b102f: OUTPUT«ok 00:00 42m␤»
19:17 sorear that's how long it takes perl 5 to parse a roughly 100,000 line STD.pmc file.  can we match that?
19:17 masak match what? 00:00?
19:18 sorear masak: yes.  rounding is allowed.
19:18 sorear er
19:18 sorear actually you should match the irc-level latency
19:18 sorear because I think the 00:00 counter starts *after* the parsing of STD.pmc is complete
19:19 sorear oh, no, it does count that
19:19 sorear my ($time, $vsz) = split(' ', `ps -o "time= vsz=" $$`);
19:21 pmurias it would be interesting to how much faster would the grammars on the jvm be compared to parrot
19:22 masak my bet is on "not disappointingly".
19:23 arnsholt Yeah, it'll be very interesting to see how Rakudo/JVM performs
19:24 preflex_ joined #perl6
19:28 pmurias would it be possible to allow modules to hijack the parsing?
19:28 sorear "is not-disappointingly faster" or "is not, disappointingly, faster"
19:29 sorear pmurias: Absolutely
19:29 sorear export something into %*LANG<MAIN>
19:30 pmurias will that get reverted on scope exit?
19:30 sorear yes
19:30 arnsholt Initial indications from NQP/JVM are that the performance improvements are not disappointing, IIRC
19:30 sorear %*LANG is contextualized by every block
19:30 sorear supporting use COBOL; has been the goal here all along
19:30 pmurias so that should be the proper way to implement 'use v5'?
19:30 sorear yes.
19:31 diakopter arnsholt: yeah... warm jvm startup on *my* box is only 52ms... compared to perl's 1ms
19:31 diakopter [or less]
19:31 sorear STD switches to %*LANG<MAIN> at the beginning of every statement
19:32 sorear diakopter: the reason niecza targets the clr is because warm jvm startup on *my* box was, at the time, closer to 52s
19:32 sorear and it wasn't even swapping
19:32 sorear wtf did they do to make startup do so much less computation
19:33 diakopter 52s !?!?
19:33 arnsholt Impressive =)
19:33 sorear I can live with 52ms
19:33 diakopter erm, that's like apples and giant peaches
19:33 TimToady apples and orangutans...
19:34 sorear o/ TimToady
19:34 TimToady \o
19:39 diakopter sorear: my point is, there are plenty of commodity machines on which jvm startup has been that low basically from the beginning
19:40 diakopter er, fast
19:41 diakopter your machine seems like it just happened to be a hundred times slower than machines available 19 years ago
19:41 diakopter [for any number of reasons relating to hardware or software state, or just specs]
19:42 kivutar joined #perl6
19:44 preflex joined #perl6
19:48 sorear nobody was trying to run the sun jvm 1.7 on machines 19 years ago
19:49 preflex_ joined #perl6
19:49 cognominal__ joined #perl6
19:50 sevin joined #perl6
19:58 preflex_ joined #perl6
20:09 dalek Perlito: 14d406d | (Flavio S. Glock)++ | Makefile:
20:09 dalek Perlito: Perlito6 - Makefile - add "make test-6to5"
20:09 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/14d406dabe
20:11 preflex joined #perl6
20:11 Chillance_ joined #perl6
20:11 bruges_ joined #perl6
20:15 diakopter it's lame how perlmonks won't let you view certain messages unless you are logged in
20:15 diakopter (messages below the default "chosen depth")
20:16 dalek perl6-roast-data: e5aef20 | coke++ | / (4 files):
20:16 dalek perl6-roast-data: today (automated commit)
20:16 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/e5aef202d2
20:16 diakopter [Coke]++
20:22 preflex joined #perl6
20:28 dalek Perlito: fbe7bf6 | (Flavio S. Glock)++ | Makefile:
20:28 dalek Perlito: Perlito6 - Makefile - add "make build-6py"
20:28 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/fbe7bf673f
20:31 dalek Perlito: aaca2e2 | (Flavio S. Glock)++ | / (2 files):
20:31 dalek Perlito: Perlito6 - update Python build docs
20:31 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/aaca2e2978
20:36 preflex_ joined #perl6
20:46 rindolf joined #perl6
20:55 snearch joined #perl6
20:55 preflex joined #perl6
20:57 aindilis joined #perl6
20:59 cognominal__ joined #perl6
20:59 aindilis joined #perl6
21:03 thirdm left #perl6
21:04 aindilis joined #perl6
21:06 preflex joined #perl6
21:11 aindilis joined #perl6
21:12 timotimo i can't bootstrap panda any more
21:12 timotimo is that known?
21:15 labster joined #perl6
21:17 FROGGS_ it's news to me fwiw
21:17 tadzik news to me too
21:17 tadzik what's wrong?
21:18 xantamoc joined #perl6
21:19 preflex_ joined #perl6
21:26 timotimo hold on
21:26 timotimo t/panda/builder.t .... Failed 4/6 subtests  -  Failed tests:  1-2, 4, 6
21:29 tadzik uh-oh
21:29 tadzik who did that :)
21:31 timotimo well...?
21:32 masak a well did that?
21:32 timotimo flood the fortress! /o\
21:33 masak we shouldn't let our water storages near our code, if you ask me.
21:34 timotimo masak: did we have any big insights on how to make the constructors/deconstructors and type variables and friends work properly for our ADTs?
21:34 timotimo still kind of not sure how to implement that
21:35 masak timotimo: I think the next interesting step would be to apply jnthn's JSON-to-class code to the ADTs.
21:35 masak no macros yes, just BEGIN-time Perl 6 code.
21:35 masak and to see how far you can push the sugaring.
21:35 masak my guess is "pretty far".
21:35 masak no macros, no syntax mods.
21:35 masak just a functional API.
21:35 timotimo well, yeah, that's what i wanted to do. but how to do it is the question i was trying to ask
21:36 timotimo should i just mimic your class-based example for ADTs as closely as possible?
21:37 preflex joined #perl6
21:37 timotimo also, is it still sensible to write Tree[::A] on the lhs of the = or should it just be Tree[Str]?
21:37 timotimo er, Tree[A] i meant.
21:38 timotimo ... well, that's basically a two-character-change in the source anyway
21:47 preflex joined #perl6
21:51 census2 joined #perl6
21:51 census2 Hey!
21:53 cognominal__ joined #perl6
21:53 timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> ($key, [:$bar, :$baz]) { say "$key => $bar, $baz" }
21:53 p6eval rakudo 221a95: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤current instr.: '' pc 507 ((file unknown):-182586723) (/tmp/Cf047tqdhs:1)␤called from Sub '' pc 273526 (src/gen/CORE.setting.pir:120101) (src/gen/CORE.setting:5631)␤called from Sub 'reif…
21:54 timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> ($key, (:$bar, :$baz)) { say "$key => $bar, $baz" }
21:54 p6eval rakudo 221a95: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤current instr.: '' pc 507 ((file unknown):217) (/tmp/9nlh_A2rNz:1)␤called from Sub '' pc 273526 (src/gen/CORE.setting.pir:120101) (src/gen/CORE.setting:5631)␤called from Sub 'reify' pc 2…
21:54 jnthn timotimo: strip off those outer parens from how you originally had it
21:54 timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> $key, [:$bar, :$baz] { say "$key => $bar, $baz" }
21:54 p6eval rakudo 221a95: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Hash instead␤current instr.: '' pc 507 ((file unknown):217) (/tmp/S99aOiu_nH:1)␤called from Sub '' pc 273526 (src/gen/CORE.setting.pir:120101) (src/gen/CORE.setting:5631)␤called from Sub 'reify…
21:55 jnthn And now use parens instead of squares :)
21:55 timotimo oh, duh :)
21:55 timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> $key, (:$bar, :$baz) { say "$key => $bar, $baz" }
21:55 p6eval rakudo 221a95: OUTPUT«foo => 1, 2␤bar => 99, 100␤»
21:55 timotimo ah, very nice. thanks!
22:00 timotimo turns out i don't even need it
22:00 timotimo but it's still cool
22:03 xantamoc left #perl6
22:04 timotimo r: say "attr_a" + 1
22:04 p6eval rakudo 221a95: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏attr_a' (indicated by ⏏)␤  in method Numeric at src/gen/CORE.setting:10608␤  in sub infix:<+> at src/gen/CORE.setting:2871␤  in sub infix:<+> at src/gen/CORE.setting:2869␤  in …
22:04 timotimo oh, that's not what i wanted
22:04 timotimo r: say ("attr_a"..*).gimme(10)
22:04 p6eval rakudo 221a95: OUTPUT«No such method 'gimme' for invocant of type 'Range'␤  in block  at /tmp/yhOi1BpvWb:1␤␤»
22:05 timotimo r: say ("attr_a"..*).take(10)
22:05 p6eval rakudo 221a95: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method take at src/gen/CORE.setting:706␤  in block  at /tmp/TSYRos_DAu:1␤␤»
22:05 jnthn say ("attr_a"..*)[^10]
22:05 timotimo r: say "attr_a".succ
22:05 p6eval rakudo 221a95: OUTPUT«attr_b␤»
22:05 jnthn r: say ("attr_a"..*)[^10]
22:05 p6eval rakudo 221a95: OUTPUT«attr_a attr_b attr_c attr_d attr_e attr_f attr_g attr_h attr_i attr_j␤»
22:05 timotimo succ is what i wanted
22:10 masak r: say "attr_z".succ
22:10 p6eval rakudo 221a95: OUTPUT«attr_aa␤»
22:11 masak r: say "attr_zzzzzzzzzz".succ
22:11 p6eval rakudo 221a95: OUTPUT«attr_aaaaaaaaaaa␤»
22:11 masak r: sub sudden-wakeup($string) { uc $string.succ ~ "h!" }; say sudden-wakeup "zzzzzzzzzz"
22:11 p6eval rakudo 221a95: OUTPUT«AAAAAAAAAAAH!␤»
22:11 masak *lol*
22:12 jnthn oh no, I was thinking of doing exactly that :P
22:12 masak :P
22:16 xenoterracide joined #perl6
22:28 masak rn: say .[*-1] given "perl", *.succ ... { 45_566 == ++state $ }
22:29 p6eval rakudo 221a95: OUTPUT«(timeout)»
22:29 p6eval ..niecza v24-35-g5c06e28: OUTPUT«ruby␤»
22:29 * masak grins
22:29 masak rn: say .[*-1] given "perl" ... { 3 == ++state $ }
22:29 p6eval rakudo 221a95: OUTPUT«perj␤»
22:29 p6eval ..niecza v24-35-g5c06e28: OUTPUT«pern␤»
22:29 * masak submits rakudobug
22:35 skids joined #perl6
22:37 cognominal__ joined #perl6
22:42 dalek perl6-examples: 8fb22b1 | (David Warring)++ | parsers/CSSGrammar.pm:
22:42 dalek perl6-examples: CSSGrammar tlc
22:42 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/8fb22b1fad
22:47 xantamoc joined #perl6
22:52 fgomez joined #perl6
22:52 masak I did some quick statistics. the three most frequent committers to the spec: TimToady (637), moritz (148), and me (133).
22:53 census masak++
22:53 masak oh, sorry. moritz++ did 233 commits. I missed one instance of him :)
22:54 Liz_ joined #perl6
23:13 cognominal__ joined #perl6
23:15 FROGGS_ joined #perl6
23:24 masak 'night, #perl6
23:24 diakopter 'nite masak
23:24 felher masak: sleep well
23:26 xantamoc left #perl6
23:48 cognominal__ joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo