Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-02-20

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:00 masak jnthn: :)
00:00 jnthn diakopter: I think that's correct.
00:00 diakopter std: {nom,nom,nom}.WHAT.say
00:00 p6eval std 29783: OUTPUT«Undeclared routine:␤   'nom' used at line 1,1,1␤ok 00:01 106m␤»
00:00 jnthn The {;;;;} is...funnier. :-)
00:00 jnthn Oh, we don't have the undeclared routine warnings yet, that's all.
00:01 diakopter rakudo: {nom,nom,nom}.=()
00:01 p6eval rakudo 3b869c: OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2b9596d2d173]␤/home/p6eval//p2/lib/l​ibparrot.so.2.1.0(Parrot_confess+0x87) [0x2b9596d2d2a7]␤/home/p6eva​l//p2/lib/libparrot.so.2.1.0
00:01 p6eval ..[0x2b959…
00:01 jnthn empty statements currently "evaporate"
00:01 jnthn Now you've gone and done it.
00:01 diakopter it eated itself
00:01 masak hm. time for attempted sleep.
00:01 masak thanks everyone, you've been grand.
00:01 jnthn masak: Happy attempting.
00:01 diakopter no masakbug on the failed assertion?
00:02 masak jnthn: attempts at thanks.
00:02 jnthn :-)
00:02 diakopter is that a known issue or something?
00:02 diakopter oh, src/hash.c ... that's ... parrot?
00:03 jnthn diakopter: Yeah
00:03 diakopter chromatic: see 'bove
00:03 jnthn diakopter: It's actually managed to create an assertion failure somewhere in Parrot itself.
00:03 jnthn That doesn't happen often these days.
00:03 diakopter FTW
00:03 lichtkind mberends: cheers i***** :)
00:03 diakopter ya missed a letter
00:04 lichtkind :)
00:04 lichtkind right
00:04 mberends lichtkind: good morning o enlightened one
00:05 lichtkind mberends: so tuits for a wiki tour?
00:05 diakopter who the parrot folk
00:06 diakopter jnthn: eh, I crashed both the .NET JIT and the Mono JIT a few weeks ago; that was all kinds of fun
00:06 mberends lichtkind: ok, starting at http://www.perlfoundation.org/perl6/index.cgi
00:06 jnthn diakopter: Heh. Nice to know it's not *just* Rakudo. :-)
00:07 diakopter aww; he missed my hilite
00:07 * diakopter goes to see who's in #parrot
00:10 lichtkind mberends: allright so lets clean the second half there
00:10 lichtkind mberends: you want to do first?
00:13 mberends I would suggest generally each subheading remains as the only word, and the text below each heading becomes a subpage. But there may be exceptions..
00:14 mberends Development Status, Downloads, Online Documentation can all do that
00:15 mberends Products and Services should maybe just disappear
00:16 mberends Other Information, oops, a new spam there. No good to us, we're not teens ;)
00:16 lichtkind mberends: im not that radical but i would first put some meat into the implementations page
00:18 lichtkind mberends: and maybe create about perl 6 page from where goes all the general term infos as links
00:18 mberends lichtkind: ok you do that, I'll get started on implementations
00:19 lichtkind mberends: allright so you write the implementations page and i clean the front page?
00:19 mberends oki
00:22 lichtkind mberends: http://www.perlfoundation.org/perl6/index.cgi?faq
00:22 lichtkind im rewiring now :)
00:22 jnthn loliblogged http://use.perl.org/~Jonath​anWorthington/journal/40196
00:24 mberends jnthn: did you visit Amsterdam recently? (^Wnamed...)
00:25 jnthn mberends: Not for quite a while, actually.
00:25 jnthn mberends: Morrocco more recently than that. ;-)
00:29 cotto_work joined #perl6
00:30 lichtkind mberends: or wnat we cut the new to and just link to another news page which already exists
00:30 diakopter rakudo: {}.==()
00:30 p6eval rakudo 3b869c: OUTPUT«Null PMC access in invoke()␤current instr.: '!assign_metaop' pc 16493 (src/builtins/Junction.pir:299)␤»
00:30 diakopter jnthn: ^^
00:31 jnthn ...what are we doing in assign_metaop?!
00:31 mberends lichtkind: the news looks nice on the main page, don't you think?
00:31 lichtkind allright
00:35 lichtkind mberends: the most work is to chekc all the rigth places for the lins :)
00:35 lichtkind links
00:37 diakopter rakudo: .=()
00:37 p6eval rakudo 3b869c: OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2aed5e0b0173]␤/home/p6eval//p1/lib/l​ibparrot.so.2.1.0(Parrot_confess+0x87) [0x2aed5e0b02a7]␤/home/p6eva​l//p1/lib/libparrot.so.2.1.0
00:37 p6eval ..[0x2aed5…
00:37 mberends lichtkind: ok, interim saved http://www.perlfoundation.org/p​erl6/index.cgi?implementations while looking at your links
00:40 andy1 left #perl6
00:40 lichtkind mberends: dont understand you
00:41 lichtkind mberends: but i added something to implementations :)
00:41 lichtkind hope its doesnt destroy your save
00:41 jnthn mberends: ping
00:42 mberends jnthn: pong
00:42 jnthn mberends: It occurs to me that the "Stages" section maybe more naturally warrants a section of its own rather than being in the nqp part?
00:42 diakopter rakudo: ([].''() ~ 'hi').say
00:42 p6eval rakudo 3b869c: OUTPUT«Undefined value shifted from empty array␤current instr.: 'perl6;Perl6Exception;throw' pc 14244 (src/builtins/Seq.pir:52)␤»
00:43 jnthn mberends: One other reason to stick with NQP for now is that it also is able to generate more efficient code than Rakudo presently can, due to being able to make a bunch of assumptions that (at least without an optimizer) Rakudo can't.
00:43 mberends lichtkind: your implementations edit is ok here
00:43 mberends jnthn: sure, we can also add a bit more detail about stages
00:44 diakopter rakudo: ([[]].''().perl ~ 'hi').say
00:44 p6eval rakudo 3b869c: OUTPUT«[]hi␤»
00:44 diakopter jnthn: ???
00:44 diakopter the empty method on [] is the same as 'shift'?
00:44 mberends jnthn: makes sense, but I'd never thought of that before.
00:45 Tene how does that make sense?
00:45 mberends jnthn: ok, the sequence can try to trace the build process defined by the Makefile dependencies
00:46 eternaleye joined #perl6
00:46 mberends Tene: nqp is not such a complex language, so its generated code cannot be as complex as full Perl 6
00:46 lichtkind mberends: moved sevaral quotes to quote section http://www.perlfoundation.org/​perl6/index.cgi?perl_6_quotes
00:47 Tene mberends: ah, I thought you meant that empty method on [] is shift made sense.
00:47 diakopter rakudo: [[]].perl.say; [[]].''().perl.say # jnthn
00:47 p6eval rakudo 3b869c: OUTPUT«[[]]␤[]␤»
00:47 jnthn diakopter: Yeah...oddness :-)
00:47 eternaleye jnthn: re your latest blog post, is that how list infixes are going to be implemented?
00:47 mberends Tene: no, wires.uncross() ;-)
00:48 jnthn eternaleye: I doubt it.
00:48 jnthn eternaleye: Provided we're talking about the same things anyway. :-)
00:49 jnthn mberends: Anyway, it's good overall.
00:49 mberends lichtkind: perl_6_quotes is a really good idea :)
00:49 jnthn mberends: I'll try and make time to write up some extra bits on the binder and some of the interesting dynpmcs.
00:49 eternaleye Still, nested signatures are cool in so many ways
00:49 mberends thanks for the suggestions jnthn
00:49 jnthn mberends++ # documenting our guts
00:50 jnthn eternaleye: Yes, they're pretty powerful. Especially when fixed with multi dispatch.
00:50 diakopter rakudo: my @a = {1}..{1}; say @a
00:50 p6eval rakudo 3b869c: OUTPUT«Method 'succ' not found for invocant of class 'Block'␤current instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)␤»
00:50 lichtkind mberends: it was there before i just cleaning up
00:50 jnthn eternaleye: erm, mixed with. :-)
00:51 diakopter rakudo: my @a = 'A'..'z'; say @a # timeout???
00:52 p6eval rakudo 3b869c:  ( no output )
00:52 diakopter oh, no
00:52 diakopter it says
00:52 diakopter Could not find non-existent sub &A
00:52 diakopter current instr.: '_block14' pc 29 (EVAL_1:0)
00:52 diakopter called from Sub '!UNIT_START' pc 1125 (src/glue/run.pir:17)
00:52 diakopter called from Sub 'perl6;PCT;HLLCompiler;eval' pc -1 ((unknown file):-1)
00:52 diakopter called from Sub 'perl6;PCT;HLLCompiler;command_line' pc 1489 (compilers/pct/src/PCT/HLLCompiler.pir:794)
00:52 diakopter called from Sub 'perl6;Perl6;Compiler;main' pc -1 ((unknown file):-1)
00:52 diakopter oooo
00:53 jnthn what?
00:53 jnthn it hangs here. :-|
00:53 diakopter on stdin?
00:53 diakopter I did mine   ./perl6 -e 'my @a = 'A'..'z'; say @a'
00:53 diakopter o ha
00:53 diakopter <- idiot
00:53 jnthn The quotes got swallowed.
00:54 diakopter yeah, hangs here
00:54 jnthn that's...really weird.
00:54 diakopter where's masakbot when you need 'im
00:54 jnthn rakudo: my @a = 'A'..'Z'; say @a;
00:54 p6eval rakudo 3b869c:
00:54 p6eval ..OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAG​AHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEB​FBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCD​CECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBD​CDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEA​EBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEX…
00:54 jnthn That one looks RONG too.
00:55 diakopter !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00:55 jnthn It's probably a missing termination check or something.
00:55 mberends it's counting in base 26
00:55 jnthn There's more than one way to fail it.
00:56 diakopter TimToafy
00:57 diakopter rakudo: my @a = 'A'..'Y'; say @a;
00:57 p6eval rakudo 3b869c: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXY␤»
00:57 snarkyboojum ('A'..'z').iterator.GrabAndSay(1000) is telling :)
00:58 diakopter 'A'..'Y' works, but 'A'..'Z' causes weirdness
00:58 eternaleye rakudo: class Foo { has $.a = 'Bar'; has $.b = 'Baz'; }; multi sub unpack( Foo $qux (  :$a, :$b ) { return '$a = '  ~ $a ~ ' and $b = ' ~ $b; }; say unpack( Foo.new);
00:58 p6eval rakudo 3b869c: OUTPUT«Malformed multi at line 11, near "sub unpack"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:59 eternaleye Whoops, forgot a )
00:59 mberends diakopter: locally it gets to 'YZ' and then stops.
00:59 eternaleye rakudo: class Foo { has $.a = 'Bar'; has $.b = 'Baz'; }; multi sub unpack( Foo $qux (  :$a, :$b ) ) { return '$a = '  ~ $a ~ ' and $b = ' ~ $b; }; say unpack( Foo.new);
00:59 p6eval rakudo 3b869c: OUTPUT«$a = Bar and $b = Baz␤»
00:59 eternaleye That is insanely cool.
01:00 * jnthn is cool-ly insane
01:00 diakopter rakudo: my @a = 'A'..'YZ'; say @a;
01:00 p6eval rakudo 3b869c: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXY␤»
01:00 lichtkind mberends: what your doing now?
01:00 * diakopter snort
01:00 mberends multitasking
01:00 lichtkind diakopter: :)
01:00 diakopter lichtkind: I was laughing at rakudo, a bit
01:01 eternaleye rakudo: 'jnthn++'.say for 1..10;
01:01 p6eval rakudo 3b869c: OUTPUT«Missing block at line 11, near ";"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:01 mberends lichtkind: editing implementations some more
01:01 eternaleye rakudo: for 1..10 { say 'jnthn++'; }
01:01 p6eval rakudo 3b869c: OUTPUT«jnthn++␤jnthn++␤jnthn++␤jnthn++␤jnthn​++␤jnthn++␤jnthn++␤jnthn++␤jnthn++␤jnthn++␤»
01:01 lichtkind mberends: im editing all the other pages :)
01:02 snarkyboojum rakudo: say 'Z'.succ after 'Z'
01:02 p6eval rakudo 3b869c: OUTPUT«0␤»
01:02 snarkyboojum :)
01:04 lichtkind mberends: spambot has utf problems
01:05 mberends lichtkind: does that affect saving certain wiki edits?
01:06 lichtkind mberends: spambot ruined utf in some pages, i had just the yak shaving job to repair that
01:07 snarkyboojum rakudo: say 'YZ'.succ after 'Z'
01:07 p6eval rakudo 3b869c: OUTPUT«1␤»
01:07 mberends lichtkind: I think that happened to me once a few months ago.  moritz_++ just reverted the change and we started editing again
01:09 * jnthn -> sleep, night all
01:09 snarkyboojum I'm pretty sure 'Z'.succ after 'Z' should be 1 ;)
01:09 Tene rakudo: say 'Z'.succ
01:09 p6eval rakudo 3b869c: OUTPUT«AA␤»
01:10 snarkyboojum say 'YZ'.succ
01:10 snarkyboojum rakudo: say 'YZ'.succ
01:10 p6eval rakudo 3b869c: OUTPUT«ZA␤»
01:16 lichtkind mberends: where to link the download pages?
01:19 mberends lichtkind: I'm going to include download links on the implementations page, so a download page may be unnecessary. less is better than more ;)
01:20 lichtkind mberends: but a download page is better to have to be linked from various places
01:20 lichtkind buts ist good for now
01:20 lichtkind for now i just want to ged rid of front page links
01:21 lichtkind mberends: only one screen page unnecesary front page left
01:22 mberends yeah, get rid of too much cruft. The best place for a Rakudo download link, is only on the Rakudo site, not in the Wiki at all. (the principle of don't repeat yourself)
01:28 lichtkind mberends: i uploaded camelia
01:28 mberends I see her! nice! :-)
01:29 lichtkind mberends: i take it out for the moment until get it alight right
01:29 mberends ok
01:29 lue joined #perl6
01:30 lue hello!
01:31 am0c joined #perl6
01:32 lue anyone there?
01:33 mberends er, working ;)
01:33 lue ok. It usually isn't this quiet right now (if I remember)
01:34 mberends lue: just give it a few minutes. meanwhile, read the irclog: http://irclog.perlgeek.de/perl6/today
01:37 mj41 joined #perl6
01:38 lichtkind mberends: please check http://www.perlfoundation.org/pe​rl6/index.cgi?learn_about_perl_6
01:38 mberends okidoki
01:41 lue rakudo: say 'A'..'£'
01:41 p6eval rakudo 3b869c:  ( no output )
01:41 lue pugs: say 'A'..'£'
01:41 p6eval pugs: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
01:41 mberends lichtkind: s/Getting Involved/Get Involved/ and "buy welbrutin" is spam
01:43 mberends I think also add the tutorial sites for learning, and Perl6Advent
01:44 lichtkind mberends: do it, but other than that the page is good?
01:44 mberends yes :)
01:44 lichtkind :)
01:44 lichtkind mberends: the was a lot refactoring going on :)
01:45 mberends yes it was. And I'm still working on just one page...
01:47 lichtkind mberends: hopefully not on http://www.perlfoundation.org/pe​rl6/index.cgi?learn_about_perl_6, it refactored once again, now its really good, just have a look
01:49 mberends nice. that means whatever links are duplicated on the main page, can now go, because 1 click extra is fine for all this content.
01:51 snarkyboojum lue: check out the get() method in RangeIter, the 'if $current after $!max' never evaluates to true for a whole bunch of ranges, that's why 'A'..'£' goes on forever :)
01:52 lue it should (imo) print all unicode characters from A to £. I'll check that out.
01:52 snarkyboojum e.g. 'Z'.succ -> 'AA', and 'ZZ'.succ -> 'AAA' and so on, ad infinitum :)
01:53 snarkyboojum look at > ('A'..'£').iterator.GrabAndSay(1000) for instance
01:53 snarkyboojum I also like this
01:54 snarkyboojum rakudo: 'Z'.succ after 'Z'
01:54 p6eval rakudo 3b869c:  ( no output )
01:54 lue that... is internationally moronic (but sound in the US)
01:54 snarkyboojum sorry
01:54 snarkyboojum rakudo: say 'Z'.succ after 'Z'
01:54 p6eval rakudo 3b869c: OUTPUT«0␤»
01:54 lue (the way AA comes after Z, I mean)
01:55 snarkyboojum the successor of Z is not after Z
01:55 snarkyboojum :)
01:55 lichtkind mberends: please add http://www.programmersheav​en.com/2/Perl6-QuickStart to pugs page it will be now removed from front
01:55 snarkyboojum yeah ok
01:55 snarkyboojum but the idea of the successor to a letter not being after the letter is confusing to me :)
01:55 lue And I thought we used unicode, dangit! :)
01:55 arlinius rakudo: say 'Y'.succ after 'Y'
01:55 p6eval rakudo 3b869c: OUTPUT«1␤»
01:55 lue rakudo: say '1'..'2'
01:56 p6eval rakudo 3b869c: OUTPUT«12␤»
01:56 arlinius rakudo: say 'A' after 'Z'
01:56 p6eval rakudo 3b869c: OUTPUT«0␤»
01:56 snarkyboojum yeah, but not at the end of a range
01:56 arlinius rakudo: say 'AA' after 'Z'
01:56 p6eval rakudo 3b869c: OUTPUT«0␤»
01:56 lue rakudo: say chr(0xA0)..chr(0xB0)
01:56 mberends lichtkind: ok, done
01:56 p6eval rakudo 3b869c:  ( no output )
01:56 lichtkind mberends: thanks
01:56 snarkyboojum that's the bug as I can see it anyway
01:56 lue hm, maybe we should change that to support unicode, methinks.
01:57 snarkyboojum but first time I've looked at Rakudo source code ;) so I have nfi
01:57 snarkyboojum unless it's supposed to never return
01:57 lue any idea where RangeIter is defined? :)
01:57 snarkyboojum src/core/RangeIter.pm
01:58 lue ah, missed it.
01:58 arlinius rakudo: say '↑'..'↓'
01:58 p6eval rakudo 3b869c:  ( no output )
01:58 lue [To the ApocolypseMobile! Come quickly, Exergesis Man! I shall use my Synopsis Warpdrive to get there quickly!]
01:59 lue s/Exergesis/Exegesis/
02:02 lichtkind mberends: im done for today, but look! : http://www.perlfoundation.​org/perl6/index.cgi?perl_6
02:02 lichtkind mberends: 11 links left
02:03 lichtkind i mean 9
02:03 mberends that's a big improvement. I'm thinking of sleep, also
02:03 lichtkind mberends: were that blind there was still spam on fron page :)
02:04 mberends "teen dating", hehe
02:04 lichtkind mberends: and i will remove toc too
02:05 TimToady colomon: um, spec tests shouldn't be using implementation dependent features such as pir::
02:05 mberends yes, better without that too
02:05 * lue will add the support of the Earth into RangeIter (the problem seems to lie in the after infix
02:05 lichtkind mberends: i kepht the about section on the bottom. still dunno what to do with that
02:05 snarkyboojum lue: so those ranges will never cross the boundaries of the ranges defined in src/builtins/Str.pir, i.e. 'A' .. 'z' etc
02:06 lue there should not be any boundaries, except the first and last characters of unicode (IMO)
02:06 snarkyboojum check out the RANGES constant in src/builtins/Str.pir
02:07 mberends lichtkind: some of it is fossil, can be deleted. Maybe just one or two horizontal sentences with all the links in specific keywords?
02:08 lichtkind mberends: do it but wait a second i just reinsert camelia now
02:08 snarkyboojum there are explicitly defined increment/decrement ranges
02:09 mberends Camelia will look better than a table of contents, for sure
02:09 lue It should allow all unicode. You'd have to use tricky programming... tricks, though (almost certain).
02:09 lichtkind mberends: before or after the first headline?
02:09 snarkyboojum lue: see what I mean though?
02:10 mberends lichtkind: you'd better preview them both and then decide, I don't know
02:10 lichtkind mberends: done
02:10 snarkyboojum they way that's implemented, the range will never go across those "range" boundaries for want of a better description
02:10 justatheory joined #perl6
02:11 snarkyboojum (excuse the poor/incorrect terminology)
02:12 lue beh, I think limiting it like that is... interesting.
02:12 lue rakudo: say ①..⑳
02:12 p6eval rakudo 3b869c: OUTPUT«Confused at line 11, near "say \u2460..\u2473"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:12 lue rakudo: say '①'..'⑳'
02:12 p6eval rakudo 3b869c:
02:12 p6eval ..OUTPUT«①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳①①①②①③①④①⑤①⑥①⑦①⑧①⑨①⑩①​⑪①⑫①⑬①⑭①⑮①⑯①⑰①⑱①⑲①⑳②①②②②③②④②⑤②⑥②⑦②⑧②⑨②⑩②⑪②⑫②⑬②⑭②⑮②​⑯②⑰②⑱②⑲②⑳③①③②③③③④③⑤③⑥③⑦③⑧③⑨③⑩③⑪③⑫③⑬③⑭③⑮③⑯③⑰③⑱③⑲③�
02:12 mberends lichtkind: pretty! is there a 2 column layout possible, to have the Planet Perl 6 and Rakudo.org news lists next to each other? (ok, this may be asking too much)
02:13 lue AAh! (obviously, it doesn't like unicode...)
02:13 arlinius 'ⅰ'..'ⅻ'
02:13 arlinius rakudo: say 'ⅰ'..'ⅻ';
02:13 p6eval rakudo 3b869c:
02:13 p6eval ..OUTPUT«ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅰⅰⅰⅱⅰⅲⅰⅳⅰⅴⅰⅵⅰⅶⅰⅷⅰⅸⅰⅹⅰⅺⅰⅻⅱⅰⅱⅱⅱ​ⅲⅱⅳⅱⅴⅱⅵⅱⅶⅱⅷⅱⅸⅱⅹⅱⅺⅱⅻⅲⅰⅲⅱⅲⅲⅲⅳⅲⅴⅲⅵⅲⅶⅲⅷⅲⅸⅲⅹⅲⅺⅲⅻⅳⅰⅳⅱⅳⅲⅳ​ⅳⅳⅴⅳⅵⅳⅶⅳⅷⅳⅸⅳⅹⅳⅺⅳⅻⅴⅰⅴⅱⅴⅲⅴⅳⅴⅴⅴⅵⅴⅶⅴⅷⅴⅸⅴⅹⅴⅺⅴⅻⅵⅰⅵⅱⅵⅲⅵ�
02:13 lichtkind mberends: dunno i didnt made these
02:13 mberends ok
02:13 lue fun with UTF-8!
02:13 arlinius it doesn't like wrapping
02:14 snarkyboojum shouldn't 'Z'.succ after 'Z' be true?
02:14 arlinius rakudo: say '①'..'⑲'
02:14 p6eval rakudo 3b869c: OUTPUT«①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲␤»
02:14 lue hmmm...
02:15 lue I truly think the garbage text can be avoided if we supported the whole unicode set...
02:15 lue rakudo: say 'i'..'xi';
02:15 p6eval rakudo 3b869c: OUTPUT«ijklmnopqrstuvwx␤»
02:15 arlinius lue: the problem would still happen for $last_unicode_char.succ
02:15 lue it ought to wrap around, to u+0000
02:16 lue or just stop.
02:16 lue not throw a hissy fit :D
02:16 arlinius u+0000 or u+0000 u+0000?
02:16 lue The very first character of unicode: null
02:16 lichtkind mberends: were heroes well done, im thinking of a link from implmentation to a perl 6 spec page buts that can wait
02:17 * lue finds the parallel conversations amusing (unicode ranges & perlfoundation wiki)
02:17 mberends lichtkind: good work, you deserve a rest
02:17 lichtkind :)
02:18 snarkyboojum lue: I guess it'll stop eventually (when we run out of memory) :)
02:18 mberends this is coming along nicely: http://www.perlfoundation.org/p​erl6/index.cgi?implementations
02:19 lue Most of the upper unicode values (u+FFFF, around that area) are reserved for `private use' anyway. Still a good idea to support them though
02:19 lichtkind good night
02:20 mberends phew! now to get back to what I was studying before ;)
02:20 lue why they can't un-unify the Chinese/Japanese/Korean characters and put them in that extra space, who knows?
02:21 arlinius I do tend to agree that ranges should work for all of Unicode. On the other hand, maybe the Range class also needs a 'universe' attribute for working with smaller ranges. Define your universe to 'A'..'Z' and you get 'Z'.succ => 'AA'.
02:22 arlinius lue: private use isn't really "extra", it's just that -- private use
02:23 arlinius not that there aren't plenty of still-undefined reserved (non private use) ranges
02:23 colomon TimToady: oooo, good point on the pir:: in the trig tests.  It's basically a workaround for a really annoying Rakudo bug, as soon as the bug is gone it can go away.  If we just take it out now, it will cause a significant performance hit on the spectests.
02:24 colomon I'd certainly be very happy if the bug went away over the weekend.  I will try to bug jnthn about it.
02:24 lue Exegesis Man loaned me his bug spray.
02:24 * lue tosses Exegesis Bug Spray to colomon
02:29 TimToady colomon: that's fine, it just needs to go at some point
02:30 lue rakudo: say ord('Z')
02:30 p6eval rakudo 3b869c: OUTPUT«90␤»
02:30 lue rakudo say chr(90)
02:30 lue rakudo: say chr(91)
02:30 p6eval rakudo 3b869c: OUTPUT«[␤»
02:31 lue rakudo: say 'A'..'['
02:31 p6eval rakudo 3b869c:  ( no output )
02:31 snarkyboojum infix after is just doing a cmp
02:31 japhb joined #perl6
02:32 snarkyboojum rakudo: say ('ZA' cmp 'Z' == +1)
02:32 p6eval rakudo 3b869c: OUTPUT«1␤»
02:32 snarkyboojum rakudo: say ('AA' cmp 'Z' == +1)
02:32 p6eval rakudo 3b869c: OUTPUT«0␤»
02:32 snarkyboojum rakudo: say 'Z'.succ
02:32 colomon Oh right, another issue to worry about.  :)
02:32 p6eval rakudo 3b869c: OUTPUT«AA␤»
02:32 lue yeah, right now it seems to be a problem with the RANGES constant (I'm tempted to rewrite the whole thing)
02:32 colomon I'm pretty sure that's what after is supposed to do.
02:32 lue (by whole thing, I mean the constant. It's big)
02:33 colomon But something more clearly needs to be done for iterating over strings.
02:33 colomon is it just factoring in length?
02:33 arlinius colomon: so 'AA' isn't supposed to be after 'Z'? or is 'AA' not supposed to be 'Z'.succ?
02:34 lue rakudo: say 'Z'.succ
02:34 p6eval rakudo 3b869c: OUTPUT«AA␤»
02:34 lue AH HA...?
02:34 colomon it is.
02:34 lue rakudo: say 'Z'.succ ~~ 'AA'
02:34 p6eval rakudo 3b869c: OUTPUT«1␤»
02:34 arlinius both?
02:34 lue rakudo: say 'Z'.succ == 'AA'
02:34 p6eval rakudo 3b869c: OUTPUT«1␤»
02:34 colomon the problem (at least the problem I know about) is that if you say 'AA'..'Z', Range thinks that's fine.
02:34 colomon but actually, it's the empty list.
02:34 lue rakudo: say 'AA'..'Z'
02:35 p6eval rakudo 3b869c:
02:35 p6eval ..OUTPUT«AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASAT​AUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRB​SBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQ​CRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDNDOD​PDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELEMEN​EOEPEQERESETEUEVEWEXEYEZFAFBFCFDFEFFFGFHFIFJFK…
02:35 TimToady Str.succ is not intended to produce values in lexicographic order, which is relatively useless in real life.  So we steal .succ (and ++) for "counting with carry" in customary ranges
02:35 lue TimToady: should Range (for strings) support unicode?
02:35 lue rakudo: say 'A'..'£' #as in, this working
02:35 colomon TimToady: Is there a function which is supposed to provide the corresponding less than operator?
02:35 p6eval rakudo 3b869c:  ( no output )
02:36 colomon alpha: say 'AA'..'Z'
02:36 p6eval alpha 30e0ed: OUTPUT«␤»
02:36 snarkyboojum succ and after don't match up, e.g. the successor of 'Z' isn't "after" Z
02:37 colomon snarkyboojum: exactly.
02:38 lue rakudo: say 'AA' after 'Z'
02:38 p6eval rakudo 3b869c: OUTPUT«0␤»
02:38 lue rakudo: say '[' after 'Z'
02:38 p6eval rakudo 3b869c: OUTPUT«1␤»
02:38 lue so the after infix deals in unicode, while succ doesn't? Weird...
02:38 arlinius rakudo: say 'AA'.pred
02:38 snarkyboojum because 'AA' cmp 'Z' doesn't equal 1
02:38 p6eval rakudo 3b869c:  ( no output )
02:38 TimToady 'a'..'£' looks completely useless to me
02:39 TimToady but see S03:431 and following
02:39 TimToady actually, that section implies that .succ is not used for ++ on strings, hmm...
02:39 lue it's just an example. I typed £ last night on accident, been using it for the example ever since :)
02:39 snarkyboojum but I wouldn't expect Rakudo to keep building an infinitely long string (in the limit)
02:39 TimToady that's specced, though
02:40 snarkyboojum cool :)
02:40 snarkyboojum I'm a complete newbie
02:40 TimToady see S03:2029
02:40 lue how's about japanese kana? Seems like that would fail, considering it's not part of RANGES.
02:41 TimToady we let A'..'£' produce an infinite list on the basis that it's also lazy
02:41 arlinius almost any alphabet in Unicode, really
02:42 lue seems terribly arrogant to me to only allow english, greek, and a few (seemingly random) number sets.
02:42 TimToady why would you want to in increment kana?
02:42 TimToady it's not like the codepoints follow the a,i,u,e,o song...  :)
02:43 snarkyboojum cool - so it's not a bug :) sweet
02:43 lue If you were writing japanese software. Same reason english people'd want to increment the English alphabet.
02:43 snarkyboojum alpha: say 'A'..'£'
02:43 p6eval alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
02:43 TimToady you can still use it as a Range, as in testing cmp its endpoints
02:43 snarkyboojum so the behaviour has changed
02:43 lue (hey, unicode better fix that, TimToady.)
02:43 TimToady but cmp has nothing to do with .succ, really
02:43 * TimToady sings the a,i,u,e,o song to himself...
02:44 snarkyboojum it's just that the RangeIterator uses .succ and then does a check with 'after' (which uses cmp)
02:44 * lue Our Salute to Confusing Programming
02:44 TimToady yes, and then if you do something non-sensical, you get a lot of nonsense :)
02:45 snarkyboojum but this is a bug
02:45 snarkyboojum rakudo: say 'A'..'Z'
02:45 p6eval rakudo 3b869c:
02:45 p6eval ..OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAG​AHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEB​FBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCD​CECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBD​CDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEA​EBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEX…
02:45 snarkyboojum because Z.succ is not 'after' Z
02:45 snarkyboojum anyway - I'm sure this is all very obvious to everyone apart from me :)
02:45 TimToady the test is supposed to be !after, which matches eqv
02:45 japhb Rakudo team: belated congratulations on the ng release!
02:46 TimToady or the other way around
02:46 arlinius should 'AA' be after 'Z'?
02:46 TimToady anyway, a direct hit is suppose to stop it
02:46 TimToady if you increment Z, yes
02:46 arlinius with the 'after' operator, I mean
02:46 TimToady but not if you use 'after'
02:46 lue rakudo: say 'Z'.succ after 'Z'
02:46 p6eval rakudo 3b869c: OUTPUT«0␤»
02:46 arlinius how is after different from lt?
02:47 lue therein lies the bug
02:47 arlinius gt rather
02:47 TimToady S03:2051 is talking about you, the Astute Reader
02:47 snarkyboojum heh
02:48 lue how do I jump to a certain line, exactly?
02:48 lue in the spec
02:49 * colomon is being drasticted by an offer on his house, and company.  Apologies...
02:49 colomon s/drasticted/distracted/
02:49 TimToady oh wait, my lines are off, hang on
02:49 eternaleye Maybe better would be just setting a 'no more' variable on $curr ~~ $endpoint, rather than using after?
02:50 eternaleye And then returning the EMPTY failure
02:50 eternaleye (if the 'no more' state var is set, that is)
02:50 pugs_svn r29784 | lwall++ | [S03] document how an "impossible" limit can terminate a series
02:51 * lue thinks it would have be easier to program if you didn't limit what the ranges could be.
02:51 TimToady that may take a while to propagate through
02:51 TimToady after it does, the irclog will link to the line in the spec
02:52 TimToady the log is at http://irclog.perlgeek.de/perl6/today
02:53 TimToady for the moment you'll have to back up a page to find the paragraph with "astute reader"
02:53 TimToady dinner &
02:53 eternaleye_ joined #perl6
02:53 lue the bad thing about perlcabal.org is that the S03 page freezes my browser (it's due to a plugin, but still...)
02:56 lue ...so what's the final deal with string ranges?
03:00 * lue in the meantime, I will work on the P6 novelty calendar system (almost done)
03:00 snarkyboojum well get() in RangeIter should definitely stop when it gets to max, so that's a bug (I guess) and it sounds like the rest of the behaviour is spec'd and will work nicely with lazy lists :)
03:01 snarkyboojum my first foray into Rakudo code :)
03:01 lue *grumblegrumble*... ok. I still wish it would loop through irregardless of where in unicode. Ah well, that's for Perl 6.1, I guess :)
03:02 arlinius lue: you can always loop through ints and chr() them
03:03 lue that's true. The only reason I was really hot on this was because I want to fix something in Rakudo!
03:04 snarkyboojum me too :)
03:05 lue I've also tried to get the ≤ and ≥ symbols into standard Rakudo. But it'll have to be a module, I guess.
03:08 lue rakudo: for (my $i=80; $i<=100; $i++) { say chr($i); }
03:08 p6eval rakudo 3b869c: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 11, near "(my $i=80;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
03:09 lue rakudo: loop (my $i=80; $i<=100; $i++) { say chr($i); }
03:09 p6eval rakudo 3b869c: OUTPUT«P␤Q␤R␤S␤T␤U␤V␤W␤X␤Y␤Z␤[␤\␤]␤^␤_␤`␤a␤b␤c␤d␤»
03:09 lue rakudo: loop (my $i=200; $i<=220; $i++) { say chr($i); }
03:09 p6eval rakudo 3b869c: OUTPUT«È␤É␤Ê␤Ë␤Ì␤Í␤Î␤Ï␤Ð␤Ñ␤Ò␤Ó␤Ô␤Õ␤Ö␤×␤Ø␤Ù␤Ú␤Û␤Ü␤»
03:10 snarkyboojum left #perl6
03:11 snarkyboojum joined #perl6
03:12 lue rakudo: loop (my $i=500; $i<=520; $i++) { say chr($i); }
03:12 p6eval rakudo 3b869c: OUTPUT«Ǵ␤ǵ␤Ƕ␤Ƿ␤Ǹ␤ǹ␤Ǻ␤ǻ␤Ǽ␤ǽ␤Ǿ␤ǿ␤Ȁ␤ȁ␤Ȃ␤ȃ␤Ȅ␤ȅ␤Ȇ␤ȇ␤Ȉ␤»
03:12 lue rakudo: loop (my $i=1000; $i<=1020; $i++) { say chr($i); }
03:12 p6eval rakudo 3b869c: OUTPUT«Ϩ␤ϩ␤Ϫ␤ϫ␤Ϭ␤ϭ␤Ϯ␤ϯ␤ϰ␤ϱ␤ϲ␤ϳ␤ϴ␤ϵ␤϶␤Ϸ␤ϸ␤Ϲ␤Ϻ␤ϻ␤ϼ␤»
03:13 lue rakudo: loop (my $i=2000; $i<=2020; $i++) { say chr($i); } #obviously, I'm slightly bored
03:13 p6eval rakudo 3b869c: OUTPUT«ߐ␤ߑ␤ߒ␤ߓ␤ߔ␤ߕ␤ߖ␤ߗ␤ߘ␤ߙ␤ߚ␤ߛ␤ߜ␤ߝ␤ߞ␤ߟ␤ߠ␤ߡ␤ߢ␤ߣ␤ߤ␤»
03:13 lue uhm...
03:18 TimToady you wanting hex?
03:21 lue no, I'm good. (I know full well it was all in decimal)
03:21 TimToady looks like the S links have caught up with reality
03:25 lue rakudo: loop (my $i=0x2000; $i<=0x2020; $i++) { say chr($i); } #oh boy
03:25 p6eval rakudo 3b869c: OUTPUT« ␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤​␤‌␤‍␤‎␤‏␤‐␤‑␤‒␤–␤—␤―␤‖␤‗␤‘␤’␤‚␤‛␤“␤”␤„␤‟␤†␤»
03:26 lue rakudo: loop (my $i=0x4000; $i<=0x4020; $i++) { say chr($i); }
03:26 p6eval rakudo 3b869c: OUTPUT«䀀␤䀁␤䀂␤䀃␤䀄␤䀅␤䀆␤䀇␤䀈␤䀉␤䀊␤䀋␤䀌␤䀍␤䀎␤​䀏␤䀐␤䀑␤䀒␤䀓␤䀔␤䀕␤䀖␤䀗␤䀘␤䀙␤䀚␤䀛␤䀜␤䀝␤䀞␤䀟␤䀠␤»
03:27 pnate joined #perl6
03:33 lue rakudo: loop (my $i=0x5000; $i<=0x5020; $i++) { say chr($i); }
03:33 p6eval rakudo 3b869c: OUTPUT«倀␤倁␤倂␤倃␤倄␤倅␤倆␤倇␤倈␤倉␤倊␤個␤倌␤倍␤倎␤​倏␤倐␤們␤倒␤倓␤倔␤倕␤倖␤倗␤倘␤候␤倚␤倛␤倜␤倝␤倞␤借␤倠␤»
03:37 lue Can anybody give me various 'terms' related to Perl6? Such as Rakudo, Parrot, -Ofun, etc.
03:39 colomon rakudo: say 1 <=> 2
03:39 p6eval rakudo 3b869c: OUTPUT«-1␤»
03:40 pmichaud Rakudo:  An implementation of Perl 6.
03:40 pmichaud Parrot:  The virtual machine underlying Rakudo Perl 6.  Parrot is also intended to support other dynamic languages.
03:40 pmichaud -Ofun:  "optimize(d) for fun" -- how we decide what to work on.
03:41 pmichaud other terms from the rakudo side include NQP, PCT, PAST, PIR, PMC
03:41 pmichaud we also have STD and STD.pm
03:42 colomon pmichaud: did you have any thoughts on how to properly fix the "our @a;" in classes bug?  TimToady rightfully pointed out that putting the pir-version of it in the trig tests to optimize them isn't really kosher...
03:42 lue Great! I needed some of them for the P6 novelty calendar system.
03:42 TimToady LTA
03:42 pmichaud and LTM
03:43 pmichaud Synopses
03:43 pmichaud Pugs
03:43 pmichaud colomon: it's bound to be a method bug; that tends to be jnthn++'s area
03:44 TimToady setting
03:45 pmichaud CORE
03:45 pmichaud PGE
03:45 pmichaud Camelia
03:45 pmichaud (heck, just take a look at perl6.org)
03:45 gfx joined #perl6
03:46 TimTom joined #perl6
03:46 TimToady lexotic
03:47 colomon pmichaud: okay.
03:47 TimToady phasers
03:47 lue I'm using P6 terms for month names, and various significant people on IRC for days of the week.
03:47 pmichaud phasers!  how can I forget that?!?
03:47 lue phasers in P6...?
03:47 pmichaud yes, phasers.
03:48 colomon they help deal with the daleks.
03:48 TimTom rakudo: say [+] (5,4,3)
03:48 p6eval rakudo 3b869c: OUTPUT«Confused at line 11, near "say [+] (5"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
03:48 pmichaud see S04 for details, but a "phaser" is one of those elements that manage transitions between different phases of execution.
03:48 TimTom So are the [] meta operators not implemented or did the syntax change?
03:48 pmichaud rakudo (new branch) doesn't have [] yet.
03:48 colomon TimTom: NYI
03:49 pmichaud alpha:  say [+] 5,4,3;
03:49 p6eval alpha 30e0ed: OUTPUT«12␤»
03:49 TimToady unspace
03:49 pmichaud I hope to have [] working again in a week or so
03:49 TimToady feeds
03:49 TimTom Yea, I knew alpha had them because I was running a program that used to work and trying to figure out the errors
03:49 TimTom When it was in a method it was complaining about it being unable to find the end } in blockoid :)
03:50 TimToady sigspace, ratchet
03:51 TimToady captures, parcels
03:51 TimToady roles
03:51 TimToady junctions
03:52 TimTom It also looks like @_ is read only right now? I had to create and name my own temporary variable because it gave me "Placeholder variable cannot override existing signature at ..."
03:53 TimTom Ah.  I think that was because it was the second term in an assignment expansion.  If I assign directly to it, it reports it's read only
03:54 TimToady shortnames/longnames
03:56 TimToady Christmas
03:56 colomon hyper!
03:56 pmichaud laziness (it's not longer just a virtue, it's a feature!)
03:56 sjohnson TimTommy
03:57 TimToady but that's also Haskell
03:58 lue Heh, laziness is gonna be the last month :)
03:58 pmichaud make it the first month, and you can leave the other months blank.
03:58 pmichaud ("What happened to the rest of the months?"  "Laziness.")
03:59 lue I'll upload the spreadsheet containing the calendar when it's all filled out.
04:07 pugs_svn r29785 | colomon++ | [t/spec] Unfudge "Y".."AB" tests we now pass.
04:10 dalek rakudo/master: 71d8848 | (Solomon Foster)++ | src/core/RangeIter.pm:
04:10 dalek rakudo/master: Get RangeIter to handle the Str cases properly.
04:10 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7​1d8848e431c7902b4b31e78a3bf20381bbb5ee7
04:10 dalek rakudo/master: abb98b4 | (Solomon Foster)++ | src/core/Any-list.pm:
04:10 dalek rakudo/master: Add proto for pick.
04:10 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a​bb98b4f0762f8c841d95fd424cc312682ca76f2
04:11 TimTom rakudo: my @temp; my @a = <1 2 3>; @temp = @a[1,2]; @a.push(@temp); say @a.perl;
04:11 p6eval rakudo 3b869c: OUTPUT«["1", "2", "3", "2", "3"]␤»
04:11 lue aaah! /o\ those phasers would come in handy now
04:11 TimTom rakudo: my $temp; my @temp; my @a = <1 2 3>; ($temp, @temp) = @a; @a.push(@temp); say @a.perl;
04:11 p6eval rakudo 3b869c: OUTPUT«["1", "2", "3", ["2", "3"]]␤»
04:11 lue rakudo: phaser daleks
04:11 p6eval rakudo 3b869c: OUTPUT«Could not find non-existent sub &daleks␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
04:12 Tene rakudo: END { daleks }
04:12 p6eval rakudo 3b869c: OUTPUT«Could not find non-existent sub &daleks␤current instr.: '_block43' pc 167 (EVAL_1:80)␤»
04:12 Tene rakudo: DESTROY { daleks }
04:12 p6eval rakudo 3b869c: OUTPUT«Could not find non-existent sub &DESTROY␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
04:15 lue rakudo: multi sub infix :<exterminate> ($a, $b) { say "{$a} exterminates {$b}"; }; "daleks" exterminate "humans";
04:15 p6eval rakudo 3b869c: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'␤current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)␤»
04:15 lue hmm, needs work
04:16 TimTom rakudo: my $a; my @b; ($a, @b) = <1 2 3>; say @b.perl
04:16 p6eval rakudo 3b869c: OUTPUT«[["2", "3"]]␤»
04:16 TimTom I don't think that's right.  Is it a known issue?
04:17 lue That's right (I think)
04:17 TimTom It should be ["2", "3"]
04:17 TimToady just like p5 list assignment
04:17 lue rakudo: my $a; my @b; ($a, @b) = <1 2 3>;say $a.perl; say @b.perl
04:17 p6eval rakudo 3b869c: OUTPUT«"1"␤[["2", "3"]]␤»
04:18 TimTom It's an array of 1 element containing an array with the 2 elements inside it
04:18 colomon rakudo: my $a; my @b; ($a, *@b) = <1 2 3>; say @b.perl
04:18 p6eval rakudo 3b869c: OUTPUT«Confused at line 11, near "($a, *@b) "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
04:18 colomon rakudo: my $a; my @b; ($a, $b) = <1 2 3>;say $a.perl; say $b.perl
04:18 p6eval rakudo 3b869c: OUTPUT«Symbol '$b' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
04:18 TimTom alpha: my $a; my @b; ($a, @b) = <1 2 3>; say @b.perl
04:18 TimToady std: my $a; my @b; ($a, *@b) = <1 2 3>; say @b.perl
04:18 p6eval alpha 30e0ed: OUTPUT«["2", "3"]␤»
04:18 p6eval std 29784: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/y7COKXhGfX line 1:␤------> [32mmy $a; my @b; ($a, *[33m⏏[31m@b) = <1 2 3>; say @b.perl[0m␤    expecting any of:␤ POST␤   bracketed infix␤    infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤
04:18 p6eval ..statement modifier loop␤…
04:19 TimTom Alpha does what I expect with it
04:19 TimToady but it's an array
04:20 TimToady oh, wait, that's inside the french quotes
04:20 TimToady so yes
04:20 TimToady alpha is right
04:21 TimToady I was reading the [...] as OUTPUT delims
04:22 lue silly TimToady, [] are for Arrays!
04:22 TimToady I'll learn this language someday...
04:23 TimTom Yea.  I figured that's why most people were coming to the defense of master, it's real hard to disambiguate the single [ from the double [[ when there's all the other symbols around it
04:23 plainhao joined #perl6
04:23 TimToady party because [] used to be the OUTPUT delims, iirc
04:24 TimToady which is why we changed it
04:28 colomon rakudo: say 'z'..'ab'
04:28 p6eval rakudo 3b869c: OUTPUT«␤»
04:29 arlinius rakudo: say 'X'..'Z'
04:29 colomon should work once p6eval catches up with github.
04:29 p6eval rakudo 3b869c:
04:29 p6eval ..OUTPUT«XYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARA​SATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQ​BRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOC​PCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDN​DODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELE​MENEOEPEQERESETEUEVEWEXEYEZFAFBFCFDFEFFFGFHFIF…
04:29 arlinius ah
04:29 colomon TimToady: series op should use the same scheme for incrementing / decrementing Str that range does?
04:30 TimToady yeah, one dot is not enough to do that differently :)
04:31 TimToady though it's enough to do autoreversing
04:31 lue rakudo: say 'X'...'Z'
04:31 p6eval rakudo 3b869c:
04:31 p6eval ..OUTPUT«XYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARA​SATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQ​BRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOC​PCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDN​DODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELE​MENEOEPEQERESETEUEVEWEXEYEZFAFBFCFDFEFFFGFHFIF…
04:31 colomon TimToady: I'll try to get series sorted in the morning.
04:32 colomon unless someone beats me to it overnight.  :)
04:33 colomon BTW, I ended up fixing RangeIter by using a new comparison function which does cmp unless you've got a Str, and handles Str specially.
04:33 colomon That will actually be needed in Range itself and series too, I guess.  Seems like it might almost be worth adding it to the Spec.
04:34 colomon though heaven help us, preferably with a nicer name than RangeIterCmp.
04:34 colomon afk # must sleep.
04:34 TimToady n8
04:36 eternaleye Hm, is S03:1993 _supposed to be identical to S03:2003? Because it is identical.
04:36 lue how about RangeiTerCmpter (pronounced Rangetercopter)?
04:38 lue hey look, someone else who uses Konversation here (besides me)
04:42 eternaleye Perhaps S03:2003 was supposed to be 1, 2 ...\n10, 20 ...\n 100, 200 ... 900; gessing from the comment preceding it about it being arithmetic
04:42 eternaleye *guessing
04:48 TimToady but that won't work, since it uses 3 values
04:49 pugs_svn r29786 | lwall++ | [S03] delete bogus dup code spotted by eternaleye++
04:49 TimToady that is, 90, 100, 200 is going to confuse it
04:50 TimToady or maybe not, depend on whether the 2nd ... can actually see the earlier values
04:50 TimToady which in turn depends on whether it's right or left associative
04:51 TimToady and ... is defined as list associative, which doesn't help us :)
04:52 TimToady but it does mean we could probably force it to work with just 2 nums between the ...s
04:53 TimToady and you could force it the other way with parens
04:55 TimToady (1,2...9), 10, 20 ... 90  # second ... sees all lefthand numbers inluding 9
04:57 TimToady otoh, 9,10,20 is probably going to die if it can't intuit a function
05:02 bkeeler Nah, you just need a sufficiently advanced algorithm.  Before long it will have the ability to solve those 'next number in the series' questions they have on IQ tests.
05:02 pugs_svn r29787 | lwall++ | [S03] upon further reflection, we can make eternaleye++'s conjecture work right.
05:03 TimToady I always like thos...
05:03 TimToady e
05:03 TimToady .oO(guess the next letter in the sequence...)
05:04 bkeeler Now if you can have it guess the winning powerball numbers...
05:04 TimToady funny when a typo turns out self-referential
05:04 eternaleye I assumed it was right associative
05:04 bkeeler hehe
05:04 eternaleye Since that gives the user the most flexibility
05:05 TimToady in the table, X operators are only right associative if the operator changes
05:05 TimToady otherwise it's like zip
05:05 eternaleye Ah
05:05 TimToady dotdotdot(1,2; 10,20; 100,200; 900)
05:06 TimToady and the function can evaluate the lists however it sees fit
05:06 TimToady each of the sublists is independently lazy
05:07 TimToady which is good, since we can't evaluate a list on the left till we've evaluated at least one value of the next list to the right
05:07 TimToady and, of course, zip itself does them all in parallel
05:07 eternaleye Which is why I assumed right assoc without thinking about it further
05:09 TimToady I'm almost getting to like this language
05:11 eternaleye rakudo: (1, 1 ...  &[+]).map: *.say;
05:11 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "(1, 1 ... "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:12 eternaleye rakudo: (1, 1 ...  &infix:<+>).map: *.say;
05:12 p6eval rakudo 71d884: OUTPUT«Symbol '&infix:<+>' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
05:14 TimToady rakudo: say ('↑'.ord..'↓'.ord)».chr
05:14 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say ('\u2191'.o"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:15 TimToady alpha: say ('↑'.ord..'↓'.ord)».chr
05:15 p6eval alpha 30e0ed: OUTPUT«sh: ../rakudo-alpha/perl6: No such file or directory␤»
05:15 TimToady std: say ('↑'.ord..'↓'.ord)».chr
05:15 p6eval std 29786: OUTPUT«ok 00:01 108m␤»
05:16 TimToady I have no idea why rakudo doesn't parse that
05:16 TimToady unless it's messed up on unicode
05:16 TimToady rakudo: '↑'
05:16 p6eval rakudo 71d884:  ( no output )
05:16 TimToady rakudo: say '↑'
05:16 p6eval rakudo 71d884: OUTPUT«↑␤»
05:17 TimToady rakudo: say '↑'.ord
05:17 p6eval rakudo 71d884: OUTPUT«8593␤»
05:17 TimToady rakudo: say '↑'.ord..'↓'.ord
05:17 p6eval rakudo 71d884: OUTPUT«859385948595␤»
05:17 TimToady rakudo: say ('↑'.ord..'↓'.ord)
05:17 p6eval rakudo 71d884: OUTPUT«859385948595␤»
05:17 TimToady rakudo: say ('↑'.ord..'↓'.ord)>>.chr
05:17 p6eval rakudo 71d884: OUTPUT«↑→↓␤»
05:18 TimToady rakudo: say ('↑'.ord..'↓'.ord)».chr
05:18 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say ('\u2191'.o"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:18 TimToady hah, groks arrows but not french hypers
05:19 TimToady .oO(doubtless implemented by a Texan...)
05:21 lue what about ‹› ?
05:21 quietfanatic joined #perl6
05:24 lue I have the p6 hex calendar done, will upload tomorrow.
05:32 TimToady .u ‹›
05:32 phenny U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK (‹)
05:32 phenny U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (›)
05:32 TimToady we are trying to keep Perl 6 in the latin-1 range
05:32 TimToady there will be modules, of course
05:37 diakopter rakudo: say 'X'..'Z'
05:37 p6eval rakudo 71d884: OUTPUT«XYZ␤»
05:37 diakopter fix-ed
05:39 lue rakudo: say 'X'..'AA'
05:39 p6eval rakudo 71d884: OUTPUT«XYZAA␤»
05:39 lue rakudo: say 'A'..'Z'
05:39 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
05:39 lue rakudo: say 'A'..'£'
05:39 TimToady \o/
05:39 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
05:39 lue \o/
05:39 TimToady that's techinically incorrect
05:39 lue I know, but at least it doesn't go on forever :)
05:40 TimToady that's how it's incorrect
05:40 TimToady according to S03:2040
05:40 diakopter rakudo: say 'X'..'X'
05:40 p6eval rakudo 71d884: OUTPUT«X␤»
05:40 diakopter rakudo: say 'X'..''
05:40 p6eval rakudo 71d884: OUTPUT«␤»
05:41 diakopter rakudo: say 'X'..145
05:41 p6eval rakudo 71d884: OUTPUT«␤»
05:41 diakopter rakudo: say 5..'V'
05:41 diakopter o_O
05:41 p6eval rakudo 71d884:  ( no output )
05:41 TimToady maybe that one goes on forever :)
05:42 TimToady rakudo: say (5..'V').batch(50)
05:42 p6eval rakudo 71d884: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
05:42 diakopter rakudo: (5..'V').iterator.getAndSay(50)
05:42 p6eval rakudo 71d884: OUTPUT«Method 'getAndSay' not found for invocant of class 'RangeIter'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
05:42 lue rakudo: say 'a'..'Z'
05:42 diakopter smth like that
05:42 p6eval rakudo 71d884: OUTPUT«␤»
05:42 TimToady rakudo: say (5..'V').iterator.batch(50)
05:42 p6eval rakudo 71d884: OUTPUT«5678910111213141516171819202​12223242526272829303132333435363738​39404142434445464748495051525354␤»
05:42 lue rakudo: say 'Z'..'A'
05:42 p6eval rakudo 71d884: OUTPUT«␤»
05:42 snarkyboojum rakudo: (5..'V').iterator.GetAndSay(50)
05:42 p6eval rakudo 71d884: OUTPUT«Method 'GetAndSay' not found for invocant of class 'RangeIter'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
05:42 TimToady rakudo: say 'Z'...'Z'
05:43 p6eval rakudo 71d884: OUTPUT«Z␤»
05:43 TimToady rakudo: say 'Z'...'A'
05:43 arlinius rakudo: say 'A'..'↓';
05:43 lue rakudo: say ('A'..'Z').flip
05:43 p6eval rakudo 71d884: OUTPUT«ZYXWVUTSRQPONMLKJIHGFEDCBA␤»
05:43 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
05:43 p6eval rakudo 71d884: OUTPUT«Z Y X W V U T S R Q P O N M L K J I H G F E D C B A␤»
05:43 lue It's somewhat sad we're having fun and getting excited over this working.
05:43 lue (But I don't care)
05:43 lue rakudo: say 'H'..'O'
05:43 p6eval rakudo 71d884: OUTPUT«HIJKLMNO␤»
05:43 TimToady ('a'..'z').backflip
05:44 diakopter pugs: say ('A'..'Z').flip
05:44 TimToady maybe that should invert the letters :)
05:44 p6eval pugs: OUTPUT«*** No such method in class Array: "&flip"␤    at /tmp/kPf1BbAw2T line 1, column 5 - line 2, column 1␤»
05:44 lue rakudo: say 'π'..'∏'
05:44 p6eval rakudo 71d884: OUTPUT«πρστυφχψω␤»
05:44 diakopter pugs: say ('A'..'Z').reverse
05:44 p6eval pugs: OUTPUT«ZYXWVUTSRQPONMLKJIHGFEDCBA␤»
05:44 TimToady pugs won't know about flip
05:44 lue rakudo: say 'a'..'π'
05:44 p6eval rakudo 71d884: OUTPUT«abcdefghijklmnopqrstuvwxyz␤»
05:44 lue (too much fun)
05:45 TimToady that's Perl 5 semantics, but not Pelr 6
05:45 TimToady or Perl 6 either
05:45 snarkyboojum rakudo: say 'A'..'z'
05:45 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
05:45 snarkyboojum rakudo: say 'A'..'Z'
05:45 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
05:45 snarkyboojum rakudo: say 'a' .. 'Z'
05:45 p6eval rakudo 71d884: OUTPUT«␤»
05:45 snarkyboojum rakudo: say 'A'..'z'
05:46 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
05:46 snarkyboojum that looks wrong?
05:46 diakopter rakudo: say 5....7
05:46 p6eval rakudo 71d884: OUTPUT«54321␤»
05:46 diakopter heh
05:46 TimToady snerk
05:46 diakopter pugs: say 5....7
05:46 p6eval pugs: OUTPUT«*** ␤    Unexpected "...."␤    expecting "_", exponent, term postfix, operator, ":" or ","␤    at /tmp/7AhVhbe6Oe line 1, column 6␤»
05:46 TimToady if you want to confuse 'em...
05:47 TimToady rakudo: say 5....1
05:47 p6eval rakudo 71d884: OUTPUT«54321␤»
05:47 lue rakudo: say 'Q'..'Y'
05:47 p6eval rakudo 71d884: OUTPUT«QRSTUVWXY␤»
05:47 diakopter rakudo: say 5... .7
05:47 p6eval rakudo 71d884: OUTPUT«54321␤»
05:47 TimToady .1 is funner
05:47 diakopter o
05:47 lue rakudo: say 'œ' .. '¥' # this _will_ fail, let's see how
05:47 p6eval rakudo 71d884: OUTPUT«␤»
05:48 diakopter rakudo: 33242..-33242.say
05:48 p6eval rakudo 71d884: OUTPUT«33242␤»
05:48 diakopter eh
05:48 diakopter rakudo: 5..2.say
05:49 p6eval rakudo 71d884: OUTPUT«2␤»
05:49 lue rakudo: say 'OUTPUT«',('E'..'Y').flip,'» Thank you for using p6evalbot. Have a nice day.'
05:49 p6eval rakudo 71d884: OUTPUT«OUTPUT«Y X W V U T S R Q P O N M L K J I H G F E» Thank you for using p6evalbot. Have a nice day.␤»
05:49 TimToady rakudo: .say when 'œ' .. '¥' for map *.chr, 1..2000
05:49 p6eval rakudo 71d884: OUTPUT«Missing block at line 11, near "for map *."␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:49 TimToady std: .say when 'œ' .. '¥' for map *.chr, 1..2000
05:49 diakopter std: .say when 'œ' .. '¥' for map *.chr, 1..2000
05:49 p6eval std 29787: OUTPUT«ok 00:01 108m␤»
05:49 p6eval std 29787: OUTPUT«ok 00:01 106m␤»
05:49 diakopter hm
05:49 TimToady beetchya
05:50 lue beat chias? OK!
05:50 * lue beats up annoying Ch-Ch-Ch-Chia's
05:51 TimToady anyway, looks like rakudo doesn't grok 'when' as a statement mod, or doesn't allow if inside while
05:51 TimToady rakudo: say 42 if 43 while 0
05:51 p6eval rakudo 71d884:  ( no output )
05:51 lue rakudo: my $hey=True; say 'hello' if $hey;
05:51 p6eval rakudo 71d884: OUTPUT«hello␤»
05:52 lue rakudo: my $hey=True; say 'hello' if ($hey and 0);
05:52 TimToady rakudo: say 42 if 43 for 1..2
05:52 p6eval rakudo 71d884:  ( no output )
05:52 p6eval rakudo 71d884: OUTPUT«Missing block at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:52 TimToady parsebug
05:52 lue rakudo: my $hey=True; say 'hello' if ($hey and 1);
05:52 p6eval rakudo 71d884: OUTPUT«hello␤»
05:52 lue rakudo: my $hey=True; say 'hello' if ($hey and !0);
05:52 p6eval rakudo 71d884: OUTPUT«hello␤»
05:52 TimToady another one of those p5isms...
05:52 lue rakudo: my $hey=True; say 'hello' if !$hey;
05:52 p6eval rakudo 71d884:  ( no output )
05:53 lue rakudo: my $hey=True; say 'hello' if ($hey and !$hey);
05:53 p6eval rakudo 71d884:  ( no output )
05:53 TimToady can't do list comprehensions till we can nest ifs inside of fors
05:53 lue heh heh, Principle of Explosion (or is it Explosion Principle?) If you assume a contradiction is true, then anything can be proven.
05:54 bkeeler someone's been reading xkcd I think...
05:54 eternaleye rakudo: .say for 1 .. 10;
05:54 p6eval rakudo 71d884: OUTPUT«Missing block at line 11, near ";"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:55 eternaleye TimToady: I think that none of the statement modifier forms are working
05:55 eternaleye Or at least not for
05:55 bkeeler if and while are I think
05:55 arlinius rakudo: say 4 if 1;
05:55 TimToady but that means python is better than perl...
05:55 eternaleye 1.say if 1;
05:55 p6eval rakudo 71d884: OUTPUT«4␤»
05:55 eternaleye rakudo: 1.say if 1
05:55 p6eval rakudo 71d884: OUTPUT«1␤»
05:55 lue I have been reading XKCD. I used the Explosion Principle to derive Obama's private cell phone number :D
05:55 eternaleye Hm, so it's just for
05:55 bkeeler Yeah
05:55 arlinius rakudo: say 4 while 0;
05:55 p6eval rakudo 71d884:  ( no output )
05:55 arlinius rakudo: say 4 while 1;
05:56 lue (next up: derive Linus' address)
05:56 arlinius looks like while works ...
05:56 p6eval rakudo 71d884:
05:56 p6eval ..OUTPUT«4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4​␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4​␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4​␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4​␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4␤4�
05:56 arlinius rakudo: say 3 unless 0;
05:56 p6eval rakudo 71d884: OUTPUT«3␤»
05:56 bkeeler rakudo: return 'fred' if 1
05:56 p6eval rakudo 71d884: OUTPUT«Missing block at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:57 bkeeler return is not currently a listop
05:57 lue rakudo: my $p = True; ($p and !$p) ?? say "The Explosion Theory has been proven by Perl6!" !! say "Darn";
05:57 p6eval rakudo 71d884: OUTPUT«Darn␤»
05:57 lue Darn
05:58 TimToady rakudo: my $p = True; ($p and !$p) ~~ True ? say "The Explosion Theory has been proven by Perl6!" !! say "Darn";
05:58 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "($p and !$"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:58 TimToady rakudo: my $p = True; ($p and !$p) ~~ True ?? say "The Explosion Theory has been proven by Perl6!" !! say "Darn";
05:58 p6eval rakudo 71d884: OUTPUT«The Explosion Theory has been proven by Perl6!␤»
05:59 TimToady there you go
05:59 lue Oh my gosh! Perl6 can divine truths like nobody's business! Call the UN! I have derived Iran's launch codes for their nuclear missiles!
06:00 * lue believes that all Millenium Prize Problems can be solved with inputs of 42.
06:01 quietfanatic rakudo: say True and False
06:01 p6eval rakudo 71d884: OUTPUT«1␤»
06:01 bkeeler The true answer is "Yellow", not 42
06:01 quietfanatic our and is not very handy
06:02 quietfanatic rakudo: say (True and False)
06:02 bkeeler They programmed Deep Thought in Cobol, which is why it took 7.5 million years
06:02 p6eval rakudo 71d884: OUTPUT«0␤»
06:02 quietfanatic hmmm
06:02 lue If the output were 42 for any of those problems, that would be VERY creepy.
06:02 TimToady rakudo: our $queen is !amused;
06:02 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "our $queen"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:02 TimToady std: our $queen is !amused;
06:02 lue bkeeler: They programmed Earth in BASIC, which is why it takes 10 million years.
06:02 p6eval std 29787: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/xYalSkFj3Q line 1:␤------> [32mour $queen is [33m⏏[31m!amused;[0m␤    expecting name␤FAILED 00:01 108m␤»
06:03 quietfanatic rakudo: say False ~~ True
06:03 p6eval rakudo 71d884: OUTPUT«1␤»
06:03 quietfanatic rakudo: say True.ACCEPTS(False)
06:03 p6eval rakudo 71d884: OUTPUT«1␤»
06:03 TimToady ow
06:03 quietfanatic There it is.
06:04 TimToady std: our $queen :!amused;
06:04 p6eval std 29787: OUTPUT«ok 00:01 105m␤»
06:05 TimToady rakudo: say 1.ACCEPTS(False)
06:05 p6eval rakudo 71d884: OUTPUT«0␤»
06:05 TimToady rakudo: say True.ACCEPTS(False)
06:05 p6eval rakudo 71d884: OUTPUT«1␤»
06:05 TimToady rakudo: say True.ACCEPTS(0)
06:05 p6eval rakudo 71d884: OUTPUT«1␤»
06:05 TimToady rakudo: say True.WHAT
06:05 p6eval rakudo 71d884: OUTPUT«Bool()␤»
06:06 TimToady rakudo: say Bool.ACCEPTS(42)
06:06 p6eval rakudo 71d884: OUTPUT«0␤»
06:06 TimToady rakudo: say Bool.ACCEPTS(1)
06:06 p6eval rakudo 71d884: OUTPUT«0␤»
06:06 TimToady very odd
06:06 lue that's incorrect. Bool.ACCEPTS(42) ~~ 1 !
06:07 lue Using hyperoperators and explosion principle, perl6 can prove anything!
06:08 lue (working on example...)
06:09 lue erm, I think i meant superpositions
06:11 lue rakudo: my $p=True; my $santa=True|False; if (($p and !$p)~~True)) { my $pres=($p and !$p); my $santaisreal=($pres or $santa); } say $santaisreal;
06:11 p6eval rakudo 71d884: OUTPUT«Missing block at line 11, near ") { my $pr"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:12 lue rakudo: my $p=True; my $santa=True|False; if (($p and !$p)~~True) { my $pres=($p and !$p); my $santaisreal=($pres or $santa); } say $santaisreal;
06:12 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "if (($p an"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:12 lue rakudo: my $p=True; my $santa=True|False; if ( ($p and !$p)~~True ) { my $pres=($p and !$p); my $santaisreal=($pres or $santa); } say $santaisreal;
06:12 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "if ( ($p a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:13 lue rakudo: my $p=True; my $santa=True|False; my $pres=($p and !$p); my $santaisreal=($pres or $santa); say $santaisreal;
06:13 p6eval rakudo 71d884:  ( no output )
06:13 lue hmm... have to work on that.
06:15 lue rakudo: my $p=True; say ($p and !$p) ~~ 42;
06:15 p6eval rakudo 71d884: OUTPUT«0␤»
06:16 lue that's not right :)
06:16 TimToady rakudo: say False ~~ 42
06:16 p6eval rakudo 71d884: OUTPUT«0␤»
06:17 TimToady rakudo: say (True and !True)
06:17 p6eval rakudo 71d884: OUTPUT«0␤»
06:18 TimToady say 0 ~~ 42
06:18 lue Since it likely wouldn't be part of the spec, I'd like to make a module that causes all Boolean stuff to equal to 42 in addition to how it normally works.
06:18 TimToady rakudo: say 0 ~~ 42
06:18 p6eval rakudo 71d884: OUTPUT«0␤»
06:18 TimToady there will be modules
06:18 TimToady modules are the answer
06:18 allbery_b monkeypatch Bool with "is also"?
06:18 crazed joined #perl6
06:19 TimToady augment
06:19 lue rakudo: my $p=True; say $p is 1; say $p is also 42;
06:19 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say $p is "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:19 lue rakudo: my $p=True; say $p is 1;
06:19 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say $p is "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:20 lue rakudo: my $p=True; say !$p=42; say $p != 42; say $p = !42;
06:20 p6eval rakudo 71d884: OUTPUT«0␤Cannot assign to readonly value␤current instr.: '&die' pc 16524 (src/builtins/Junction.pir:317)␤»
06:20 allbery_b right, I forgot the latest round of renamings (mostly because I prefer not monkeypatching.  although I have an evil perl5 script that does so and an eviller ruby script that does so correctly :)
06:20 lue rakudo: my $p=True; say !$p=42; say $p != 42; say $p = !(42);
06:20 p6eval rakudo 71d884: OUTPUT«0␤Cannot assign to readonly value␤current instr.: '&die' pc 16524 (src/builtins/Junction.pir:317)␤»
06:20 allbery_b actually it's more runtime class definition
06:20 lue rakudo: my $p=True; say !$p == 42; say $p != 42; say $p == !(42);
06:20 p6eval rakudo 71d884: OUTPUT«0␤1␤0␤»
06:23 lue rakudo: my $p=True & 42; say $p~~1; say $p ~~ 42;
06:23 p6eval rakudo 71d884: OUTPUT«Method 'Num' not found for invocant of class 'Junction'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
06:23 lue rakudo: my $p=True & 42; say $p ~~ 1; say $p ~~ 42;
06:23 allbery_b (lemma.  in the real world, people do stupid things because of $MOTAS.  in computers, it's because of printers.)
06:23 p6eval rakudo 71d884: OUTPUT«Method 'Num' not found for invocant of class 'Junction'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
06:23 lue rakudo: my $p=True | 42; say $p ~~ 1; say $p ~~ 42;
06:23 p6eval rakudo 71d884: OUTPUT«Method 'Num' not found for invocant of class 'Junction'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
06:23 lue rakudo: my $p=True | 42; say $p ~~ True; say $p ~~ 42;
06:23 p6eval rakudo 71d884: OUTPUT«1␤Method 'Num' not found for invocant of class 'Junction'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
06:23 lue :(
06:25 TimToady seems like ~~ isn't autothreading right
06:25 TimToady did someone make its left arg a Mu?
06:27 TimToady unless ~~ is willing to handle junctions internally, it should be Any
06:27 TimToady or maybe it thinks it handles junctions internally, but Junction.Num doesn't autothread right
06:27 lue oh boy, a new bug :1
06:29 * TimToady doesn't grok that smiley
06:29 lue :2
06:30 lue At the end of all the error messages for my junction testing above, it has a :-1
06:30 TimToady rakudo: say :1<0000>
06:30 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say :1<000"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:30 TimToady rakudo: say :2<0000>
06:30 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say :2<000"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:30 TimToady alpha: say :2<0000>
06:30 p6eval alpha 30e0ed: OUTPUT«0␤»
06:30 TimToady alpha: say :1<0000>
06:30 p6eval alpha 30e0ed: OUTPUT«radix out of range (2-36)␤in Main (file <unknown>, line <unknown>)␤»
06:31 TimToady aww
06:31 lue base 1 would just be a string of zeros. 8 (base 10) would be 00000000 (base 1)
06:31 lue Can you imagine base 0? *shudder*
06:33 lue it'd be a string of nulls.
06:34 lue rakudo: say 0x40,0x40,0x40;
06:34 p6eval rakudo 71d884: OUTPUT«646464␤»
06:34 allbery_b peano numbers
06:34 lue rakudo: say chr(0x40),chr(0x40),chr(0x40);
06:34 p6eval rakudo 71d884: OUTPUT«@@@␤»
06:34 lue rakudo: say chr(0x00),chr(0x00),chr(0x00);
06:34 p6eval rakudo 71d884: OUTPUT«
06:34 lue That's 0d3 in base 0 :D
06:35 * allbery_b saw what that C string did there
06:35 TimToady rakudo: say "\x[40,40,40]"
06:35 p6eval rakudo 71d884: OUTPUT«@@@␤»
06:36 lue rakudo: say "Here is the number 10 in base 0: \x[00,00,00,00,00,00,00,00,00,00]"
06:36 p6eval rakudo 71d884: OUTPUT«Here is the number 10 in base 0:
06:37 arlinius that's base 1
06:37 allbery_b SSSSSSSSZ
06:37 lue no, base 1 is a string of zeros.
06:38 lue 000000000000000 (base 1) is 15 in base 10
06:39 lue (base 0) is 15 in base 10 (there are 15 nulls to the left of this text)
06:57 lue ...hello? (it's quiet here)
06:58 TimToady you'd think it was friday night or somethin'
06:59 lue that's totally weird, today is... lemme check.
06:59 vamped lol, the normal time of day for lue to be fishing for response
06:59 lue I'm looking at the P6 novelty hex calendar. Just a second...
07:03 lue Today is jnthn-day, Rakudo 6th, 2010.
07:03 vamped that almost (even) sounded official.
07:04 lue I may be off, because the P6 novelty hex calendar (I invented it) doesn't have leap years, so it's probably off ≈ half a day or so.
07:04 bkeeler Speaking of odd Calendars, I note that today is actually Chaoflux
07:05 lue Chaoflux... which calendar is that?
07:05 bkeeler Discordian
07:05 * lue looks up Discordian
07:05 bkeeler Today is Setting Orange, the 50th day of Chaos in the YOLD 3176
07:05 bkeeler Celebrate Chaoflux
07:06 bkeeler "ddate" on your nearest Linux box
07:06 lue hee hee (I'm using the nearest Linux box right now!)
07:06 bkeeler If you've never googled discordianism, you'll be reading for a while ;)
07:09 lue For my hex calendar's conversion tool, I plan on taking the Epoch of the current date, and turning that into hex date/time
07:09 nbrown joined #perl6
07:15 lue rakudo: say time();
07:15 p6eval rakudo 71d884: OUTPUT«1266649360.0903␤»
07:17 lue rakudo: say time();
07:17 p6eval rakudo 71d884: OUTPUT«1266649443.07378␤»
07:17 lue rakudo: say time();
07:17 p6eval rakudo 71d884: OUTPUT«1266649453.73666␤»
07:17 TimToady rakudo: say time.WHAT
07:17 p6eval rakudo 71d884: OUTPUT«Num()␤»
07:17 lue looks like p6eval is a few seconds behind me :)
07:17 TimToady spec says Rat, actually
07:18 lue Hey TimToady: Today is jnthn-day, Rakudo 6th. Yesterday was TimToady, Rakudo 5th. Tomorrow is colomon, Rakudo 7th
07:18 lue on the P6 novelty hex calendar, that is :)
07:19 lue s/colomon/colomon-day/
07:24 vamped lue, i'm reading the backlog now. did you ever find any resolution to the "range boundary" issue?
07:24 lue what range boundary issue? Is it this one:
07:24 lue rakudo: say 'A'..'£' # this type of thing?
07:24 p6eval rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ␤»
07:24 vamped or
07:24 vamped rakudo: say 'ⅰ'..'ⅻ';
07:24 p6eval rakudo 71d884: OUTPUT«ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻ␤»
07:25 lue Someone fixed it.
07:25 vamped great
07:25 nbrown joined #perl6
07:25 vamped rakudo: say 'Z'.succ after 'Z'
07:26 p6eval rakudo 71d884: OUTPUT«0␤»
07:26 vamped :(
07:26 vamped I guess "after" is strictly asciibetic comparison where "AA" < "Z"
07:27 TimToady troo
07:27 lue vamped: Have you gotten to the part about Explosion Principle in the backlogs yet? That's my favorite part :)
07:27 vamped not yet
07:29 lue rakudo: my $p = True; say ($p and !$p);
07:30 p6eval rakudo 71d884: OUTPUT«0␤»
07:30 bkeeler Uuggghh.  I've been staring the same unmoving cursor for 10 minutes.  My brain's frazzled
07:30 lue rakudo: my $p = True; say ($p and !$p) ~~ True;
07:30 p6eval rakudo 71d884: OUTPUT«1␤»
07:30 bkeeler I know my brain's frazzled when it starts producing puns instead of code
07:30 lue Witness the magic of Explosion Principle!
07:30 bkeeler To wit:  Make and Ant elope and make an antelope
07:31 bkeeler Arrghhh time for bed it must be
07:31 lue My Hobby: writing notes for class in code because it's "easier"
07:32 lue code meaning Perl6 :)
07:33 vamped I do similar - putting # before handwritten comments and such
07:34 am0c joined #perl6
07:35 lue Instead of writing "an carbon isotope has 12, 13, or 14 neutrons", I'd write "my $carbonisotope=12|13|14" (for example)
07:35 lue it's not much fun in math, because 90% of it is already P6 valid code.
07:38 xinming joined #perl6
07:39 lue rakudo: my $p=True; say $p and !$p; say ($p and !$p)~~True; say ($p and !$p)~~False;
07:39 p6eval rakudo 71d884: OUTPUT«1␤1␤0␤»
07:40 lue rakudo: my $p=True; say ($p and !$p); say ($p and !$p)~~True; say ($p and !$p)~~False;
07:40 p6eval rakudo 71d884: OUTPUT«0␤1␤0␤»
07:40 lue hmm, parentheses negate the result... wonder why?
07:41 bkeeler because the say expression has higher precedence than the and, which is very low
07:42 lue ah, that's it. So the parentheses make it do the right thing.
07:43 bkeeler Yeah, otherwise it's (say $p) and !$p
07:43 bkeeler Or you could use &&
07:44 lue rakudo: my $p=True; say $p and !$p; say $p && !$p;
07:44 bkeeler Well, g'night...
07:44 p6eval rakudo 71d884: OUTPUT«1␤0␤»
07:44 lue goodnight. I ought to go to.
07:45 vamped lue: so why the failure with <= implementation?
07:45 Trashlord bye
07:46 lue do you mean ≤, vamped?
07:47 vamped yup
07:47 vamped (couldn't find the right key combo just now)
07:47 lue It's not part of the spec, and deemed unnecessary during the discussion :( . Ah well, it'll appear in my augmentation module, when it's made.
07:47 lue It'll be made for Rakudo *, probably :)
07:48 vamped oh, so there was a discussion. that'll do it.
07:48 vamped it should be very easy to implement for yourself
07:49 lue It is, it's stupidly easy (lets see if I remember)
07:49 lue rakudo: multi sub infix :<≤> (my $a, my $b) { $a <=$b}; say 5≤6;
07:49 p6eval rakudo 71d884: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'␤current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)␤»
07:49 lue rakudo: multi sub infix :<≤>(my $a, my $b) { $a <=$b}; say 5≤6;
07:49 p6eval rakudo 71d884: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'␤current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)␤»
07:50 lue rakudo: multi sub :infix <≤>(my $a, my $b) { $a <=$b}; say 5≤6;
07:50 p6eval rakudo 71d884: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'␤current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)␤»
07:50 lue see, I can't remember. Something along those lines, though.
07:50 vamped rakudo: multi sub infix:<≤> (my $a, my $b) { $a <=$b}; say 5≤6;
07:50 p6eval rakudo 71d884: OUTPUT«Invalid typename in parameter declaration at line 11, near " $a, my $b"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
07:51 lue rakudo: multi sub infix:<≤> ($a, $b) { $a <=$b}; say 5≤6;
07:51 p6eval rakudo 71d884: OUTPUT«Confused at line 11, near "say 5\u22646;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
07:51 lue darn.
07:52 lue rakudo: multi sub infix:<≤> (my $a, $b) { $a <=$b}; say 5≤6;
07:52 p6eval rakudo 71d884: OUTPUT«Invalid typename in parameter declaration at line 11, near " $a, $b) {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
07:52 lue ah well, I'll look it up tomorrow.
07:52 lue Goodnight, Moon.
07:52 lue left #perl6
07:52 pnate joined #perl6
07:52 vamped rakudo: multi sub infix:<≤> (){ $^a <= $^b}; say 5≤6;
07:52 p6eval rakudo 71d884: OUTPUT«Placeholder variable cannot override existing signature at line 11, near "; say 5\u22646;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
07:52 vamped well, it should be easy.
07:57 vamped alpha: multi sub infix:<≤> { $^a <= $^b}; say 5≤6;
07:57 p6eval alpha 30e0ed: OUTPUT«1␤»
07:58 vamped bang!
08:03 eternaleye left #perl6
08:04 eternaleye joined #perl6
08:07 johnz joined #perl6
08:17 johnz joined #perl6
08:22 meppl joined #perl6
08:24 pugs_svn r29788 | azawawi++ | Upgrade to jQuery 1.4.2 (for more performance)
08:26 Su-Shee joined #perl6
08:28 vamped Guten Morgen Su-Shee.
08:29 iblechbot joined #perl6
08:34 vamped now very quiet this time of (day|night)
08:35 vamped left #perl6
08:35 Su-Shee early weekend morning :)
09:09 Jedai joined #perl6
09:20 payload joined #perl6
09:22 athenot joined #perl6
09:46 mssm joined #perl6
09:49 pnate joined #perl6
09:52 pugs_svn r29789 | mberends++ | [src/perl6] README updates
10:21 rgrau joined #perl6
10:25 orafu joined #perl6
10:29 pmurias joined #perl6
10:36 k23z__ joined #perl6
10:36 k23z__ hey look, PURAMU is a social media manager from Arizona and he says in his article that Perl is dead http://it.toolbox.com/blogs​/puramu/perl-is-dead-12264
10:39 spinclad that's all right.  anyone who knows anything about it will pay no attention.
10:42 * spinclad -> bed &
10:48 snarkyboojum that article is over 3 years old
10:48 snarkyboojum i.e. dead :)
10:50 Su-Shee we could start to act the slackware-way: completely ignore what other people say and just do our thing[tm]. :)
10:58 k23z__ cock
11:31 jferrero joined #perl6
11:47 BinGOs the 'perl is dead' meme is dead.
11:51 masak joined #perl6
11:51 masak happy weekend, everybody!
11:51 * masak backlogs
11:52 * masak submits diakopter's rakudobug
11:52 masak sorry about the delay :P
11:54 masak rakudo: {}.=()
11:54 p6eval rakudo 71d884: OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2ae536445173]␤/home/p6eval//p2/lib/l​ibparrot.so.2.1.0(Parrot_confess+0x87) [0x2ae5364452a7]␤/home/p6eva​l//p2/lib/libparrot.so.2.1.0
11:54 p6eval ..[0x2ae53…
11:55 masak rakudo: say {}.WHAT
11:55 p6eval rakudo 71d884: OUTPUT«Hash()␤»
11:59 colomon o/
12:00 masak \o
12:01 k23z__ hey I think I have a dog
12:01 masak k23z__: is that good news or bad news?
12:01 k23z__ masak: not sure yet
12:02 masak k23z__: awww, can you keep it? it followed you home?
12:02 masak k23z__: is it an S12 Dog?
12:02 masak class Dog is Mammal does Pet {...}
12:02 masak my $pet = Dog.new( :name<Fido>, Animal{ :blood<warm>, :legs(4) } );
12:03 k23z__ S12 is some spec of p6 ?
12:03 k23z__ omg !
12:03 k23z__ so nice
12:03 k23z__ so cute
12:03 masak k23z__: yep. some spec.
12:03 masak k23z__: wait, are you talking about S12 or the dog? :)
12:03 k23z__ both
12:03 k23z__ they are so cute
12:03 masak nod.
12:04 masak well, I haven't seen your dog...
12:04 k23z__ it's called rubik
12:04 k23z__ it lives in a closed subversion at the moment
12:04 k23z__ but it will get out when it's bigger
12:05 masak k23z__: you should think about changing your nick. my Bayesian reasoning engine tells me that IRC users with a nick like yours won't be long-lived here on #perl6.
12:05 masak k23z__: no offense. it just looks like a throwaway nick. :)
12:05 k23z__ it is
12:06 masak k23z__: to blend in, you should name yourself 'continuation' or 'syntax' or something.
12:06 masak or 'dog6'.
12:06 k23z__ masak: I see, and your nickname will soon be part of the keywords of Perl6 no ?
12:06 k23z__ something like
12:07 k23z__ masak { ... } moritz { ... };
12:07 masak k23z__: I've always wanted to be a listop taking a block.
12:07 masak apparently I also take a moritz... o.O
12:09 masak no wait, that's two terms in a row!
12:09 masak you need a comma after the first block. or a semicolon, if they're two different statements.
12:11 colomon I think "masak" should be some sort of exception handler that detects Null PMCs and e-mails them to RT.
12:11 k23z__ yeah
12:11 k23z__ something like
12:11 k23z__ try { ... } masak ( ... ) {...}
12:12 colomon masak: Have you gotten your E03 code working yet?
12:12 masak ah, a bit like an 'else' on if statements.
12:12 masak colomon: no. haven't tried. I might after doing a bit of $OTHER_STUFF today.
12:16 masak rakudo: sub frac() { return 2/3 }; my ((:$numerator, :$denominator)) := frac(); say "$numerator, $denominator";
12:16 p6eval rakudo 71d884: OUTPUT«2, 3␤»
12:16 masak \o/
12:16 masak jnthn++
12:17 colomon that is some crazy stuff he has done there....
12:18 masak almost every feature of Perl 6 is an overcharged nuclear powerpack in sheep's clothing. :)
12:21 k23z__ oh my god
12:21 k23z__ what the
12:21 k23z__ is that ?
12:22 masak it's a list assignment to a nested capture with named arguments, on a call to a native type which is a class with two public attributes.
12:22 masak see http://use.perl.org/~Jonath​anWorthington/journal/40196
12:22 masak jnthn++
12:22 masak s/call to/call returning/
12:29 quester joined #perl6
12:35 wknight8111 joined #perl6
12:40 k23z__ is p6 still self-hosting or that went away with pugs ?
12:40 masak being self-hosting is still a long-term goal of Perl 6 and its implementations.
12:40 masak Pugs was actually written in Haskell, not Perl 6.
12:41 masak so far with Rakudo, the grammar parts are written in nqp-rx, a self-hosting subset of Perl 6. much of the CORE namespace subs and classes are written in Perl 6.
12:50 kaare joined #perl6
13:01 xabbu42 joined #perl6
13:01 payload joined #perl6
13:07 masak what to do about spam accounts on use.perl.org? http://use.perl.org/~Jerry+Panter/journal/40199
13:08 k23z__ do you guys use formal methods ?
13:08 k23z__ or software verification ?
13:08 k23z__ I mean you write this compiler
13:08 k23z__ how do you know it works properly
13:08 k23z__ and what do Haskell people mean by "our compiler can prove stuff"
13:08 k23z__ what do they mean by "prove" ?
13:08 k23z__ we have a prove utilitary in Perl also but it's not the same
13:08 masak k23z__: very interesting questions, not all of which are on topic here. :)
13:08 k23z__ also what is a theorem prover and what is its relations to this ?
13:09 masak k23z__: the closest thing we have here in Perl 6 land is spectests.
13:09 jnthn oh hai
13:09 masak k23z__: those are tests outlining expected behaviour, which can be run semi-automatically.
13:09 masak jnthn: \o
13:09 k23z__ o/
13:09 masak jnthn: great blog post yesterday! I like nested signatures. :)
13:10 jnthn masak: I'm waiting for somebody to write something Totally Awesome with them. :-)
13:11 masak that would be Totally Awesome.
13:13 masak hm, seems for loops are not yet lazy...
13:14 jnthn masak: From above, "it's a list assignment" - no, it's not an assignment. It's a binding. :-)
13:14 masak oh right.
13:14 jnthn The := is what makes it special.
13:15 masak can the same be done with an assignemnt? I guess not.
13:15 k23z__ do you guys have like degrees in compiler design or something ?
13:15 jnthn No
13:15 k23z__ but ?
13:15 jnthn k23z__: Degree in computer scinece for me.
13:15 k23z__ masak: ?
13:16 masak k23z__: no degree here. just generally annoying.
13:16 jnthn k23z__: Though my degree let you pick and choose courses in the last year, and by then I'd got interested in compilers/VMs/programming langauges so picked a few related to that.
13:16 masak I'm at uni, though. about to get a bioinformatics degree.
13:17 jnthn Compilers aren't that crazy. They're just programs that take some input (source code) and spit out some lower level thing. :-)
13:18 jnthn masak: Also, afaik, for loops are not yet lazy, no.
13:19 masak what's holding that up?
13:19 jnthn Somebody getting around to doing it, mostly.
13:19 jnthn Maybe sink context, but again, same thing.
13:20 masak oki.
13:20 masak so nothing known-to-be-hard, in other words.
13:22 jnthn Oh, I don't think there X nasty problem blocking it, no.
13:22 jnthn There's just an awful lotta stuff to do. :)
13:27 masak http://downforeveryoneorjustme.com/rakudo.org # was it something we said? did this release bring the server down?
13:28 masak thanks.
13:38 jnthn masak: Did you...start procrastinating...yet?
13:39 masak jnthn: not as such. I think I have a plan of attack now, though.
13:39 jnthn :-)
13:39 masak and I plan to spend some time today finishing up GGE.
13:39 jnthn I've got one extra talk at nlpw that I need to procrastinate.
13:39 masak cool.
13:39 jnthn Finishing GGE? :-)
13:40 masak yes, GGE is almost PGE-compliant now.
13:40 jnthn Wow!
13:40 masak it lacks lookarounds and goals, but otherwise it's as powerful.
13:40 masak I've learned loads in the past few months.
13:40 masak I also have a blog post series in 7 parts coming up about PGE internals.
13:40 jnthn Wow.
13:41 * jnthn looks forward to that.
13:41 masak me too :)
13:41 masak a bit like Perl 6 itself, I'm literally inventing new infrastructure so that the blog post series will be according to my expectations.
13:42 payload left #perl6
13:42 * jnthn ponders if submitting a 15 minute talk on meta-models was really a sane idea, and if he should tweak it to 30, given the schedule ain't been done yet.
13:43 jnthn heh, you can't change duration in act
13:44 jnthn Ah, I'll take "sane meta-model talk in 15 mins" as an interesting challenge. :-)
13:48 masak jnthn: I think one can sometimes submit one's talk with a given duration. but I remember that this wasn't possible with the hack2010dk instance.
13:50 jnthn masak: You could choose at point of submission, just not tweak later. :-) But it's fine. :-)
13:51 masak hm, maybe I remember wrongly. ISTR I looked for the duration option, but didn't find it.
13:51 am0c joined #perl6
13:52 jnthn masak: WE may be talking about different workshops. :-)
13:53 jnthn Oh, yes, we are. :-)
13:53 jnthn D'oh.
13:53 masak that's why I wrote the name of the hack2010dk instance :P
13:53 jnthn Yeah, I just noticed that. :-)
13:55 payload joined #perl6
13:56 TiMBuS joined #perl6
13:56 quester left #perl6
14:05 diakopter rakudo: say ({{4}}.()).WHAT
14:06 p6eval rakudo 71d884: OUTPUT«Int()␤»
14:06 masak looks right to me.
14:06 diakopter rakudo: say ({4}()).WHAT
14:06 p6eval rakudo 71d884: OUTPUT«Int()␤»
14:06 masak hm, I need to head home to make a bit of food. I might stop by later in the evening. o/
14:07 diakopter rakudo: say ({return {4}}()).WHAT
14:07 p6eval rakudo 71d884: OUTPUT«No exception handler and no message␤current instr.: '_block44' pc 320 (EVAL_1:127)␤»
14:08 diakopter I dunno... I don't get it.
14:08 jnthn oh, that's just a LTA version of "you did return when you weren't in a routine" or some such.
14:09 diakopter why wasn't it in a routine?
14:09 uniejo joined #perl6
14:09 jnthn ...
14:09 jnthn Because you didn't write one?
14:09 diakopter rakudo: say ((sub {return {4}})()).WHAT
14:09 p6eval rakudo 71d884: OUTPUT«Block()␤»
14:10 diakopter rakudo: say ((sub {return {4}})).WHAT
14:10 p6eval rakudo 71d884: OUTPUT«Sub()␤»
14:10 diakopter hm
14:10 diakopter rakudo: say ((sub {return {4}})()()).WHAT
14:10 p6eval rakudo 71d884: OUTPUT«Int()␤»
14:11 jnthn I think we had a decent error in alpha, but probably lost it in the refactors.
14:11 jnthn alpha: return 'lol'
14:11 diakopter rakudo: say ({return {4}}).WHAT
14:11 p6eval alpha 30e0ed: OUTPUT«Can't return outside a routine␤in Main (file <unknown>, line <unknown>)␤»
14:11 p6eval rakudo 71d884: OUTPUT«Block()␤»
14:12 jnthn You never invoke the block there :-)
14:12 ruoso joined #perl6
14:12 diakopter rakudo: (sub { say ({return {4}}).WHAT })()
14:12 p6eval rakudo 71d884: OUTPUT«Block()␤»
14:12 diakopter rakudo: (sub { say ({return {4}}()).WHAT })()
14:12 p6eval rakudo 71d884:  ( no output )
14:13 diakopter rakudo: (sub { say ({return {4}}()).WHAT })()()
14:13 p6eval rakudo 71d884:  ( no output )
14:13 diakopter erm
14:14 diakopter rakudo: say (sub { say ({return {4}}()).WHAT })()()
14:14 p6eval rakudo 71d884: OUTPUT«4␤»
14:14 diakopter o
14:14 diakopter weird
14:15 diakopter Blocks are ... a distinction.
14:16 jnthn return exceptions aren't caught by blocks, but are by routines.
14:16 diakopter I remember that, now
14:17 jnthn The bit we _are_ getting wrong is that we're meant to first look for an exception handler in the static chain, whereas we always shoot for the dynamic one at the moment.
14:18 diakopter no one's replied to my src/hash.c failed assertion email to parrot-dev
14:26 colomon jnthn: Do you have any thoughts on how to fix the "our @a;" bug in classes?  (That being the bug where trying to use them fails consistently.)  pmichaud seemed to think it was your bailiwick....
14:27 jnthn lol...
14:27 jnthn ...I thought he might know better. Gah. :-)
14:27 jnthn colomon: I have a guess, anyway.
14:28 jnthn colomon: Alas, I'm heading off to Vienna shortly, so can't look at it right now.
14:28 colomon d'oh!
14:28 jnthn colomon: One interesting test.
14:29 jnthn colomon: Is there the same problem with subs or just methods?
14:29 jnthn If just methods, that probably narrows it down a lot.
14:29 colomon using the our variable from a class sub, you mean?
14:29 jnthn yeah
14:29 colomon hmmm.
14:30 colomon rakudo: class A { our @a; method B() { @a.push(1); @a.perl.say; }; }; my $a = A.new; $a.B;
14:30 p6eval rakudo 71d884: OUTPUT«Null PMC access in find_method('push')␤current instr.: 'perl6;A;B' pc 530 (EVAL_1:216)␤»
14:30 colomon rakudo: class A { our @a; sub B() { @a.push(1); @a.perl.say; }; }; my $a = A.new; $a.B;
14:30 p6eval rakudo 71d884: OUTPUT«Method 'B' not found for invocant of class 'A'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:31 colomon rakudo: class A { our @a; sub B() { @a.push(1); @a.perl.say; }; method C() { B(); }; }; my $a = A.new; $a.C;
14:31 p6eval rakudo 71d884: OUTPUT«[1]␤»
14:31 JimmyZ joined #perl6
14:31 colomon there you go.
14:31 jnthn Right.
14:31 jnthn I think we're getting the static chain for methods wrong.
14:32 jnthn (they're attaching to the wrong lexical scopes)
14:32 jnthn I'm not immediately sure of the best fix.
14:32 jnthn Though I've a good idea why.
14:38 JimmyZ joined #perl6
14:39 JimmyZ joined #perl6
14:41 pmichaud are the Parrot subs being cloned at any point?
14:41 pmichaud (the ones being attached to the Method objects?)
14:41 gabiruh joined #perl6
14:41 colomon rakudo: class A { our @a = 4,3,2; sub B() { @a.push(1); @a.perl.say; }; method C() { B(); }; }; my $a = A.new; $a.C;
14:41 p6eval rakudo 71d884: OUTPUT«[4, 3, 2, 1]␤»
14:41 pmichaud (good morning, #perl6)
14:41 colomon o/
14:44 jnthn pmichaud: We have a class setup block, which makes the meta-method calls, and then the class body
14:44 jnthn pmichaud: What we're emitting:
14:44 pmurias joined #perl6
14:45 jnthn BEGIN { ...ClassHOW.new... $obj.^add_method('foo', method { ... }) ... }; { ...class body... }
14:45 jnthn What we want:
14:45 jnthn BEGIN { ...ClassHOW.new... $obj.^add_method('foo', <reference to the meth>) ... }; { method foo() { ... }; ...class body... }
14:46 jnthn pmichaud: The ref should be by sub ID I guess. I'm not sure how that's meant to look.
14:51 pmichaud in
14:51 pmichaud 14:44 <jnthn> BEGIN { ...ClassHOW.new... $obj.^add_method('foo', method { ... }) ... }; { ...class body... }
14:51 pmichaud is there any cloning taking place to the method { ... }  portion?  (There's not really a difference to <reference to the meth>)
14:53 jnthn pmichaud: For a class, no.
14:53 jnthn For a role, I think the metarole clones it.
14:53 pmichaud okay.  I'll look at it closely in just a bit.
14:54 jnthn Well, I think the problem is that in the PAST tree, the PAST::Block for the method is not within the PAST::Block that is the class body.
14:54 jnthn So it's :outer points to the wrong place.
14:54 explorer__ joined #perl6
14:59 pmurias k23z__: re how do we know that the compiler works correctly, Perl 6 has a test suit (it lives in t/spec in the pugs repository)
14:59 IllvilJa joined #perl6
14:59 pmichaud jnthn: yes, that would be the problem.
14:59 pmichaud that's fixable.
15:00 colomon \o/
15:00 pmichaud we can either do a reference to the PAST::Block (in the class body) -- this is exactly what you said above (now that I understand it)
15:01 k23z__ yes but tests are not sufficient as Haskell people say , they told me this because I told them I was writing tests in Perl5
15:01 pmichaud or perhaps we need an :outer attribute on PAST::Block where one can explicitly set the outer
15:01 k23z__ I don't know what they mean by "prove" , they say it has something to do with type theory
15:02 jnthn pmichaud: ooh...:outer setting would be The Cool.
15:02 jnthn I don't dislike that.
15:02 pmichaud yes, I just need an hour or so to decide if it's a good idea or design smell :)
15:02 pmichaud anyway, now that you've described the problem, I can fix it
15:03 jnthn k23z__: There's a school of thought that says that the only way to be sure is to use mathematics to make formal proofs about how the language will behave in every case.
15:04 jnthn That approach doesn't tend to lead to programming languages thare are of huge amounts of interest to people writing real software though.
15:04 pmichaud jnthn says it correctly
15:04 jnthn There's something of a disconnect between the academic programming langauge scene and the languages that are being used to write most of the world's software. Which is in a way kinda sad.
15:05 k23z__ and how is Perl6 not an academic project ?
15:05 pmichaud k23z__: depends on what you mean by "academic project"  :)
15:06 jnthn ooh...time to go for my train to Vienna!
15:06 pmichaud jnthn: have fun!
15:07 jnthn Thanks...catch you all later.
15:07 jnthn o/
15:08 mikehh joined #perl6
15:17 nihiliad joined #perl6
15:35 pugs_svn r29790 | lwall++ | [S03] cleanups suggested by nick++
15:36 pugs_svn r29791 | lwall++ | [S03] thinko spotted by TheDamian++
15:39 PlotDevice joined #perl6
15:40 Brennus joined #perl6
15:40 PlotDevice Huh, if you click on this channel's link from the perl6 front page, hydrairc bugs out and sends you to #%23perl6 instead.
15:45 Brennus hey all
15:45 TimToady I'm not all, but hey back :)
15:45 Brennus pardon me for a stupid question, but how long do you think it will be?
15:45 TimToady 'bout 3.2 meters
15:46 TimToady point being, you haven't specified your unit
15:46 Brennus that's quick for a flea but not for an amoeba
15:46 TimToady just so
15:46 TimToady we mostly deal in fractions of a century here
15:46 Brennus so christmas 2015 maybe?
15:47 TimToady oh, if Tolkien is any indication, 2014
15:47 TimToady but the parts that are already written are fun to read
15:47 Brennus i'm doing it
15:48 Brennus don't understand Tolkien ref
15:48 TimToady he took 14 years to do his big sequel
15:48 Brennus oh
15:48 Brennus i remember now
15:49 TimToady rakudo: say (if $_ { 'fred' } else { 'bill' }) for 0..1
15:49 p6eval rakudo 71d884: OUTPUT«Missing block at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:49 TimToady alpha: say (if $_ { 'fred' } else { 'bill' }) for 0..1
15:49 p6eval alpha 30e0ed: OUTPUT«bill␤fred␤»
15:50 TimToady but we hope to have a usable Rakudo * out this spring
15:50 Brennus cool
15:50 TimToady if not full-blown Perl 6
15:51 Brennus anything i can do?
15:51 Psyche^ joined #perl6
15:51 TimToady note inconsistencies or missing bits of the specs
15:51 TimToady write tests
15:51 TimToady write docs
15:52 TimToady just write something in Perl 6 and see what breaks, and report that
15:52 TimToady or if something doesn't feel right
15:52 Brennus yeah
15:53 TimToady watching how people do the learning curve is useful to us
15:53 TimToady if you're willing to report your difficulties
15:53 TimToady (other than that aren't really any good tutorials yet)
15:54 TimToady that's a known problem
15:54 vorner joined #perl6
15:54 Brennus I was reading one of your advent pieces
15:54 Brennus it was confusing not seeing the "<<" and ">>" operators written out
15:54 Brennus not written out i mean
15:55 TimToady well, the "Texas" versions are a concession to people who haven't figured out their compose key yet, or ^K in vim
15:55 TimToady but the little ones are generally construed as more readable
15:55 Brennus not on my browser
15:56 Brennus maybe my eyes are going
15:56 TimToady you can always increase the font size, like most of us do as we get older :)
15:56 colomon joined #perl6
15:57 TimToady if you can't make out a «», then you're gonna have worse difficulties telling apart , and .
15:57 TimToady or ; and :
15:57 TimToady or maybe it's a font issue
15:57 Brennus not really
15:57 Brennus font probably
15:57 TimToady maybe your brain is hardwired for ASCII :)
15:58 Brennus the default firefox font made them absurdly tiny
15:58 TimToady maybe it's the size choice for constant width
15:59 Brennus anyway why not just write them out since that's what the code is going to be anyway?
15:59 TimToady because it's ugly
15:59 Brennus make it tough to cut & paste
15:59 TimToady not for most of us
16:00 dalek rakudo/master: 8003298 | pmichaud++ | docs/spectest-progress.csv:
16:00 dalek rakudo/master: spectest-progress.csv update: 195 files, 24223 (67.8% of 35730) pass, 0 fail
16:00 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/8​00329897a86377846bb0cfe07fa614f6765e44a
16:00 TimToady if you set up your UTF-8 locale okay
16:00 TimToady what kind of box are you running?
16:00 Brennus OSX 10.4 ibook g4
16:01 TimToady we have some OSX experts around here, but I'm not one of 'em
16:01 TimToady but seems to me it should be Unicode-awarable, at least
16:01 Brennus i have a gentoo toshiba laptop that i develop on also
16:01 TimToady linux has little problem with UTF-8 locales
16:02 Brennus i've noticed
16:02 TimToady and certainly firefox seems to deal with unicode fine
16:02 TimToady anyway, eventually everything will be unicode-ish, but that's why we have << and >> too
16:03 TimToady but especially in quoting things with < and >, you want something else
16:03 Brennus anyone have experience with camelbones?
16:03 Su-Shee joined #perl6
16:03 TimToady circumfix:«< >» and such
16:04 TimToady well, I suppose someone does, but it ain't me...
16:04 colomon TimToady: did you really mean, for $n == 0, 1 ... $n;          # (), .succ increasing  ?
16:05 Brennus thanks for the UTF-8 info
16:06 colomon or am I getting confused because I am looking at the diffs instead of the entire doc?
16:13 colomon (ah, I see the next diff deleted that line.)
16:14 lue joined #perl6
16:14 Brennus the rakudo.org server isn't responding
16:15 Brennus any mirror sites?
16:15 JimmyZ there are two 2010-02-18 in spectest-progress.csv
16:17 colomon good point.
16:17 Brennus use sv?
16:18 Brennus svn rather
16:19 colomon JimmyZ: fixed.
16:20 colomon JimmyZ++
16:21 lue \o/
16:23 dalek rakudo/master: ec47f33 | (Solomon Foster)++ | docs/spectest-progress.csv:
16:23 dalek rakudo/master: Delete duplicate line for 2010-02-18.
16:23 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​c47f33ef2201e2c0ea588141f5750dc74da2b02
16:24 lue rakudo: say (True and !True)~~True; say (True and False)~~True; # indirect way of seeing if !True == False
16:24 p6eval rakudo 800329: OUTPUT«1␤1␤»
16:27 rv2733 joined #perl6
16:30 payload joined #perl6
16:31 payload joined #perl6
16:48 lue rakudo: my $chr=True|False; say $chr ~~ True;
16:48 p6eval rakudo ec47f3: OUTPUT«1␤»
16:48 lue rakudo: my $chr=True&False; say $chr ~~ True;
16:48 p6eval rakudo ec47f3: OUTPUT«1␤»
16:49 TimToady rakudo: my Any $chr = True & False;
16:49 p6eval rakudo ec47f3: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16524 (src/builtins/Junction.pir:317)␤»
16:49 TimToady rakudo: my Mu $chr = True & False;
16:49 p6eval rakudo ec47f3:  ( no output )
16:50 lue rkaudo: my $p=(True and !True); my $q=True|False; say ($p or $q);
16:50 lue rakudo: my $p=(True and !True); my $q=True|False; say ($p or $q);
16:50 p6eval rakudo ec47f3:  ( no output )
16:51 TimToady rakudo: multi infix:<≤> { $^a <= $^b}; say 5 ≤ 6;
16:51 p6eval rakudo ec47f3: OUTPUT«Confused at line 11, near "say 5 \u2264 6;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:51 crythias joined #perl6
16:52 jferrero joined #perl6
16:53 lue rakudo: my $p=(True and !True); my $q=True|False; say ($p or True);
16:53 p6eval rakudo ec47f3: OUTPUT«1␤»
16:53 lue rakudo: my $p=(True and !True); my $q=True|False; say ($p xor $q);
16:53 p6eval rakudo ec47f3:  ( no output )
16:54 lue maybe it should give us something?
16:55 * lue goes to check the spec
16:56 TimToady rakudo: my $p=(True and !True); my $q=True|False; say $p ?^ $q
16:56 p6eval rakudo ec47f3:  ( no output )
16:57 TimToady alpha: my $p=(True and !True); my $q=True|False; say $p ?^ $q
16:57 p6eval alpha 30e0ed: OUTPUT«maximum recursion depth exceeded␤in Main (file <unknown>, line <unknown>)␤»
16:57 TimToady alpha: my $p=(True and !True); my $q=True|False; say $p ^^ $q
16:57 p6eval alpha 30e0ed: OUTPUT«any(Bool::True, Bool::False)␤»
16:57 TimToady rakudo: my $p=(True and !True); my $q=True|False; say $p ^^ $q
16:57 p6eval rakudo ec47f3:  ( no output )
17:02 payload joined #perl6
17:02 explorer__ joined #perl6
17:04 lue Ah, that should be fixed.
17:11 lue I wonder wherein the problem lies...
17:12 jferrero joined #perl6
17:12 Chillance joined #perl6
17:19 lue ...hello?
17:28 justatheory joined #perl6
17:31 lue If noone's here, I'll start typing in Esperanto to amuse myself! (You have been warned)
17:47 TimToady 僕がいますよ!
17:47 lue Bonvenon, TimToady!
17:47 frettled That was almost readable.
17:49 pmurias joined #perl6
17:50 lichtkind joined #perl6
17:52 lue could I take TAI as Unix Epoch? If so, is it UTC?
17:52 lue rakudo: say time();
17:52 p6eval rakudo ec47f3: OUTPUT«1266687562.0852␤»
17:52 mikehh joined #perl6
17:55 lue darnit, I though I had someone for a minute...
17:56 * lue will go on to assume his questions about TAI are true, since no-one will answer... :(
17:57 mssm joined #perl6
17:58 pmurias www.rakudo.org doesn't seem to load for me
17:58 lue I read earlier it was down... wonder what's happening
18:00 payload joined #perl6
18:00 lue rakudo: say floor(7.6);
18:00 p6eval rakudo ec47f3: OUTPUT«7␤»
18:01 pmurias from where can i checkout rakudo?
18:01 lue hang on...
18:02 pmurias it seems to be on github
18:02 lichtkind is samuel harington here?
18:02 lue here's the command: git clone git://github.com/rakudo/rakudo.git
18:03 patspam joined #perl6
18:05 silug joined #perl6
18:09 payload joined #perl6
18:11 nbrown joined #perl6
18:11 silug joined #perl6
18:12 lue rakudo: say 794243384928000/9192631770
18:13 p6eval rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 304713 (src/gen/core.pir:32856)␤»
18:13 lue woah.
18:13 lue alpha: say 794243384928000/9192631770
18:13 p6eval alpha 30e0ed: OUTPUT«No applicable candidates found to dispatch to for 'infix:div'␤in Main (file <unknown>, line <unknown>)␤»
18:13 lue Are you really saying no-one's bothered to implement division?
18:13 lue pugs: say 794243384928000/9192631770
18:13 p6eval pugs: OUTPUT«86400␤»
18:14 lue thank you
18:18 TimToady rakudo: say 794243384928000/9192631770.nude>>.WHAT
18:18 p6eval rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 304355 (src/gen/core.pir:32777)␤»
18:18 TimToady rakudo: say 794243384928000/9192631770.perl
18:18 p6eval rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 304355 (src/gen/core.pir:32777)␤»
18:18 TimToady rakudo: 794243384928000/9192631770
18:18 p6eval rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 304355 (src/gen/core.pir:32777)␤»
18:18 lue pugs: say 794243384928000/16; say 794243384928000/24;
18:18 p6eval pugs: OUTPUT«49640211558000␤33093474372000␤»
18:19 TimToady the basic problem is that 794243384928000 is likely too big for rakudo to make a Rat out of
18:19 TimToady since it doesn't do bignum Int yet
18:19 lue pugs: say 49640211558000/33093474372000
18:19 p6eval pugs: OUTPUT«1.5␤»
18:19 lue I'm looking at hextime, and trying verify the numbers.
18:19 TimToady rakudo: say 794243384928000.WHAT
18:19 p6eval rakudo ec47f3: OUTPUT«Int()␤»
18:19 TimToady say 794243384928000+1
18:20 TimToady rakudo say 794243384928000+1
18:20 TimToady rakudo: say 794243384928000+1
18:20 TimToady grr
18:20 p6eval rakudo ec47f3: OUTPUT«794243384928001␤»
18:20 lue pugs: say 33093474372000/49640211558000
18:20 p6eval pugs: OUTPUT«0.66666666666666666​66666666666666666666667␤»
18:20 TimToady rakudo: say (794243384928000+1).WHAT
18:20 p6eval rakudo ec47f3: OUTPUT«Num()␤»
18:20 TimToady see, it's complaining that it can't find Num div Int
18:21 TimToady because it's faking bigints with Num
18:21 lue ah. Someone should fix that (Python can handle unlimited length integers, no problem...)
18:22 TimToady well, it's specced to work right
18:22 TimToady and pugs still does better in that particular regard
18:23 lue rakudo: say time()/86400
18:23 p6eval rakudo ec47f3: OUTPUT«14660.7570671122␤»
18:23 TimToady rakudo: say time.WHAT
18:23 p6eval rakudo ec47f3: OUTPUT«Num()␤»
18:23 TimToady that's also not according to spec
18:24 lue Is Num a sort of failsafe thing, or is there something special as opposed to Int and Float
18:26 TimToady Num is float, basically
18:27 lue ah.
18:28 TimToady though now that I glare at it, it appears someone took the types off of the definition of time(), grr
18:28 wolf2k_ubuntu joined #perl6
18:29 lue Wondering: for the calendar-related commands, could they theoretically include any calendar?
18:30 TimToady oh, there it is, it returns an Instant, as it should
18:31 TimToady and Instant is supposed to be a FatRat, if it needs the precision
18:32 TimToady or maybe internally it's a year's Int TAI seconds plus a Rat64 for offset within the year
18:34 lue If I looked up on how calendars are implemented, I'd be happy to spend my time implementing some (Julian, Hebrew, etc.)
18:36 pmurias S32-num/rand.t tests if srand(:seed(0)) is different from srand(:seed(1)), does the spec guarante that?
18:38 ggoebel joined #perl6
18:39 payload joined #perl6
18:50 lue rakudo: say 5.fmt('\x')
18:50 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &sprintf␤current instr.: 'perl6;Any;fmt' pc 275216 (src/gen/core.pir:22213)␤»
18:50 lue alpha: say 12.fmt('\x')
18:50 p6eval alpha 30e0ed: OUTPUT«\x␤»
18:51 lue alpha: say 12.fmt('{\x}')
18:51 p6eval alpha 30e0ed: OUTPUT«{\x}␤»
18:51 lue alpha: say 12.fmt('{%x}')
18:51 p6eval alpha 30e0ed: OUTPUT«{c}␤»
18:51 lue there we go (sorta)
18:52 ggoebel joined #perl6
18:52 pugs_svn r29792 | lwall++ | [S02] bias Instant/Duration types away from Num and towards Rat/FatRat semantics
18:53 TimToady last one looks right to me
18:53 lue yes, completely right. (don't know why I typed sorta)
18:55 TimToady hmm, thinking about 12.%x as an abbreviation
18:55 TimToady wouldn't interpolate though
18:55 lue YES PLEASE! (did I just shout?)
18:55 ggoebel joined #perl6
18:55 TimToady $x.%x() seems odd
18:55 lue or something short than .fmt('%x'). It doesn't look nice.
18:56 lue maybe a hex($calar_here) command?
18:56 TimToady we want real printf formats
18:56 * lue pretends to know of printf and its formats
18:56 lue ah, I see
18:58 lue maybe... $x.hex , which would just call $x.fmt('%x') .
18:58 TimToady rakudo: say 12.fmt('%04x')
18:58 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &sprintf␤current instr.: 'perl6;Any;fmt' pc 275216 (src/gen/core.pir:22213)␤»
18:58 TimToady alpha: say 12.fmt('%04x')
18:58 p6eval alpha 30e0ed: OUTPUT«000c␤»
18:58 lue see, rakudo doesn't run printf anyway right now :(
18:58 TimToady you almost always want leading 0's
19:00 * lue is going to rewrite his hexclock code, because it fails...
19:03 lue pugs: say 794243384928000/4096; say 794243384928000/1440;
19:03 p6eval pugs: OUTPUT«193907076398.4375␤551557906200␤»
19:04 lue pugs: say 551557906200/193907076398.4375
19:04 p6eval pugs: OUTPUT«2.84444444444444444​44444444444444444444444␤»
19:04 lue ooh, pretty numbers
19:06 lue pugs: say 794243384928000/65536; say 794243384928000/86400;
19:06 p6eval pugs: OUTPUT«12119192274.90234375␤9192631770␤»
19:06 lue pugs: say 9192631770/12119192274.90234375
19:06 p6eval pugs: OUTPUT«0.75851851851851851​85185185185185185185185␤»
19:06 lue hooray! I've verified the numbers. Now, to do the math...
19:09 ckruse joined #perl6
19:27 colomon joined #perl6
19:27 nihiliad joined #perl6
19:30 iblechbot joined #perl6
19:32 lichtkind lue: hi
19:32 lue hello!
19:34 colomon o/
19:34 lue o/
19:35 lue rakudo: my $y=2010; my $s=$y*365.25*24*60*60; say $s;
19:35 p6eval rakudo ec47f3: OUTPUT«63430776000␤»
19:36 lue rakudo: say 24*60*60*365.25
19:36 p6eval rakudo ec47f3: OUTPUT«31557600␤»
19:44 lichtkind lue: dont like secrecy? :)
19:45 lue nah, just didn't see much need for private chat anymore.
19:47 lichtkind lue: you just didn't know what big secrets you would get told if you didn't close that winow :)
19:47 lue Noooo! Please, please, open it again! I won't close it this time! PLEASE!!!
19:49 lichtkind hahaha :)
19:49 lue PPPPPPPP
19:49 lue LLLLLLLLL
19:49 lue EEEEEEEEE
19:49 lue AAAAAAAAA
19:49 lue SSSSSSSSs
19:49 lue EEEEEEEE
19:50 lichtkind lue: its allright, life does never cheat on you :)
19:51 lichtkind lue: what your interested in?
19:51 lue I'm using it
19:51 lichtkind lue: what you are using?
19:51 lue PowerBook G3 Pismo, circa before 2000, running Fedora Linux 12
19:54 lue rakudo: say DateTime();
19:54 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &DateTime␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
19:55 lue rakudo: say datetime();
19:55 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &datetime␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
19:55 lichtkind lue: i mean in what part of perl 6 are you interested in :)
19:55 lue rakudo: say calendartime(time());
19:55 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &calendartime␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
19:56 lue lichtkind: whatever I'm into atm. Right now it's time (if you can't tell)
19:56 lue it was at one point custom ranges, and then ≤ to mean <= and so on
19:57 lue alpha: say calendartime(time());
19:57 p6eval alpha 30e0ed: OUTPUT«Could not find non-existent sub calendartime␤in Main (file src/gen_setting.pm, line 324)␤»
19:57 lue pugs: say calendartime(time());
19:57 p6eval pugs: OUTPUT«*** No such subroutine: "&calendartime"␤    at /tmp/vDXiqreG0d line 1, column 5-25␤»
19:58 lue litchkind: yesterday it was superpositions and the Explosion Principle.
20:00 lichtkind lue: please explain, you mean junctions?
20:01 lue yes. I prefer the term superpositions (to keep in line with quantum physics :) ).
20:01 lue superpositions – erm, junctions – are perfect for things like Schroedinger's Cat
20:03 lue litchkind: anything to do in the wiki? I'm looking, but can't seem to find anything needing to be done...
20:07 lue std: say datetime()
20:07 p6eval std 29792: OUTPUT«Undeclared routine:␤   'datetime' used at line 1␤ok 00:01 107m␤»
20:07 lue std: say Temporal.datetime()
20:07 p6eval std 29792: OUTPUT«Undeclared name:␤      'Temporal' used at line 1␤ok 00:01 105m␤»
20:08 TimToady STD refuses to believe in Temporal::
20:08 lue anywhere I can get a readout that's NOT the Unix Epoch – erm, TAI
20:09 TimToady readout?
20:09 TimToady the problem seems underspecified...
20:09 lue ex. June 7th, 2009 12:30:23 instead of 1266582374.34829
20:09 TimToady hmm
20:10 TimToady alpha: say localtime()
20:10 p6eval alpha 30e0ed: OUTPUT«Could not find non-existent sub localtime␤in Main (file src/gen_setting.pm, line 324)␤»
20:10 lue theoretically, it's possible to derive it from the epoch, but that's bloody difficult to figure out.
20:10 lue (considering you have 5 unknown variables)
20:10 lichtkind TimToady: we currently revamp the perl 6 wiki, would you please tell me in your own words what STD.pm is?
20:11 TimToady the Standard Perl 6 grammar
20:11 TimToady it's more or less part of the specs
20:13 lichtkind TimToady: can it be called a parser?
20:15 bob818 joined #perl6
20:15 lue (looks like I found something in Rakudo to work on: time)
20:17 * lue is gonna use sed to try and find where time is...
20:18 TimToady yes, it can be used as a parser when translated gimme5
20:18 TimToady that's what std: is running
20:22 lichtkind TimToady: thank you , can there be said more about this or is there some document you can refer to?
20:22 lue bleh. Not so much as a Temporal.pir anywhere. Obviously, no one gave two shakes about time.
20:27 PerlJam lue: src/setting/Temporal.pm
20:27 PerlJam (from alpha)
20:28 PerlJam It's just not brought into master yet
20:28 lue there is no setting folder in master.
20:28 lue alpha: say datetime()
20:28 p6eval alpha 30e0ed: OUTPUT«Could not find non-existent sub datetime␤in Main (file src/gen_setting.pm, line 324)␤»
20:28 lue alpha: say DateTime()
20:28 p6eval alpha 30e0ed: OUTPUT«Could not find non-existent sub DateTime␤in Main (file src/gen_setting.pm, line 324)␤»
20:30 lue Bleh. It should all be reimplemented anyway.
20:31 Chillance joined #perl6
20:36 lichtkind TimToady: hope you dont mind http://www.perlfoundation.or​g/perl6/index.cgi?larry_wall
20:37 lue rakudo: say time;
20:37 p6eval rakudo ec47f3: OUTPUT«1266697483.99857␤»
20:38 lue where is time defined in master? hm
20:40 colomon lue: you need to get a program called ack.
20:41 colomon Then you can cd to the src directory and say  ack -w time    and get a list of every place the word time appears in the source code.
20:41 masak joined #perl6
20:41 lue sure it's not awk? :)
20:41 colomon It is absolutely sweet for this sort of thing, I use it a dozen or more times a day.
20:42 colomon lue: I'm sure it's ack, because I mistype it awk once a day and it never works when I do that.  :)
20:42 lue alright, will get it.
20:42 colomon Actually, now I mostly use it in a nice wrapper in a TextMate , but that won't help you in Linux.
20:43 PerlJam lue: cpan App::Ack  # install it from CPAN
20:43 lisppaste3 colomon pasted "ack -w time" at http://paste.lisp.org/display/95326
20:43 PerlJam lue: apt-get install ack-grep  # if you're on ubuntu
20:45 TSa joined #perl6
20:47 masak GGE now does lookarounds, and passes/todos 750 tests!
20:50 colomon \o/
20:50 masak maybe I should focus on the named-regex/grammar functionality, next rather than goals.
20:50 masak with grammars, I can make GGE parse Perl 6 :)
20:51 TimToady lemme know when you can run STD :)
20:51 masak heh :)
20:52 lue ah, it's in old/settings/Temporal.pm
20:54 masak I implemented <after ...> in GGE, the way PGE does it. PGE does some really funky stuff there, even for PGE.
20:55 uniejo joined #perl6
20:55 masak to its credit, there's a big comment above that method saying "this is not the way it should really be done". :)
20:56 masak g'ah, SF++ already has a second version of the E03 code! http://lastofthecarelessmen.blogspo​t.com/2010/02/e03-second-stab.html
20:57 lichtkind masak: when november runs you get your wiki page :)
20:57 lichtkind TimToady: so the article seemd ok to you?
20:57 lue litchtkind: what could I do on the wiki?
20:58 lue eh, lichtkind
20:58 masak lichtkind: november doesn't run?
20:58 lichtkind masak: AFAIK the old save problem still lurks
20:58 masak oh, that. but the site is still running. good.
20:59 lichtkind masak: yes an wiki you cant edit :)
20:59 masak that bad? I thought it was only sometimes.
20:59 lichtkind masak: no anytime since weeks, or i wouldnt have switched now to tpf wiki for now :)
21:00 masak lichtkind: sorry about that. I wasn't aware it was that bad.
21:00 lue any suggestions on how to get Temporal up and running properly?
21:00 lichtkind masak: that was the reason for asskickin :)
21:00 masak lichtkind: you haven't found any volunteer developers for November, have you? :)
21:00 lichtkind masak: guess your right
21:01 lichtkind masak: currently cleaning up the mess in the tpf wiki
21:01 lichtkind lue: there is is plenty to do just grab a corner your interested in
21:01 lue rakudo: say iso8601
21:01 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &iso8601␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:01 lue rakudo: say time.iso8601
21:01 p6eval rakudo ec47f3: OUTPUT«Method 'iso8601' not found for invocant of class 'Num'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:01 lue rakudo: say time().iso8601
21:01 p6eval rakudo ec47f3: OUTPUT«Method 'iso8601' not found for invocant of class 'Num'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:02 lue bah!
21:02 masak that's a terrible method name. :/
21:02 lue lichtkind: OK, will look (although right now I'm focused on Temporal)
21:02 lue just look in src/old/settings/Temporal.pm
21:03 lue I'd like to put Temporal somewhere other than old/settings if and when I fix it, btw
21:07 colomon masak: I think SF had an advantage of already having a working (?) program, so easier to incorporate good ideas from you quickly.
21:12 masak colomon: aye. I'll remember that when we do E04 :)
21:13 lue It really isn't clear where the time used in master is defined (it doesn't seem to be old/settings/Temporal.pm)
21:17 lue rakudo: say Temporal.time
21:17 p6eval rakudo ec47f3: OUTPUT«Could not find non-existent sub &Temporal␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:17 lue rakudo: say Temporal::time
21:17 p6eval rakudo ec47f3: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:17 lue rakudo: say Temporal::Time
21:17 p6eval rakudo ec47f3: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:17 bkeeler src/builtins/control.pir:.sub '&time'
21:18 lue almost, not quite. Where is the time command defined is what I'm looking for.
21:19 bkeeler Not sure what you mean
21:20 bkeeler ...and good morning all, by the way :)
21:20 masak bkeeler: \o
21:20 bkeeler o/
21:20 spinclad o/
21:22 masak rakudo: say (True & False) ~~ True
21:22 lue o/
21:22 p6eval rakudo ec47f3: OUTPUT«1␤»
21:22 masak that can't be right.
21:22 lue it is
21:22 lue according to Explosion Principle
21:22 masak please explain.
21:22 lue rakudo: say (True and !True)
21:22 p6eval rakudo ec47f3: OUTPUT«0␤»
21:22 lue rakudo: say (True and !True) ~~ True
21:22 p6eval rakudo ec47f3: OUTPUT«1␤»
21:22 lue rakudo: say (True and !True) ~~ False
21:22 p6eval rakudo ec47f3: OUTPUT«0␤»
21:23 masak I'm still confused.
21:23 masak usually explainations help :)
21:23 lue let me get you a couple links...
21:23 spinclad lue: where time is defined: where bkeeler said
21:23 masak lue: I'm so glad you're here. I'm a bit new at this. :)
21:24 spinclad (admittedly it should go somewhere else...)
21:24 colomon rakudo: say (True & False).perl
21:24 lue masak: here's a webcomic explaining it in a nutshell: http://xkcd.com/704/ . Also search wikipedia for Explosion Principle
21:24 p6eval rakudo ec47f3: OUTPUT«all(1, 0)␤»
21:24 spinclad rakudo: say False ~~ True
21:24 masak lue: I see in the backlog that vi parolas Esperanton.
21:24 p6eval rakudo ec47f3: OUTPUT«1␤»
21:24 masak o.O
21:24 lue masak: not fluently
21:25 spinclad (which is Worng)
21:25 colomon alpha: say False ~~ True
21:25 p6eval alpha 30e0ed: OUTPUT«1␤»
21:25 lue pugs: say False ~~ True
21:25 p6eval pugs: OUTPUT«␤»
21:25 * masak submits rakudobug
21:25 lue std: say False ~~ 42
21:25 p6eval std 29792: OUTPUT«ok 00:01 107m␤»
21:25 masak can't believe no-one caught this before.
21:25 bkeeler Bonvolu alsendi la pordiston? Lausajne estas rano en mia bideo!
21:26 devinus joined #perl6
21:26 bkeeler That's the only Esperanto I know...
21:26 lue According to Explosion Principle, Perl6 is right :)
21:26 masak bkeeler: :)
21:26 spinclad Rano, ek!
21:26 bkeeler I like frogs
21:26 spinclad ekiru, mi diras!
21:26 masak bkeeler: that's "laŭŝajne", but otherwise fine.
21:27 lue rakudo: say (True && !True) ~~ True
21:27 p6eval rakudo ec47f3: OUTPUT«1␤»
21:27 lue (geez, I know almost no Esperanto. You make me feel bad :) )
21:27 masak lue: there's still time to learn before the Fina Venko! :P
21:28 bkeeler I heard the first frog of the year just yesterday in fact.  In a few weeks my pond will be teeming with them, singing all evening
21:28 masak bkeeler: but not your bidet?
21:28 k23z__ joined #perl6
21:28 devinus i'm not trying to be a troll--i'm genuinely curious since i can't find anything recent through a google search--what  are the current estimates for when perl 6 will be "ready" ?
21:28 bkeeler Preferably not, though if they took time to install a bidet first I guess I could make an exception
21:28 Brennus joined #perl6
21:28 lichtkind lue: what you mean by explosion?
21:29 lue √ that you know your explosion principle. Yesterday I used it to derive Obama's cell phone number.
21:29 lue See the xkcd.com comic I posted a link to for details: http://xkcd.com/704/
21:31 lue it's a "in a nutshell" explanation. Here's Wikipedia: http://en.wikipedia.org/wi​ki/Principle_of_explosion
21:31 lichtkind devinus: whyt kind of ready you mean?
21:32 devinus lichtkind: as in, "HEY EVERYBODY! HERE'S PERL 6! We encourage you to use it in production environments" or at least an "official release" maybe blessed as such by larry wall or something....
21:33 spinclad devinus: 'ready' for corporate use, with a firm standing by to be sued if it doesn't work?
21:33 colomon devinus: current goal is to have an "hey, we've got something cool here" release in April.
21:33 lue my best guess would be Rakudo *, released in April. There is no due date, really :D
21:33 lichtkind devinus: this march/april will come rakudo*
21:34 devinus that's awesome, yeah i read about star on wikipedia
21:34 lichtkind devinus: but there are not many modules here yet and its still slow and ram consuming
21:34 lue Rakudo Whatever — I mean Star — is to be released in April ( <-- that was a P6 pun)
21:34 masak devinus: the thing about the 'ready' you're talking about is that nobody knows for sure how long it'll be till that point, but it sure won't hurt to get people enthusiastic and involved in the effort.
21:34 lichtkind devinus: but its considerable stable
21:34 lichtkind devinus: maybe not production ready :)
21:34 lue Bonvenon al Perl6, devinus!
21:35 devinus well that's great
21:35 devinus lichtkind: i'm guessing the libjit work in parrot hasn't helped the slowness?
21:35 masak I'm sure some brave souls could use Rakudo in production.
21:36 lichtkind devinus: i dont know about that, but yes parrots gets slowly faster :)
21:36 bkeeler It's certainly a viable platform for experimenting and writing smallish programs in
21:36 lue I guess I'm a brave soul then :)
21:36 bkeeler I think it's going to be a while before people are writing the next facebook in it
21:37 masak but we'll try to be ready for that.
21:37 lichtkind lue: we all are :)
21:37 Su-Shee well for that is just a couple of modules missing and a little more speed. ;)
21:37 colomon a lot more speed... :)
21:37 bkeeler what colomon said
21:38 lue When Rakudo * comes out, we should all shout "Saluton mondo! Bonvenon al Perl6!" (please tell me I got that right)
21:38 masak lue: you got that right.
21:38 lue superluminal speed is our goal, actually. R* will be so good, it'll run at superluminal speeds even if your hardware can't run that fast!
21:38 colomon Mind you, we're making strides -- master is better than twice as faster as alpha at running the master test suite.
21:39 colomon *fast
21:39 lue I motion to rename Master to Doctor (that way I won't get creeped when you say things like "The Master test suite")
21:40 masak lue: I motion you write some Perl 6 instead of squabbling over labels :)
21:40 bkeeler I'd like to spend some time with the Romana branch myself ;)
21:41 lue Romana? Not familiar (I don't want to use the Majora branch, ever *shudder*)
21:43 bkeeler She was one of Doctor Who's companions
21:43 bkeeler http://img.photobucket.com/albu​ms/v21/volksjager/st--5h05.jpg
21:43 colomon I'm already using Rakudo for some light production work here.  If it keeps doubling in speed every three months, it will be fine in a year or so....
21:44 masak lue, bkeeler: you're both pretty new here. how did you two get involved with Perl 6 and #perl6? if you don't mind me asking -- I'm interested.
21:44 bkeeler I've been lurking on the lists for ages
21:44 Su-Shee colomon: I just shoved aside some old code and modularized it so that I can do the first p6 module in production.
21:45 lue masak: I was programming an NES emulator in Python3, when I got tired of not having pointers and switch statements...
21:45 colomon Su-Shee: \o/
21:45 bkeeler And been a perl programmer in one form or another since....oh, '91 I think
21:45 lue masak: ...So I found Perl. I found Perl 5 a bit too different from most languages, hence Perl 6. The End.
21:45 masak lue: Perl doesn't have pointers either.
21:45 bkeeler I just got fed up of missing all the good chatter on #perl so I got off my ass and installed an IRC client this week
21:45 lue *cough* references
21:45 masak lue: and Perl 5 doesn't have switch statements :)
21:46 masak lue: I thought they were called references because they're safer than pointers.
21:46 masak bkeeler: but you're aware that this is #perl6, right? :P
21:46 bkeeler Yeah, typoed that heh
21:46 masak oh, ok.
21:47 bkeeler Been following the perl6 development since the apocalypse days
21:47 lue Whatever it is. I need to be able to point to the same number in the same byte of memory in two different spots in a list.
21:47 Brennus_ joined #perl6
21:48 lue ex. , @rray[0] and @rray[3] would both point to 0xDEADBEEF in memory.
21:48 masak bkeeler: oh! then you've probably been paying attention longer than I have.
21:48 mberends joined #perl6
21:48 masak mberends: oh hai! GGE now does lookarounds!
21:48 spinclad \o/
21:49 bkeeler Limited attention.  I've been paying more and more attention the closer rakudo gets
21:49 masak so have I, I guess.
21:49 masak but I was active-ish during the Pugs days, the Golden Age. :)
21:49 lue \o\ \o\ |o| Saluton, mberends! |o| /o/ /o/
21:49 bkeeler I could be approaching some sort of attention singularity when Rakudo * comes out, #perl6 could be wiped out my a supernova of my presence
21:50 colomon bkeeler: I got hooked when they told me that here-strings would get the indent level of their command.  think it was around 2004 or so.
21:50 lue I was hooked at references and switch statements :)
21:50 masak bkeeler: I think we're willing to take the risk :)
21:50 bkeeler I think the big turning point for me was reading A05 and E05
21:50 colomon but after the initial thrill of pugs I didn't think much about p6 for a few years.
21:50 lue Hi, i'm lue, and I'm a P6 addict. On occasion I use R*
21:51 bkeeler It took me ages to get my jaw up off the floor
21:51 mberends Masak: wow! Just playing with IRC on new android phone :
21:51 masak funny how people got hooked by individual features. I think I got hooked by the project as such. I want to be a Perl 6 pioneer and use as much of the new language as I can. :)
21:51 masak mberends: oh, cool.
21:51 Su-Shee mberends: junkie. ;)
21:51 mberends Heh
21:51 * lue feels glad he comes at the tail-end of P6 development, instead of starting at the beginning
21:51 PerlJam lue: why?
21:52 lue I didn't have to wait forever :D
21:52 masak lue: how do you know it's the tail-end? :P
21:52 bkeeler *grumble*grumble* want an android phone so bad *grumble*grumble* locked into Sprint contract for another 18 months *grumble*grumble*
21:52 PerlJam it's not the tail
21:52 lue I mean the coming of R*
21:52 mberends Gotta go, talk 2morrow
21:52 PerlJam well, it is the tail, but it's a really long tail ;)
21:52 masak mberends: \o
21:52 colomon o/
21:52 lue \o\ \o\ Goodbye, mberends /o/ /o/
21:53 masak lue: honestly, R* is mostly here already. it's basically alpha + laziness as far as I'm concerned.
21:53 masak hm, pmichaud and jnthn might disagree :)
21:53 bkeeler Yeah
21:53 lue yeah, good thing ng turned into the doctor branch, right?
21:53 bkeeler Grammars and s/.../.../ are what I'm really waiting on at this point
21:53 PerlJam masak: having protos is significant too
21:54 masak PerlJam: oh, the regexes? yeah.
21:54 masak PerlJam: but it hasn't reached the Rakudo user yet, only the implementors.
21:54 bkeeler My first try at using rakudo for $work was when I needed a parser for an oddball file format
21:54 bkeeler Didn't work out with alpha when I tried it.  Got bogged down with the larger parse input I fed it
21:54 Su-Shee I earned money with perl 6 in 2003. ;)
21:55 bkeeler I'll dust that code off when master gets grammars
21:55 colomon grammars are going to be awesome.
21:55 PerlJam Su-Shee: you traded on its name?
21:55 colomon pretty much are awesome already.
21:55 bkeeler See if it works any better
21:55 lue you procured monetary goods for a paradigm of microcomputer programming? wow!
21:55 masak bkeeler: nopaste it here, and we'll help you optimize it :)
21:56 Su-Shee PerlJam: I wrote an article about it, sure the hype coming tomorrow. ;)
21:56 bkeeler I'll see if I can do that Monday when I go in
21:56 * PerlJam should get more interested in writing articles for money
21:56 bkeeler Well, I guess I could VPN in
21:56 PerlJam more money is always good  :)
21:56 bkeeler What the heck
21:57 lue I have ascertained that Su-Shee's paradigm is an excellent receiver of monetary goods :)
21:57 * lue is using fancy words for comedic effect
21:57 Su-Shee PerlJam: I'm writing on and off about open source stuff since '97.
21:57 PerlJam lue: It's not working. ;)
21:57 lue The joke is that I look like a jerk :D
21:58 lue The comedic effect is that I am to be perceived as a neer-do-well
22:01 Brennus joined #perl6
22:01 lue rakudo: $p=True|False; say ($p and !$p) ~~ True; # you thought I confused you before :)
22:01 p6eval rakudo ec47f3: OUTPUT«Symbol '$p' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
22:01 lue rakudo: my $p=True|False; say ($p and !$p) ~~ True; # you thought I confused you before :)
22:01 p6eval rakudo ec47f3: OUTPUT«1␤»
22:01 masak lue: that one's different. :)
22:02 lue rakudo: my $p=True&False; say ($p and !$p) ~~ True; # you thought I confused you before :)
22:02 p6eval rakudo ec47f3: OUTPUT«1␤»
22:02 lue rakudo: my $p=True^False; say ($p and !$p) ~~ True; # you thought I confused you before :)
22:02 p6eval rakudo ec47f3: OUTPUT«1␤»
22:02 masak with junctions, all('bets', 'are', 'off');
22:02 Brennus excuse me, I'm confused by http://perl6advent.wordpress.com/​2009/12/01/day-1-getting-rakudo/
22:02 lue \o/
22:02 masak Brennus: how can we help?
22:02 lue with junctions, any('thing', 'goes');
22:03 PerlJam Brennus: What OS are you on? Do you have both git and svn?
22:03 Brennus the 3rd code snippet says say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } );
22:03 masak yes?
22:03 masak rakudo: say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } );
22:03 p6eval rakudo ec47f3: OUTPUT«Confused at line 11, near "say [+] (1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:04 masak alpha: say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } );
22:04 Brennus see?
22:04 masak Brennus: yes.
22:04 p6eval alpha 30e0ed: OUTPUT«233168␤»
22:04 masak Brennus: sorry about that. we just did a switch.
22:04 PerlJam Brennus: the "new and improved" rakudo still has a few things to bring over from alpha
22:04 masak Brennus: if you want all of the features in the Advent Calendar, you should go with the January release.
22:04 Brennus oh ok
22:04 masak Brennus: the release announcement says as much.
22:04 colomon and [+] is a prime example of what hasn't come over yet.
22:05 Brennus seems kinda major
22:05 colomon rakudo: say (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } ).reduce({$^a + $^b})
22:05 p6eval rakudo ec47f3: OUTPUT«233168␤»
22:05 lue /o\ my bwain huwts
22:05 masak Brennus: well, things have been taken apart completely, and they're not back together completely yet.
22:06 bkeeler There are a few major features missing, but there are also a few major new features that we're in the old release
22:06 masak Brennus: you're witnessing the exciting end of the biggest Rakudo refactor to date. :)
22:06 Brennus :)
22:06 colomon All the guts are there for the example, we just don't have the shortcut [+] for it.
22:06 bkeeler s/we're/weren't/
22:06 lue Or a decent Temporal
22:07 lue rakudo: say 1..*
22:07 Brennus that will be easy, right?  it's just a rule
22:07 p6eval rakudo ec47f3:  ( no output )
22:07 masak lue: did you take a look at the Temporal overhaul I almost finished?
22:07 lue what!? erm... no.
22:08 colomon Brennus: you mean [+]?  We want a good general implementation, and the grammar for it is pretty tricky.  Else I would have implemented it already.  :)
22:08 lue what do you do when you're not here? We were discussing it for half the day today!
22:08 * masak goes for links
22:08 masak lue: yes, I saw that.
22:08 Brennus ok thx
22:08 lue We also need to be able to divide things like:
22:09 justatheory joined #perl6
22:09 lue 12318243913517385139045318/1345834591243841 #this wouldn't work
22:09 masak lue: http://github.com/masak/temporal-flux-perl6syn​/blob/master/S32-setting-library/Temporal.pod
22:10 lue \o/
22:10 masak lue: it has a number of things I like. particularly very nice constructors. I also implemented most of them in a fork of Rakudo. never got to merging it, though :/
22:11 PerlJam masak: now is a good a time as any :)
22:11 masak yes.
22:11 masak been thinking about joining the fray at p6l. :)
22:11 colomon masak: Don't do it!  Save yourself!
22:11 * masak .oO( so many Perl 6 subprojects, so little time... )
22:12 Brennus rakudo: say 12318243913517385139045318/1345834591243841 #this wouldn't work
22:12 p6eval rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 304713 (src/gen/core.pir:32847)␤»
22:12 lue masak: merge your Temporal fix! Save the Doctor! DESTROY THE REALITY BOMB!!!
22:12 * lue got carried away
22:12 masak lue: sure, but my laptop battery is running out...
22:13 lue no no no no no no no no no no no no no no no no no no no no no no no no no no no no
22:13 lue I use: Principle of Explosion.
22:13 PerlJam colomon: how is the grammar for [+] any trickier in master from how it's implemented in alpha?
22:13 lue LUE uses Principle of Explosion to derive battery power.
22:13 lue LUE gives derived battery power to MASAK
22:14 bkeeler Don't use it masak
22:14 masak I kinda wish that would have worked.
22:14 bkeeler Could be dangerous
22:14 masak ya think?
22:14 lue I've derived it to be safe!
22:14 bkeeler You've heard of exploding laptop batteries, no?
22:14 colomon PerlJam: Master cheats and just generates a separate [+], [*], etc, operator, for each infix operator.
22:14 PerlJam colomon: oh, that's right.   I remember that.
22:15 colomon doing it right is a lot more funky.
22:16 lue colomon: would a circumfix [] possibly do any good? (then see what operator is inside, and so on)
22:19 masak lue: the thing about logic is that it's not very interesting once you introduce a contradiction. the whole 'any thing can be proved given P&!P' thing is just a way of demonstrating that. if the whole world is pink, it's hard to tell things apart.
22:20 masak losing power... must find outlet...
22:20 lue masak: ah, your a believer of reductio ad absurdum
22:22 colomon lue: The STD.pm version of the grammar is the way to go, I think -- but I find it completely incomprehensible.
22:22 colomon afk
22:23 lue why can't we just take STD.pm and turn it into pir code? (it's pretty lazy, but...)
22:23 lue (and it probably doesn't work like that...)
22:23 bkeeler The NQP-rx grammar engine isn't quite up to parsing STD yet I think
22:24 bkeeler And translating it by hand into pir would be anything but lazy!
22:25 bkeeler Once we get grammars in rakudo directly it might get easier
22:25 lue how on earth would P6 ever support itself I wonder...? It would be cool when it happens though.
22:25 bkeeler though I don't know if/when we're actually planning on porting the compiler itself to run perl6 instead of NQP
22:27 bkeeler I suspect it will be a more incremental approach.  I think for ng they started with the NQP grammar and evolved it towards STD
22:28 lue a self-supporting programming language is the ultimate in cross-platform! (P6 running P6)
22:29 bkeeler Bootstrapping a new compiler is one of the most fascinating things to do in CS I think
22:29 bkeeler Very interesting process
22:30 bkeeler I remember in University discovering that C compilers were written in C and brain nearly exploded :)
22:31 lue makes complete sense to me :D
22:31 lue with all the power of P6, maybe someday one can compile it into machine-specific assembler (like C++ does)... \o/
22:33 lue That's how I'd do it: write P6 in P6, then have a script thing turn it into assembler (PIR or machine-specific, idk)
22:34 bkeeler Of course, at that time I was reading Hoffstadter's book and was getting used to having my mind blown
22:34 PerlJam lue: that's kind of what happens
22:35 vamped joined #perl6
22:35 lue blowing people's minds is my hobby! \o/ Especially when it comes to time/time travel >:)
22:35 bkeeler paradoxes are fun
22:35 vamped hello Perl6
22:35 bkeeler heyas vamped
22:35 PerlJam greets vamped
22:35 vamped lue: did you see my solution in the backlog?
22:36 lue Saluton, vamped! Bonvenon al #perl6!
22:36 lue solution to what?
22:36 vamped infix <=
22:36 lue ah. Haven't looked yet. (must check later)
22:37 vamped works in alpha, but not master for some reason
22:37 Brennus There are CPU sets that run LISP why not perl?
22:38 devinus joined #perl6
22:38 bkeeler A perlm!  That's what we need
22:38 Brennus should be possible with microcode?
22:38 lue when I get masak's Temporal fix, I can write my hexdate/time converter and upload everything! \o/
22:41 Chillance joined #perl6
22:41 lue The perlm should be called a psalm (Perl Sudden Assembler - Light Memory)
22:41 Brennus hehe
22:42 lue Rakudo isn't a JIT compiler; it's a AFME (A Few Minutes Early) compiler. :D
22:42 * lue brought to you by FWAI (Fun With Acronyms International)
22:45 Brennus should i be testing this release or the relatively stable one?
22:46 lue whichever you want to use. We're working on the master branch right now, though.
22:48 PerlJam if you're working through the advent calendar it may be best to use the Jan release.  All of those features will soon be in master, but they aren't all there yet
22:49 Brennus like how soon?
22:50 lue The year 20XX :D
22:50 PerlJam um ... Real Soon ?
22:50 Brennus Well, no hurry I suppose
22:51 PerlJam Certainly before April since that's when we release Rakudo *
22:51 Brennus for sure?
22:52 lue yes, or else we can be sued for false advertisement (!) :)
22:52 bkeeler It sounds ambitious, but I've been nothing short of amazed at the pace these guys maintain
22:54 frettled And if it's not ready by April, I want my money back! :D
22:54 Brennus probably some of you want your hair back
22:55 lue ...yeah :/
22:56 Brennus anyone here play weiqi?
22:57 lue what's weiqi?
22:57 Brennus go
22:57 Brennus baduk
22:59 bkeeler Mornington Crescent!
22:59 Brennus I wrote a client for the internet go server with cocoa & camelbones
23:01 bkeeler Ooh, hadn't heard of camelbones.  Looks interesting
23:01 Brennus it works fine but it is a major PITA to debug
23:02 lichtkind hereby i solemnly declare, the perl 6 wiki frontpage is now       free of clutter
23:02 Brennus you can't get any of the perl messages, or at least I haven't figured out how to
23:02 Brennus it just has to work when you run it
23:03 Brennus else the whole thing dies with a useless message
23:03 frettled bkeeler: that announcement was a bit premature, I think you've forgotten the rules change introduced by Warwick in 1952.
23:03 frettled (oops, typo, 1852)
23:04 bkeeler Ah yes, you're quite right Sir, my apologies
23:04 bkeeler Picadillly Circus!
23:05 frettled I just passed Uxbridge.
23:06 bkeeler Hmmm...
23:06 bkeeler Ealing Common
23:08 frettled I wonder if this is too obscure, maybe we should head for Finchley Central instead.
23:08 bkeeler Odd move
23:09 bkeeler Aha, I see what you're up to
23:09 * frettled taps the side of his nose meaningfully.
23:09 bkeeler Going to try the ol Jubilee line gambit are we?
23:09 bkeeler Well, I'll have to backtrack a bit
23:09 frettled Oh, no, you're not getting me to reveal my plan, that's against the Mornsborough Principle.
23:09 bkeeler Embankment!
23:09 * frettled sucks his breath.
23:10 frettled Well played, sir, well played.
23:12 frettled Well, you nearly got me at Hammersmith, but I'm actually at King's Cross now.
23:13 lue Objection!
23:13 frettled Pardon?
23:13 * lue doesn't know this game
23:14 frettled Well, that's hardly a excuse, is it?  According to Lyttelton, a lack of knowledge of the rules is no excuse at all.
23:14 * bkeeler ponders feinting toward Leicester Square, but reconsiders
23:14 lue Verily, Sir. Ergo!
23:14 lue I beg pardonage
23:15 * bkeeler doffs his hat at the mention of the great man
23:16 * bkeeler realizes he's not actually wearing a hat and dons one so he can doff it
23:16 lue Rickmansworthshiretown says that the game is not to be underestimated.
23:17 bkeeler Hmm, I think I'll try Leicester Square after all
23:17 bkeeler If I lose I can always take in a show
23:17 frettled Very well, then.  Camden Town.
23:17 bkeeler Oof!
23:17 bkeeler Oh dear, got myself trapped on the wrong line again
23:18 frettled A-ha1
23:18 frettled s/1/!/
23:18 bkeeler Oh well, I have no choice but to retreat back to Piccadilly, dammit
23:19 frettled Hah, got you!  Mornington Crescent.  I'll buy you lunch at the Ministry when you get here.
23:19 bkeeler Well played, well played
23:23 frettled It was a nice game, to be sure!
23:24 jferrero joined #perl6
23:24 lue is it over, the game?
23:24 bkeeler Fraid so, he got there before me
23:25 lue good.
23:26 frettled lue: If you find a decent antique bookshop, maybe you can pick up Stovold’s Mornington Crescent: Rules and Origins, or more likely, The Little Book of Mornington Crescent by Tim, Graeme, Barry and Humph.
23:30 frettled http://books.google.com/books?as_isbn=0752818643
23:33 Brennus cute
23:33 lue any of you ever been on ifMUD?
23:34 bkeeler Haven't played any muds since the early nineties
23:35 lue haven't been on ifMUD for a while, thinking of maybe getting back into it...
23:35 Brennus i played in a couple of vampire games at CMU & Manchester
23:35 frettled lue: nopes, sorry, I haven't played any of the new muds.
23:36 Brennus the CMU was really detailed around CMU (naturally)
23:36 lue yeah, just seeing if anyone had (must ask later as well)
23:36 frettled I think the most recent MUD I played was ZombieMUD or something like that, but maybe Medieval Nights was more recent.
23:37 frettled I'm still socializing on VikingMUD, though, and I'm thinking about how to plan for the 20-year anniversary.
23:58 lue ...hello hello

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

Perl 6 | Reference Documentation | Rakudo