Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-06-25

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:15 dalek csmeta: r343 | stefa...@cox.net++ | trunk/vicil/ (2 files):
00:15 dalek csmeta: [vicil] Invent a model for variables and binding
00:15 dalek csmeta: review: http://code.google.com/p/csmeta/source/detail?r=343
00:15 sorear sprixel is going to support methods with an 'rw' invocant
00:15 sorear it just falls out of my model naturally
00:16 sorear I wonder what the spec's stand on this is
00:23 quietfanatic rw invocants would sure be nice for what I'm trying to do.
00:23 quietfanatic I used to be able to say "undefine self" in a method
00:24 quietfanatic Now I basically can't do anything like that.
00:25 sorear What are good editors and/or editor configurations for Perl 6?
00:26 sorear I've been using PetDance's perl6.vim, but it gets rather slow when a file is over 500 lines or so
00:28 pmichaud_ joined #perl6
00:28 shade_ joined #perl6
00:32 zakame_ joined #perl6
00:33 lest_away joined #perl6
00:34 solarion_ joined #perl6
00:34 cosimo_ joined #perl6
00:34 eiro_ joined #perl6
00:37 p6eval joined #perl6
00:41 masonkramer joined #perl6
00:41 [Coke] joined #perl6
00:44 constant joined #perl6
00:44 constant joined #perl6
00:51 masonkramer joined #perl6
00:51 rgrau_ joined #perl6
00:51 whiteknight joined #perl6
00:51 araujo joined #perl6
00:51 perlygatekeeper joined #perl6
00:51 ajs joined #perl6
00:51 PacoLinux joined #perl6
00:51 eternaleye joined #perl6
00:51 yahooooo joined #perl6
00:51 knewt2 joined #perl6
00:55 jrtayloriv joined #perl6
00:56 plobsing joined #perl6
01:01 quietfanatic sorear: I frequently just use Perl 5 syntax highlighting out of laziness.
01:07 xinming joined #perl6
01:07 ash_ sorear: have you tried padre? i don't know how good it is but it has perl6 syntax highlighting
01:16 tylercurtis joined #perl6
01:19 sorear ash_: the padre syntax highlighting is great.  I know; I maintain it.  It's also even slower than vim.
01:20 tylercurtis Is there a syntax for multi-dimensional array literals other than [1, 2, 3], [4, 5, 6]?
01:20 sorear I beleive [(1, 2, 3), (4, 5, 6)] is preferred
01:21 ash_ tylercurtis: for nqp or perl6?
01:23 tylercurtis ash_: perl6
01:26 tylercurtis rakudo: [(1, 2, 3), (4, 5, 6)][0].say
01:26 p6eval rakudo 7e3ddc: OUTPUT«1␤»
01:27 tylercurtis sorear: that doesn't appear to create a multi-dimensional array, at least not in Rakudo.
01:31 ash_ that array flattened i think
01:31 sorear rakudo skips the multidim array tests
01:32 ash_ rakudo: say (1, 2, (3, 4)).perl; #say flattens
01:32 p6eval rakudo 7e3ddc: OUTPUT«(1, 2, (3, 4))␤»
01:32 ash_ rakudo: [(1, 2, 3), (4, 5, 6)][0].perl.say
01:33 p6eval rakudo 7e3ddc: OUTPUT«1␤»
01:33 ash_ hmm
01:33 ash_ rakudo: ((1, 2, 3), (4, 5, 6))[0].say
01:33 p6eval rakudo 7e3ddc: OUTPUT«1␤»
01:33 sorear [0] uses .list, which flattens
01:33 ash_ ah, thats probably it then
01:33 sorear so I guess this won't work
01:34 sorear the multi-d stuff is poorly understood at the moment
01:34 ash_ rakudo: say ((3,2),(4,1))[0;0]; # just curious
01:34 p6eval rakudo 7e3ddc: OUTPUT«3␤»
01:34 ash_ rakudo: say ((3,2),(4,1))[1;0]; # just curious
01:34 p6eval rakudo 7e3ddc: OUTPUT«3␤»
01:34 ash_ yeah, i don't know what that is doing
01:35 ash_ std: rakudo: say ((3,2),(4,1))[1;0];
01:35 p6eval std 31442: OUTPUT«ok 00:01 113m␤»
01:35 ash_ pugs: say ((3,2),(4,1))[1;0];
01:35 p6eval pugs: OUTPUT«*** ␤    Unexpected ";"␤    expecting "_", fraction, exponent, term postfix, operator or "]"␤    at /tmp/JCgi2hrT9z line 1, column 20␤»
01:36 tylercurtis I guess I'll stick with ([1, 2, 3], [4, 5, 6]), then.
01:36 tylercurtis rakudo: ([1,2,3],[4,5,6])[0].say
01:36 p6eval rakudo 7e3ddc: OUTPUT«123␤»
01:38 sorear std: rakudo: parses, neat
01:38 p6eval std 31442: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routines:␤     'neat' used at line 1␤    'parses' used at line 1␤Check failed␤FAILED 00:01 109m␤»
01:38 sorear (it is just a statement label)
02:00 felliott joined #perl6
02:17 tylercurtis Is there anything in Perl 6 equivalent to APL's scan operator? Other than writing a function to do it myself.
02:18 [Coke] joined #perl6
02:20 sorear rakudo: ([\+] 1..10).perl.say
02:20 p6eval rakudo 7e3ddc: OUTPUT«(1, 3, 6, 10, 15, 21, 28, 36, 45, 55)␤»
02:20 sorear is that what you mean?
02:20 ash_ tylercurtis: how does scan work?
02:20 sorear I guessed it works like scanl in haskell
02:20 tylercurtis sorear: yes.
02:21 tylercurtis Thanks.
02:21 * sorear wonders what cool bit of technology tylercurtis is working on now
02:29 tylercurtis sorear: no cool bit of technology. I just saw http://www.vector.org.uk/archive/v101/whitney101_74.htm on HN and decided to translate it into Perl 6. Although some of it looks tricky to do due to many of K's functions being able to work on scalars or vectors.
02:30 redicaps joined #perl6
02:42 agentzh joined #perl6
02:56 TiMBuS joined #perl6
03:04 [Coke] joined #perl6
03:11 jaldhar joined #perl6
03:23 xinming joined #perl6
03:27 jakk joined #perl6
03:34 colomon joined #perl6
03:43 jakk joined #perl6
03:50 Saul_Goodman joined #perl6
03:51 SET_Ssor_MD joined #perl6
03:51 SecurityC3I joined #perl6
03:51 SecurityC3I http://www.klulz.com/listen.pls | FREE WEEV STOP BEIN A HO ABOUT IT TELETHON | SKYPE: rev_g0sp | irc.hardchats.com #gnaa
03:51 was kicked by diakopter: SecurityC3I
03:51 SET_Ssor_MD http://www.klulz.com/listen.pls | FREE WEEV STOP BEIN A HO ABOUT IT TELETHON | SKYPE: rev_g0sp | irc.hardchats.com #gnaa
03:51 was kicked by diakopter: SET_Ssor_MD
03:53 ContactsZipOC-12 joined #perl6
03:53 MIRFernspahASIC joined #perl6
03:53 NSAN5P6 joined #perl6
03:53 MIRFernspahASIC http://www.klulz.com/listen.pls | FREE WEEV STOP BEIN A HO ABOUT IT TELETHON | SKYPE: rev_g0sp | irc.hardchats.com #gnaa
03:53 NSAN5P6 http://www.klulz.com/listen.pls | FREE WEEV STOP BEIN A HO ABOUT IT TELETHON | SKYPE: rev_g0sp | irc.hardchats.com #gnaa
03:53 was kicked by diakopter: MIRFernspahASIC
03:53 was kicked by diakopter: NSAN5P6
03:53 was kicked by diakopter: ContactsZipOC-12
03:54 DCSS_MI651 joined #perl6
03:54 was kicked by diakopter: DCSS_MI651
03:55 diakopter sigh
03:55 SCCN_Quiche joined #perl6
03:55 WQCChan joined #perl6
03:55 was kicked by diakopter: WQCChan
03:55 WQCChan http://www.klulz.com/listen.pls | FREE WEEV STOP BEIN A HO ABOUT IT TELETHON | SKYPE: rev_g0sp | irc.hardchats.com #gnaa
03:55 was kicked by diakopter: WQCChan
04:09 dalek rakudo: f34e780 | pmichaud++ | src/binder/bind.c:
04:09 dalek rakudo: Refactor "is copy" binding to avoid extra objectrefs and VTABLE_clone.
04:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f34e780d4d473b25fbb83104fa50b49a13058917
04:15 redicaps left #perl6
04:16 diakopter to channel operators (regular and infrequent):   /mode #perl6 +q $-a    to temporarily ban unregistereds
04:22 rv2733 joined #perl6
04:33 rsf joined #perl6
04:37 gfx joined #perl6
04:41 sorear diakopter: How does $~a parse?
04:42 diakopter dunno; see http://freenode.net/using_the_network.shtml
04:43 sorear I see
04:48 * sorear is thinking that maybe protosubs shouldn't have the same type as subs
04:49 sorear where a protosub is a sub without the OUTER::
04:50 sorear I think I can bend S06 to this
04:57 xinming joined #perl6
05:06 sorear How do type annotations enable optimization?
05:12 ingy hi
05:12 diakopter oy
05:12 diakopter sorear: they may not ;)
05:13 ingy I want to say that patch and I ported this pseudocode grammar ( http://testml.org/specification/language/ ) to PEG last night: http://github.com/ingydotnet/testml-pm6/blob/master/lib/TestML/Parser/Grammar.pm
05:13 ingy rule for rule with minimal change
05:14 ingy and it just worked
05:14 ingy perl6++
05:14 ingy Soon p6 will have testml
05:14 ingy and I plan to port PEG back to P5 Python Ruby etc
05:15 ingy it's great
05:16 ingy p6 can has acmeism
05:16 cxreg zavolaj fails to find Test.pm (?)
05:16 ingy cxreg: you were in my yapc talk
05:17 cxreg i was in your spug talk
05:18 ingy cxreg: no, I mean you were a subject in my yapc talk
05:18 ingy cxreg: http://ingydotnet.github.com/acmeism-yapcna2010-talk/007.html
05:18 ingy hint: <SPACEBAR> :)
05:18 cxreg :-)
05:19 cxreg ingy: hey, that's no fair :)
05:19 ingy cxreg: logs don't lie
05:23 cxreg i still don't know how I feel about it ;)
05:23 cxreg but it's certainly neat
05:24 ingy :)
05:24 ingy damian was present
05:24 cxreg awesome
05:25 * ingy sleeps
05:26 kaare joined #perl6
05:30 cxreg any hints on getting C header constants for NCI use?
05:37 orafu joined #perl6
05:38 [Coke] joined #perl6
05:39 simcop2387 joined #perl6
05:45 macdaddy joined #perl6
05:57 simcop2387 joined #perl6
06:03 cxreg heh
06:03 cxreg $ time perl6 -e 'use FakeDBI'
06:03 cxreg real0m22.854s
06:05 diakopter rakudo: use FakeDBI;
06:05 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Unable to find module 'FakeDBI' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p1/lib/parrot/2.5.0-devel/languages/perl6/lib␤  .)␤»
06:05 sorear cxreg: I am not suprised
06:06 [particle] cxreg: you giving me grief tonight? :P
06:06 cxreg [particle]: why, what'd you do?
06:07 Su-Shee joined #perl6
06:07 [particle] nothing.  so... i deserve it.
06:07 cxreg lol
06:07 cxreg i have a possibly working FakeDBD::Pg, but it's hard to test when program startup is half a minute :)
06:17 simcop2387 joined #perl6
06:18 jrtayloriv joined #perl6
06:19 moritz_ cxreg: you can precompile the other modules (like FakeDBI) to reduce startup time
06:20 cxreg ah, that'd be helpful
06:21 moritz_ the manual instruction is   perl6 --target=pir --output=foo.pir foo.pm
06:22 moritz_ you can also get 'ufo' from http://github.com/masak/ufo/ to write a makefile for you
06:22 moritz_ then it's just
06:22 moritz_ ufo && make
06:22 cxreg it looks like a FakeDBI.pir is already built
06:22 cxreg i wonder if it's preferring the .pm6 anyway, for some reason?
06:22 jrtayloriv left #perl6
06:23 moritz_ cxreg: it did in the past. mberends patched it a few days ago
06:23 moritz_ so if your rakudo is too old, it might still do that
06:23 cxreg hrm
06:25 moritz_ commit f9943a285ad7ff416c8eef0fe98414fe649ee96a
06:25 moritz_ Author: Martin Berends <mberends@autoexec.demon.nl>
06:25 moritz_ Date:   Sun Jun 20 01:59:07 2010 +0100
06:25 moritz_ [Perl6/Module/Loader.pm] correctly derive pre-compiled .pir filename from both .pm and .pm6 source names
06:26 cxreg yeah, i definitely didnt have that yet
06:31 snearch joined #perl6
06:33 snearch joined #perl6
06:37 _ilbot2 joined #perl6
06:37 Topic for #perl6is now »ö« | http://perl6.org/ | nopaste: http://paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
06:37 tylercurtis joined #perl6
06:38 _ilbot2 joined #perl6
06:38 Topic for #perl6is now »ö« | http://perl6.org/ | nopaste: http://paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
06:39 synth joined #perl6
06:55 Zapelius joined #perl6
07:09 eternaleye joined #perl6
07:16 arnsholt joined #perl6
07:36 redicaps joined #perl6
07:49 Ross joined #perl6
07:59 arnsholt joined #perl6
08:18 JimmyZ joined #perl6
08:18 thebird joined #perl6
08:40 arnsholt joined #perl6
08:59 simcop2387 joined #perl6
09:02 cygx joined #perl6
09:04 cygx good localtime(), #perl6
09:13 azert0x joined #perl6
09:18 bbkr morning :)
09:20 agentzh joined #perl6
09:22 bbkr how can i achieve something like typeglobs in P6? "*new_sub_name = \&old_sub_name"
09:25 sorear my &new_sub_name = &old_sub_name;
09:27 bbkr rakudo: my &new_time = &pir::time__n(); say new_time();
09:27 p6eval rakudo f34e78: OUTPUT«Null PMC access in invoke()␤  in main program body at line 11:/tmp/LuI8CQ2cou␤»
09:27 bbkr hmm
09:27 moritz_ bkeeler: in general binding
09:27 moritz_ erm, meant bkkr
09:29 pnp6noob joined #perl6
09:29 bbkr thanks. i was wondering why this kind of binding (as above) is not used in Rakudo as faster than intermediate sub calling parrot.
09:31 moritz_ pir::stuff is special - there's no &pir::time__n entry in any symbol table or lexical scope
09:31 moritz_ also it has no Perl 6 level signatures
09:31 bbkr but that may be stupid question, as i  still do not understand huge parts of connection between parrot and rakudo code
09:31 moritz_ rakudo: say (sub ($x) { }).signature.perl
09:31 p6eval rakudo f34e78: OUTPUT«:(Any $x)␤»
09:32 bbkr oh, that explains :) huge thanks.
09:32 moritz_ calling &pir::time__n.signature would horribly fail
09:32 moritz_ you're welcome
09:34 bbkr then lack of protection against "reglobbing" pir code like above is a bug, since it will always fail with Null PMC access due to lack of signature?
09:34 makkksimal joined #perl6
09:34 moritz_ well... "bug" usually means "behaves different than the spec says"
09:34 bbkr or did i just found "enough rope to hang myself"?
09:34 moritz_ but pir::stuff is not spec
09:35 moritz_ so I'd say if you use pir::stuff, you are on your own, no safety nets involved
09:36 moritz_ rakudo: say pir::null__p
09:36 p6eval rakudo f34e78: OUTPUT«Null PMC access in type()␤  in main program body at line 11:/tmp/qk4pUNFRxc␤»
09:36 bbkr clear now
09:36 moritz_ "whoa there, a Null PMC Access" - "yes, you asked for it!"
09:37 avar left #perl6
09:39 pnp6noob rakudo: say 1 + 1
09:39 p6eval rakudo f34e78: OUTPUT«2␤»
09:41 pnp6noob rakudo: say (1+1)
09:41 p6eval rakudo f34e78: OUTPUT«2␤»
09:42 pnp6noob rakudo: say [1+1]
09:42 p6eval rakudo f34e78: OUTPUT«2␤»
09:43 pnp6noob rakudo: [+] (1,2, 3,4,5)
09:43 p6eval rakudo f34e78:  ( no output )
09:49 moritz_ autoprinting only works in the interactive environment
09:50 cono rakudo: ([+] 1,2, 3,4,5).say
09:50 p6eval rakudo f34e78: OUTPUT«15␤»
09:50 moritz_ I've once tried to add it to p6eval, but it was too confusing
09:51 pnp6noob I was expecting (1,2, 3) to be a list
09:51 moritz_ well, it is
09:51 pnp6noob is it not?
09:51 moritz_ rakudo: say (1, 2, 3).WHAT
09:51 p6eval rakudo f34e78: OUTPUT«Parcel()␤»
09:51 moritz_ ok, not quite
09:52 moritz_ but you can use a Parcel ("Parenthesis Cell") quite in the same way as a list
09:52 pnp6noob Parcel() :)
09:52 pnp6noob what is syntax for literal list
09:53 moritz_ list(1, 2, 3)
09:53 moritz_ but you usually don't need to explicitly create lists
09:53 pnp6noob sorry for asking but I will  next ask place to find it :)
09:53 moritz_ because everywhere a list is expected, a Parcel works too
09:54 pnp6noob [+] expects what list/Parcel?
09:54 moritz_ yes
09:54 moritz_ or even a single values works
09:54 moritz_ rakudo: say [+] 1
09:54 p6eval rakudo f34e78: OUTPUT«1␤»
09:54 moritz_ rakudo: say [+] "1 42 23".split(" ")
09:54 pnp6noob how? :)
09:54 p6eval rakudo f34e78: OUTPUT«66␤»
09:54 pnp6noob does it convert 1 to list context?
09:55 moritz_ pnp6noob: imagine [+] being a function with a weird name
09:55 moritz_ in perl 5, you'd just iterate over @_
09:55 moritz_ and if you supply a singla value, @_ just holds one item
09:55 moritz_ in Perl 6 signatures, you can achieve the same effect with (*@args)
09:56 moritz_ rakudo: sub f(*@a) { say @a.perl }; f(1); f(1, 2, 3);
09:56 p6eval rakudo f34e78: OUTPUT«[1]␤[1, 2, 3]␤»
09:56 moritz_ that's a function that expects an arbitrary number of arguments, and a list is automatically flattened into the argument list
10:03 bbkr rakudo: try {say pir::null__p; CATCH { say (.ord-4).chr for $!.comb(/./)[0,12,19,2] }} # yay!
10:03 p6eval rakudo f34e78: OUTPUT«J␤a␤p␤h␤»
10:19 moritz_ funny, I've just submitted a talk "Perl 6 and The Real World", and later noticed that a talk named "
10:19 moritz_ funny, I've just submitted a talk "Perl 6 and The Real World", and later noticed that a talk named "               @idx = ();
10:19 moritz_ sorry
10:20 moritz_ that a talk named "Perl in the Real World" was already submitted by somebody else
10:20 moritz_ though with a quite different topic
10:23 redicaps left #perl6
10:27 Sanitoeter joined #perl6
10:30 Mowah joined #perl6
10:35 pnp6noob ah, I see it now
10:35 pnp6noob moritz_: thanks
10:36 cygx joined #perl6
10:37 pnp6noob moritz_: where can I start learning perl6? I am docs, tutorial code snippets
10:37 pnp6noob s/am/mean/
10:40 mberends joined #perl6
10:42 envi^home joined #perl6
10:44 skangas joined #perl6
10:56 colomon rakudo: say 342424252432452524354342
10:56 p6eval rakudo f34e78: OUTPUT«-2657807817882293466␤»
10:56 colomon oh.
10:56 colomon poop./
10:58 pmurias joined #perl6
11:15 colomon pmichaud_: ping
11:17 colomon oooo, optimizations branch!
11:24 bbkr speaking of optimizations, is there any Benchmark module available now?
11:24 moritz_ pnp6noob: http://github.com/perl6/book
11:25 moritz_ pnp6noob: either read the .pod files in an editor (not directly on github, it mis-renders too much of it), or got the download section and grab the latest release
11:26 moritz_ bbkr: PerlJam (aka perlpilot on github) has a Benchmark module, not sure how well it works yet
11:26 bbkr moritz_: thanks
11:29 [Coke] joined #perl6
11:40 rgrau_ joined #perl6
11:52 moritz_ is there a YAPC::EU IRC channel somewhere?
12:01 globalmixmaster_ joined #perl6
12:02 globalmixmaster_ oh look guys, i created an article on perl6: http://uncyclopedia.wikia.com/wiki/Perl6
12:03 * moritz_ likes
12:04 pnp6noob moritz_: thanks
12:05 * moritz_ ponders putting that in the Fun section of perl6.org... opinions?
12:05 globalmixmaster_ omg, is there a fun section on perl6.org?
12:06 moritz_ http://perl6.org/fun/
12:06 synth joined #perl6
12:06 pnp6noob "Perl6 or literally translated as the language of the gods ..." I like that
12:06 moritz_ it's not very full yet
12:08 globalmixmaster_ oh and its a wiki, so you can improve it
12:08 moritz_ (the Parrot quotes link has some real gems, if you like developer's humor)
12:09 aCiD2 joined #perl6
12:09 pugssvn r31443 | moritz++ | [perl6.org] link to Perl 6 uncyclopedia entry
12:10 globalmixmaster_ left #perl6
12:15 rv2733 joined #perl6
12:16 colomon joined #perl6
12:16 colomon bluederm
12:16 colomon dang it
12:16 moritz_ good morning colomon
12:16 colomon stupid misfeatures
12:16 colomon o/
12:21 colomon moritz_: so the good news is that I think I've figured out how to fix numeric constants in Rakudo without slowing them to a crawl.
12:21 cygx moritz_: how should the ports for the communication frontend <-> backend be allocated?
12:21 colomon the bad news is that after four days of YAPC, I really need to do some $work.
12:21 moritz_ cygx: 1024 + random number
12:21 moritz_ cygx: I'd say
12:22 moritz_ rakudo: say Date.new(2010, 7, 22) - Date.today
12:22 p6eval rakudo f34e78: OUTPUT«27␤»
12:22 moritz_ colomon: look at it this way: you still have 27 days until the compiler release that will be used for Rakudo Star :-)
12:22 moritz_ oh wait, 20 days
12:23 moritz_ still enough
12:23 cygx moritz_: we could also possible pre-fill a db-table; <64k ports � 2 bytes + DB overhead isn't that much...
12:23 colomon eight of which I'm spending in the wilds of northern Ontario
12:23 moritz_ cygx: also works for me
12:23 colomon moritz_: bigger problem is this is blocking me on finishing the trig test overhaul
12:24 colomon which I'd like to have done soonest, both to speed up the spectest for all developers and to get my grant done.
12:25 hugme joined #perl6
12:25 moritz_ hugme: tweet rakudoperl maybe we'll see a perlmonks rewrite in #perl6? http://www.perlmonks.org/?node_id=846326
12:25 * hugme hugs moritz_; tweet delivered
12:33 bphillips joined #perl6
12:33 takadonet morning all
12:36 proller joined #perl6
12:39 cognominal moritz_, perlmonks is not slow enough?
12:39 moritz_ cognominal: :-)
12:39 moritz_ hugme: add ajs to book
12:39 * hugme hugs ajs. Welcome to book!
12:40 pmurias joined #perl6
12:40 moritz_ ajs: I saw you have a github fork of the book - feel free to integrate your stuff directly
12:40 pugssvn r31444 | pmurias++ | [smop]
12:40 pugssvn r31444 | the boilerplate is stored in SMOP::Boilerplate
12:40 pugssvn r31444 | the smop .so are installed
12:41 felliott joined #perl6
12:54 bluescreen joined #perl6
12:56 tadzik joined #perl6
12:59 perlygatekeeper left #perl6
13:16 masonkramer joined #perl6
13:21 JimmyZ joined #perl6
13:28 cognominal rakudo:  >   $_=1; { $_=2; say $_ }; say $_
13:28 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Confused at line 11, near ">   $_=1; "␤»
13:28 cognominal rakudo:    $_=1; { $_=2; say $_ }; say $_
13:28 p6eval rakudo f34e78: OUTPUT«2␤2␤»
13:29 cognominal S02 says $_ is lexically scoped. Is that an exception?
13:30 moritz_ rakudo: my $x = 1; { $x = 2; say $x }; say $x
13:30 p6eval rakudo f34e78: OUTPUT«2␤2␤»
13:30 moritz_ any surprises here?
13:31 moritz_ it doesn't say there's an implicit declaration of $_ in every scope
13:32 cognominal rakudo:  $_=1; if 1 { $_=2; say $_ }; say $_  # it is in some scopes.
13:32 p6eval rakudo f34e78: OUTPUT«2␤1␤»
13:33 cognominal I just don't see where it is specified if it is.
13:33 moritz_ it's not the scope that's different, but rather the 'if'
13:33 moritz_ if I understand correctly
13:34 moritz_ afaict intermediate blocks don't have a separate $_, unless declared explicitly
13:34 moritz_ whereas the block to the 'if' has the $_ as a formal paramter
13:34 moritz_ much like
13:34 moritz_ perl6: my $x = 1; if 2 -> $x { say $x }; $x;
13:35 p6eval pugs, rakudo f34e78: OUTPUT«2␤»
13:35 p6eval ..elf 31444: OUTPUT«Useless use of reference constructor in void context at (eval 122) line 9.␤»
13:35 moritz_ perl6: my $x = 1; if 2 -> $x { say $x }; say $x;
13:35 p6eval pugs: OUTPUT«2␤2␤»
13:35 p6eval ..rakudo f34e78: OUTPUT«2␤1␤»
13:35 p6eval ..elf 31444: OUTPUT«Useless use of reference constructor in void context at (eval 123) line 9.␤1␤»
13:35 moritz_ I'm certain that pugs is wrong here, and rakudo is right
13:35 cognominal rakudo:  my $x = 1; for 2 -> $x { say $x }; say $x;
13:35 moritz_ and elf is confusing
13:35 p6eval rakudo f34e78: OUTPUT«2␤1␤»
13:36 cognominal rakudo:  my $_ = 1; for 2 -> { say $_ }; say $_;
13:36 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Redeclaration of symbol $_ at line 11, near " = 1; for "␤»
13:36 cognominal oops
13:36 cognominal rakudo:  my $_ = 1; for 2 -> $_ { say $_ }; say $_;
13:36 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Redeclaration of symbol $_ at line 11, near " = 1; for "␤»
13:36 cognominal rakudo:  my $_ = 1; for 2 { say $_ }; say $_;
13:36 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Redeclaration of symbol $_ at line 11, near " = 1; for "␤»
13:36 moritz_ it's the 'my $_' that rakudo carps about
13:36 moritz_ at the very beginning
13:36 cognominal rakudo:  my $_ = 1;
13:36 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Redeclaration of symbol $_ at line 11, near " = 1;"␤»
13:37 cognominal hum
13:37 moritz_ std: my $_ = 1
13:37 p6eval std 31444: OUTPUT«Potential difficulties:␤  Useless redeclaration of variable $_ (see line 1) at /tmp/jjBSPTYdYO line 1:␤------> [32mmy $_[33m⏏[31m = 1[0m␤ok 00:01 113m␤»
13:37 moritz_ rakudo++
13:37 mjk joined #perl6
13:38 plobsing joined #perl6
13:41 tadzik joined #perl6
13:55 tadzik joined #perl6
14:09 gbacon joined #perl6
14:15 bbkr what should i do while testing so there will be "This is an automatically generated mail to inform you that tests are now available..." message in RT ?
14:16 moritz_ bbkr: structure the commit message like this:  [t/spec] tests for RT #12345: doing Foo.bar dies violently
14:16 moritz_ with "test" instead of "tests" it also works
14:17 bbkr thanks, useful tip :)
14:17 moritz_ maybe somebody should add that to the README
14:29 meppl joined #perl6
14:34 bbkr rakudo: [+]
14:34 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Confused at line 11, near "[+]"␤»
14:35 moritz_ that's the evil cheating operator
14:35 moritz_ it's supposed to be a prefix, term or infix
14:36 perlygatekeeper joined #perl6
14:36 TimToady rakudo: say [+];
14:36 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 11␤»
14:36 TimToady rakudo: say [+]();
14:36 p6eval rakudo f34e78: OUTPUT«0␤»
14:36 TimToady std: say [+];
14:36 p6eval std 31444: OUTPUT«ok 00:01 112m␤»
14:37 macdaddy joined #perl6
14:37 bbkr rakudo: my $str = "a\nbc\nd"; say $str.subst(/^^/, '# ', :g);
14:37 p6eval rakudo f34e78: OUTPUT«# a␤# bc␤# d␤»
14:37 TimToady std: 1 ~~~~~~~ 2
14:37 p6eval std 31444: OUTPUT«[31m===[0mSORRY![31m===[0m␤Expecting a term, but found either infix ~~ or redundant prefix ~␤  (to suppress this message, please use space between ~ ~) at /tmp/rPwP938jhR line 1:␤------> [32m1 ~~~~[33m⏏[31m~~~ 2[0m␤Parse failed␤FAILED 00:01 109m␤»
14:37 moritz_ std: [+] [+] [+]
14:37 p6eval std 31444: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/Ie9VfHWrYZ line 1 (EOF):␤------> [32m[+] [+] [+][33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 108m␤»
14:37 TimToady that's a buglet
14:38 TimToady std: [+] [+] [+];
14:38 p6eval std 31444: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/7A9jV5YUBq line 1:␤------> [32m[+] [+] [+][33m⏏[31m;[0m␤Parse failed␤FAILED 00:01 108m␤»
14:38 TimToady std: [+] [+] [+]();
14:38 p6eval std 31444: OUTPUT«ok 00:01 108m␤»
14:38 TimToady std: [+] [+] [+] ;
14:38 p6eval std 31444: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/LZVdw2m6MO line 1:␤------> [32m[+] [+] [+] [33m⏏[31m;[0m␤Parse failed␤FAILED 00:01 108m␤»
14:38 moritz_ TimToady: are there plans to expose the OPP to user level Perl 6 code?
14:39 moritz_ TimToady: I'd really welcome that, and I know others do too
14:39 bbkr standalone [+] is reported here, http://rt.perl.org/rt3/Ticket/Display.html?id=66948 not fixed yet
14:39 TimToady there are a few P6isms in it, that need to be generalized; started doing that, but haven't quite finished
14:39 moritz_ that's good news
14:41 [Coke] joined #perl6
14:47 pugssvn r31445 | bbkr++ | [t/spec/S05-substitution/subst.t] tests for RT #66816 Zero-width substitution makes the GC recurse
14:51 bbkr rakudo: module M; grammar G {}; say "foo" ~~ /<M::G>/
14:51 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 11, near "::G>/"␤»
14:52 bbkr std: module M; grammar G {}; say "foo" ~~ /<M::G>/
14:52 p6eval std 31444: OUTPUT«ok 00:01 112m␤»
14:53 bbkr assertion??
14:53 Ross joined #perl6
14:54 rv2733 joined #perl6
14:56 patrickas joined #perl6
14:56 pmichaud_ good morning, #perl6
14:56 TimToady \o
14:56 patrickas o/
14:57 ingy TimToady: hi
14:58 ingy how do I specify a callback for a rule match in PEG?
14:58 ingy or do I?
14:59 ingy TimToady, pmichaud_: also... look at the TestML grammar(http://testml.org/specification/language/), and the <<working!!!>> PEG grammar (http://github.com/ingydotnet/testml-pm6/blob/master/lib/TestML/Parser/Grammar.pm)
14:59 ingy totally amazing
15:00 skids joined #perl6
15:00 ingy patch++ and I hacked it on Weds night in the dorms
15:02 bbkr rakudo: try { die "foo" }; try { die; CATCH { say $!} }
15:02 ingy I need to leave in a couple mins to catch a flight. I'd really like more info than I see in S05 for parsing with PEG. If one of you could send me info to ingy@ingy.net I could probably get it before my flight.
15:02 p6eval rakudo f34e78: OUTPUT«Died␤␤»
15:02 bbkr is this expected, or eval on die without params should passthrough previously set $!?
15:03 ingy TimToady: the grammar completely parses my TestML docs but I don't grok how to effectively use the parse results
15:03 ingy I know that I have a huge match tree
15:03 pmichaud_ colomon: pong
15:04 ingy but I'd like to get info as the parse is taking place
15:04 ingy pmichaud_: me first!!
15:04 ingy ;)
15:04 [particle] ingy: regex NON_BREAK { . } is probably better written as { \N }
15:04 [particle] since you mean anything but newline
15:05 ingy [particle]: fine. :)
15:05 ingy [particle]: can you answer my q-s above?
15:05 rgrau_ joined #perl6
15:06 ingy [particle]: patch applied and pushed. thanks
15:07 [particle] ingy: http://github.com/perl6/nqp-rx/tree/master/src/NQP/
15:07 [particle] see Actions.pm?
15:07 [particle] that's where the methods live, named the same as the regexes in the Grammar.pm
15:08 ingy looking..
15:08 [particle] once you get your parse tree from the grammar, apply the actions to emit whatever it is you want (usually i'm emitting Parrot AST)
15:08 colomon pmichaud_: wanted to ask you about the decint grammar rule.  I take it it is from NQP?
15:08 [particle] ...and that's what nqp-rx does.
15:09 ingy [particle]: ok
15:09 ingy [particle]: is there a streaming way to do it?
15:09 ingy just askin
15:09 [particle] the ast is built in parallel, as the parse is done
15:09 pmichaud_ colomon: yes, and that came from STD
15:10 ingy [particle]: is there a test that drives what you are talking about
15:10 pmichaud_ ingy: when each rule successfully matches, its corresponding action method is automatically invoked (passing the current match object as a parameter)
15:10 colomon pmichaud_:  I was mostly wondering about the action for it -- trying to figure if I can use its ast or if I need to start from scratch with the stringification of the decint match.
15:11 pmichaud_ colomon: the action for decint comes from HLL::Actions, I think.
15:11 pmichaud_ looking
15:11 [particle] ingy: you mean some kind of example to show how to use the api?
15:11 ingy yah
15:12 pmichaud_ ingy: example coming up
15:12 ingy also where does HLL::Grammar defined
15:12 colomon pmichaud_: danke
15:12 * ingy waits for pmichaud_
15:12 pmichaud_ a compiler-specific example is at http://www.pmichaud.com/2010/pres/yapcna-nqp/slides/slide15.html
15:12 pmichaud_ but I can create a perl 6 one
15:12 [particle] HLL::Grammar is defined in src/HLL/Grammar.pm in the nqp-rx repo
15:12 ingy spork, ftw!
15:12 [particle] you should clone it
15:13 pmichaud_ s/clone/derive from/
15:13 ingy nod
15:13 ingy I need to get on the road
15:13 pmichaud_ colomon: the decint action is at http://github.com/perl6/nqp-rx/blob/master/src/HLL/Actions.pm.  It expects the .ast to be the value of the integer
15:13 [particle] i meant clone the repo so he'd have it on the plane :P
15:13 ingy any last thoughts?
15:13 pmichaud_ ah, clone the repo, yes.
15:13 [particle] don't die yet.
15:14 ingy [particle]: cloned
15:14 bbkr rakudo: class AtestOfSay { ... }; my AtestOfSay $t; say $t;
15:14 p6eval rakudo f34e78: OUTPUT«Null PMC access in type()␤  in main program body at line 11:/tmp/ATDzL_3KZX␤»
15:14 ingy if you guys think of anything more, email ingy@ingy.net
15:14 [Coke] 2
15:14 ingy thanks for all the fish
15:15 JimmyZ joined #perl6
15:16 bbkr rakudo: subset Person of Hash where { 1 }
15:16 * [particle] hands [Coke] a /win
15:16 p6eval rakudo f34e78:  ( no output )
15:20 ciphertext joined #perl6
15:20 bbkr rakudo: say ('r' ~& 's').PARROT
15:20 p6eval rakudo f34e78: OUTPUT«String␤»
15:21 bbkr rakudo: say 's'.PARROT
15:21 p6eval rakudo f34e78: OUTPUT«Str␤»
15:23 pmichaud_ ingy:  (if you see this)  example of grammar and actions in rakudo: http://gist.github.com/452999
15:24 bbkr rakudo: grammar A { token a { a } }; A.a()
15:24 p6eval rakudo f34e78: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!pos␤  in 'A::a' at line 11:/tmp/7ojDf6mDve␤  in main program body at line 11:/tmp/7ojDf6mDve␤»
15:25 pmichaud_ note:  use PARROT(expr)  instead of expr.PARROT
15:25 pmichaud_ (the later causes any references to be lost)
15:25 pmichaud_ *latter
15:26 bbkr pmichaud_: thanks. i was just copy-pasting examples from RT to check what is already fixed
15:26 [particle] pmichaud_: did you mail that to ingy, too? if not, i can
15:26 bbkr std: grammar A { token a { a } }; A.a()
15:26 p6eval std 31445: OUTPUT«ok 00:01 112m␤»
15:27 pmichaud_ [particle]: well, he didn't actually leave the chan, so I suspect/hope he'll see it.  Anyway, please feel free to mail it to him also :)
15:27 [particle] sent
15:27 pmichaud_ (yes, I have several things happening at once here this morning)
15:27 [particle] i have a feeling he'll only have his phone to look at for a bit
15:30 pmurias joined #perl6
15:30 [Coke] pmichaud++ # (eventually got /part/ of my grammar/action issue resolved. enough to do a lot of other TODOs, anyway)
15:30 sahadev joined #perl6
15:31 colomon does         .local int base, pos, eos, result     mean that all the variables are ints?  (in PIR, I mean)
15:34 [particle] yes
15:35 [particle] you're giving human-readable aliases to int registers
15:37 colomon [particle]: thanks.
15:37 [particle] my pleasure
15:38 sahadev hello all. is the right place to ask about proto?
15:38 [particle] this is a fine place to ask about proto
15:40 pmichaud_ [Coke]++
15:40 sahadev [particle]: thanks. i am trying to use proto to install a package, and I get some errors. I'd make a paste of the error output, but http://paste.lisp.org/new/perl6 doesn't seem to be open for #perl6 anymore. is it ok to paste here?
15:41 [particle] no, don't paste in channel, but you can post a link to a paste
15:41 [particle] http://paste.snit.ch may work for you
15:41 [particle] sorry, http://nopaste.snit.ch
15:44 sahadev http://nopaste.snit.ch/21580
15:45 ilogger2 joined #perl6
15:45 pyrimidine joined #perl6
15:45 pmichaud_ we should probably change the topic to provide a new nopaste address
15:45 pmichaud_ lots of us are using gist these days
15:46 [particle] maximum recursion depth exceeded
15:46 [particle] sweet.
15:52 [particle] o/ moritz_++
15:53 JimmyZ_ joined #perl6
15:53 Topic for #perl6is now »ö« | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
15:53 moritz_ \o
15:53 * moritz_ just got rather wet on his bike during a thunderstorm
15:55 [particle] sahadev: i'm building latest rakudo/parrot now
16:01 tadzik joined #perl6
16:01 lue ohai
16:01 colomon o/
16:04 [particle] make -j 5 # joy
16:04 * pmichaud_ wonders if the lue+colomon sequence is in honor of yapc::na.  lue: "ohai".  colomon: "o!"
16:05 colomon high in the middle, round on the ends!
16:05 pmichaud_ :-)
16:05 [particle] :)
16:10 patspam joined #perl6
16:11 justatheory joined #perl6
16:14 Trashlord joined #perl6
16:22 ingy PGH CAN HAS INTERTUBEZ!!
16:22 moritz_ PGH?
16:22 * moritz_ only knows PGE
16:22 [particle] pittsburgh airport
16:22 ingy :)
16:23 * [particle] misses pittsburgh
16:30 ingy [particle]: we should hack more in SEA
16:30 ingy now that I'm all P6
16:31 [particle] agreed :)
16:38 ingy [particle]: Thanks for the gist. I think I get it but let me ask a few Qs...
16:38 ingy $ looks like a hash
16:38 ingy maybe the topic hash
16:38 ingy what does $/ do?
16:38 [particle] $/ is the match object
16:39 patrickas rakudo: say 1/2 ~~ Num
16:39 pyrimidine joined #perl6
16:39 p6eval rakudo f34e78: OUTPUT«0␤»
16:39 patrickas rakudo: say 1/2 ~~ Real
16:39 p6eval rakudo f34e78: OUTPUT«1␤»
16:39 patrickas rakudo: say 1/2 ~~ Rat
16:39 p6eval rakudo f34e78: OUTPUT«1␤»
16:40 ingy so $so $/->{xxx} is $<xxx> ?
16:40 moritz_ $/{'xxx'} is $<xxx>
16:40 moritz_ forget that ->
16:40 ingy I meant ~ P5
16:40 pmichaud_ $<xxx> is the same as  $/{'xxx'}
16:41 [particle] < ... > is the same as qw { ... }
16:41 ingy right
16:41 pmichaud ohp6issocool
16:41 pmichaud > our sub whiten(@rgb, $x) { (256 <<-<< @rgb) >>*>> $x >>+<< @rgb };
16:41 pmichaud whiten
16:41 pmichaud > whiten((142,69,133), 0.5)
16:41 pmichaud 199 162.5 194.5
16:41 ingy is the TOP action called at the start or completion of the match?
16:41 pmichaud (I'm needing to desaturate some rgb colors)
16:41 moritz_ ingy: start
16:41 pmichaud actions occur at the completion of each rule
16:41 ingy nod
16:41 moritz_ oh
16:41 pmichaud so the top action occurs at the completion of the TOP rule
16:42 pmichaud which is the end of the match
16:42 moritz_ right
16:42 moritz_ I thought about the TOP rule, not action
16:42 moritz_ my bad
16:42 pmichaud > whiten((142,69,133), 0.5)>>.fmt("%02x")
16:42 pmichaud c7 a2 c2
16:43 pmichaud waaay too cool
16:43 ingy what is `make`
16:43 [particle] make is return, effectively
16:43 pmichaud ingy: it's described in S05, but it sets the .ast value for the current match object in $/
16:44 ingy so ast is a method of the match object?
16:44 pmichaud yes
16:44 pmichaud basically it's a public attribute
16:44 ingy nod
16:44 cxreg >>Z>> and the like doesn't seem to work (yet?), is it supposed to eventually or am i crazy?
16:44 pmichaud rakudo:  '124' ~~ / (\d+) { make $0 * 2 } /;  say $_.ast;
16:44 p6eval rakudo f34e78: OUTPUT«Method 'ast' not found for invocant of class ''␤  in main program body at line 11:/tmp/vka3iYIhlH␤»
16:44 cxreg (for Z specifically, i mean)
16:44 pmichaud hmmm
16:45 ingy I have a copy of S05 for the flight...
16:45 moritz_ rakudo: say (<a b c> »Z» 1).perl
16:45 p6eval rakudo f34e78: OUTPUT«["a", 1, "b", 1, "c", 1]␤»
16:45 ingy but I skimmed it and it was lacking of a real example like this
16:45 pmichaud that looks funny to me
16:45 moritz_ kinda what I expected
16:45 pmichaud I mean, Z already operates on lists
16:45 pmichaud rakudo:  say (<a b c> Z 1).perl
16:45 p6eval rakudo f34e78: OUTPUT«("a", 1)␤»
16:46 moritz_ pmichaud: that's what the Z» 1 part avoids
16:46 pmichaud rakudo:  say (<a b c> Z 1 x *).perl
16:46 p6eval rakudo f34e78: OUTPUT«("a", { ... })␤»
16:46 moritz_ rakudo: say (<a b c> »Z» (1, 2)).perl
16:46 p6eval rakudo f34e78: OUTPUT«["a", 1, "b", 2, "c", 1]␤»
16:46 moritz_ pmichaud: try xx *
16:46 pmichaud moritz_: okay, works for me.
16:46 cxreg moritz_: moritz_ hrm.  maybe it works with the real symbol but not the longhand >>
16:46 pmichaud rakudo:  say (<a b c> Z 1 xx *).perl
16:46 p6eval rakudo f34e78: OUTPUT«("a", 1, "b", 1, "c", 1)␤»
16:46 cxreg oops, double moritz_
16:46 pmichaud rakudo:  say (<a b c> >>Z>> 1).perl
16:46 p6eval rakudo f34e78: OUTPUT«===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> at line 11, near "1).perl"␤»
16:47 moritz_ oh
16:47 pyrimidine_ joined #perl6
16:47 moritz_ std: say (<a b c> >>Z>> 1).perl
16:47 p6eval std 31445: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> at /tmp/ec6cegS8B8 line 1:␤------> [32msay (<a b c> >>Z>>[33m⏏[31m 1).perl[0m␤Missing << or >> at /tmp/ec6cegS8B8 line 1:␤------> [32msay (<a b c> >>Z>>[33m⏏[31m
16:47 p6eval ..1).perl[0m…
16:47 [particle] texas bug.
16:47 pmichaud at least rakudo matches STD here :-)
16:47 cxreg :)
16:50 moritz_ pmichaud, [particle]: if you have some few minutes, I've pushed a branch called 'optimizations' to rakudo's github repo...
16:50 cxreg i need to fix my utf8+irssi setup
16:50 moritz_ I plan to play a bit with tcurtis' optimiatzioin framework
16:50 macdaddy joined #perl6
16:50 moritz_ but I can't get inheritance in NQP from HLL::Compiler working
16:51 moritz_ if you try to build that branch with the parrot from https://svn.parrot.org/parrot/branches/gsoc_past_optimization there's a compilation error
16:51 moritz_ "Parent is not a class"
16:51 moritz_ which I don't know how to get rid of
16:51 moritz_ would be great if somebody could help me a bit
16:51 moritz_ (currently I don't really plan optimizations, but rather detect simple type clashes at compile time)
16:52 pmichaud "Parent is not a class"  generally occurs when p6object gets confused about class/type objects
16:52 pmichaud looking
16:53 gbacon joined #perl6
16:53 pmichaud you probably don't need to be loading any special .pbc's.  Or, if you do, then the Optimizer is being included way too early in the process.
16:53 pmichaud (you'll need to load PAST/Pattern.pbc, yes)
16:53 pmichaud the other two get loaded automagically already in rakudo
16:54 moritz_ without loading P6Metaclass.pbc I get 'can't call method new_class on non-object' or so
16:54 moritz_ might be too early, yes
16:54 pyrimidine joined #perl6
16:55 pmichaud how/where is the perl6-optimizer.pir being included ?
16:55 [particle] moritz_: in 'very basic type checking', on p6u, you forgot that 'my' could be overridden, too
16:55 pmichaud ah, it's being included from Compiler.pir
16:55 moritz_ [particle]: I omitted it deliberatly :-)
16:55 [particle] :)
16:55 pmichaud yes, this is correct, but it's waaaaaay to early in the sequence.
16:55 moritz_ pmichaud: suggestions for a better point?
16:56 * [particle] has a failing nqp-rx test
16:56 pmichaud where gen-actions and gen-grammar get loaded
16:56 pmichaud around line 122
16:56 moritz_ (and can I make a stage that's not a subclass of HLL::Compiler?)
16:56 [particle] oh, nm, i need libicu-dev installed
16:56 TimToady sorear: 1 >>Z>> 2 is a bug of some kind; it should not pass the <?before \s> to get the the error, and it should not even call that rule because the ltm should be '>>\s'
16:56 [particle] interesting that nqp-rx requires icu and rakudo doesn't
16:56 pmichaud nqp requires icu to build?  or just for the tests?
16:57 [particle] for the tests
16:57 pmichaud [particle]: right -- you're the first person apparently to run the tests w/o icu present (or at least the first to mention it :)
16:57 [particle] in particular, t/nqp/46-charspec.t
16:57 pmichaud we might be able to do a skip or something
16:57 [particle] i started with a bare kubuntu 10.04
16:58 pmichaud moritz_: there's nothing that says that stages need to be subclasses
16:58 [particle] had to install git, subversion, gcc-4.4 so  far
16:58 [particle] now icu
16:58 pmichaud stages are just methods on the compiler object (at least as PCT::HLLCompiler currently implements them)
16:58 pmichaud I'm still not comfortable with the linear nature of the staging.
16:58 TimToady and even if it did have an ltm of only '>>', it should be picking the earlier metaoperator from [ '<<' | '>>' ]
16:59 moritz_ pmichaud: so how could I implement a stage for example as a sub? or as a class completely on its own?
16:59 pmichaud it's just a method
16:59 pmichaud so just add a method to the Perl 6 compiler object, and then put that method into the list of stages
16:59 moritz_ so, monkey patching instead of subclassing?
16:59 pmichaud if you want to subclass you can do that
17:00 pmichaud but it's effectively the same thing :)
17:00 moritz_ ok
17:00 pmichaud subclass the compiler, add a stage method, put the method into the list of stages :)
17:00 moritz_ yes, that kinda was my plan
17:00 pmichaud there might be some places in the code base that explicitly use Perl6::Compiler, though.
17:00 pmichaud we might have to pick that out of the current braid somehow.
17:04 pmichaud this past week I've finally moved beyond "building a Perl 6 compiler" to "using Perl 6" and I have to say.... I like it a lot.
17:06 cdarroch joined #perl6
17:06 cdarroch joined #perl6
17:06 moritz_ moving the .include 'src/gen/perl6-optimizer.pir' down to line 122 didn't help, same error
17:06 cygx joined #perl6
17:07 patrickas btw moritz_ I fixed a new issue in series after I sent you the pull request, should I send a new one? or do you automatically see the current master with all the changes including the ones done after the request?
17:13 moritz_ patrickas: I automatically get all of them
17:13 moritz_ patrickas: so far I've hesitated to apply the changes because I know that colomon++ also has uncommitted changes to the series code
17:13 moritz_ patrickas: so I'd rather have him review the patches
17:14 colomon moritz_: actually, everything I've got is committed.
17:14 skids joined #perl6
17:14 moritz_ colomon: oh, that's good
17:14 colomon however, we seem to be getting dueling series patches at the moment...
17:15 moritz_ seems to be quite a popular topic these days
17:17 pmichaud moritz_: I'll have to look at it a bit later.  But the problem is nearly always related to something to do with class initialization.
17:17 moritz_ pmichaud: ok
17:17 pmichaud I haven't seen that error in a long time, so I don't remember exactly what it means.  :)
17:18 patrickas colomon: I pull request you then for the series patches ?
17:19 moritz_ patrickas: could you please try to merge/rebase your changes with current rakudo master? there are some merge conflicts right now :/
17:20 colomon patrickas: you can, but I'm likely to be slower than moritz_ at the moment -- I've got four days of missed $work (being at YAPC this week) to catch up on asap.
17:20 pmichaud afk, commuting
17:21 TimToady there is some sentiment here that the sequence 2,3,5...* should be recognized specially as returning prime numbers
17:21 moritz_ where is "here"?
17:21 colomon table of the insane at YAPC, I presume.  ;)
17:21 TimToady the p6 tutorial that TheDamian++ is teaching
17:23 moritz_ well, back when we introduced the series operator, there were some discussions about the level of magic that it should perform
17:23 moritz_ and there seemed to be two general opinions
17:23 TimToady yes, but that particular one is hard to write
17:24 TimToady and commonly useful
17:24 moritz_ one was "use the $database_of_discrete_series"
17:24 moritz_ and the other was "make it as siimple as possible"
17:24 TimToady so one extreme or the other must be correct, eh?  :)
17:30 moritz_ no
17:30 moritz_ I just think that one of the extremes will be less surprising than the rest
17:31 patrickas moritz_: I am a total git noob! I pulled from rakudo/rakudo.git master right before doing the patches, and now I get "Already up to date". I don't know what I should do!
17:31 moritz_ patrickas: ok, I'll investigate
17:31 moritz_ patrickas: maybe it was a local problem here
17:31 moritz_ std: for 0 {  when ARRAY {} }
17:32 p6eval std 31445: OUTPUT«[31m===[0mSORRY![31m===[0m␤Function 'ARRAY' needs parens to avoid gobbling block at /tmp/uyIFbm_fZH line 1:␤------> [32mfor 0 {  when ARRAY[33m⏏[31m {} }[0m␤Missing block (apparently gobbled by 'ARRAY') at /tmp/uyIFbm_fZH line 1:␤------> [32mfor 0 {  when ARRAY
17:32 p6eval ..{}[33m⏏[3…
17:33 TimToady ARRAY is unrecognized, and so taken as as listop
17:33 moritz_ yes, I understand that
17:33 moritz_ it's a ticket by cognominal++ complaining about a LTA error message in Rakudo
17:34 TimToady ah
17:35 ashleydev why use make instead of return in http://gist.github.com/452999
17:35 moritz_ ashleydev: make() sets $/.ast
17:35 moritz_ return doesn't
17:36 ashleydev thx
17:37 moritz_ patrickas: it was a local problem here indeed... I've applied your patches locally, squashed them all into one, and I'm testing it now
17:37 patrickas oh ok good ... thanks :-)
17:37 patrickas you should be able to unfudge 5 tests + 1 TODO
17:38 moritz_ that's good news
17:40 moritz_ but first I have to buy some nom before the shops close (they do that at 8pm here, by law)
17:41 Lorn joined #perl6
17:42 saaki joined #perl6
17:57 gbacon joined #perl6
18:11 mantovani joined #perl6
18:22 dalek rakudo: 4e6cce6 | (Patrick Abi Salloum)++ | src/core/operators.pm:
18:22 dalek rakudo: Various series fixes:
18:22 dalek rakudo: * series operator handles cases when limit is on the wrong side
18:22 dalek rakudo: * generators that involve geometric sign change work (we pass an extra TODO)
18:22 dalek rakudo: * use Numeric instead of Num so that Rats also work
18:22 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
18:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4e6cce64a90d19f2966085e0f81e596fb9cce322
18:24 jrtayloriv joined #perl6
18:24 Mowah joined #perl6
18:29 moritz_ phenny: tell pmurias that I'm working on my yearly "Getting involved with Perl 6" post for perlmonks. Is there anything I should say about contributing to mildew, and if yes, what?
18:29 phenny moritz_: I'll pass that on when pmurias is around.
18:32 moritz_ phenny: tell pmurias also if you want to have any links to mildew that you would like to see included, please let me know
18:32 phenny moritz_: I'll pass that on when pmurias is around.
18:35 moritz_ diakopter: ping
18:36 pugssvn r31446 | patrickas++ | un-fudge a few tests that should pass now.
18:36 ash_ can you call the repl from within a perl6 script?
18:36 ash_ like &interactive() starts it? (or something?)
18:36 moritz_ ash_: run('perl6')
18:37 ash_ ah, cool
18:37 moritz_ that just starts a new process though
18:37 ash_ so it won't have all of the stuff from the current process?
18:37 moritz_ right
18:37 ash_ :-(
18:37 moritz_ there might be some way to grab the current Perl6::Compiler object, and call the appropriate methods on it
18:37 moritz_ but it's not something standard
18:38 moritz_ and probably requires some poking into internals
18:39 ash_ i don't mind doing that if i know its rakudo, but it would be cool to be able to do that, so if you had a script you wanted to test for instance you could just put in whatever you need to start the REPL at that point and run the script
18:39 masak joined #perl6
18:39 masak oh hai, #perl6!
18:39 moritz_ ash_: agreed
18:39 moritz_ lolitsmasak!
18:40 masak lol!
18:40 colomon \o
18:40 masak happy midsummer's eve!
18:41 moritz_ there's something's I'd like to have your opinions on (where "you" is "everybody in the channel who feels like answering" :-) ...
18:41 moritz_ in the announcement of the weekly contribution challenges I've announced that some t-shirts will be given to contributors
18:42 moritz_ so I thought I'd write a Perl 6 script that randomly .pick()s some of the contributors
18:42 moritz_ now, there are two possible modes:
18:42 moritz_ 1) throw all of them into a big pot, and draw from that
18:42 moritz_ or
18:42 [particle] i wish we had a site like stackoverflow where we could give badges for p6 challenge contributors
18:43 moritz_ 2) for each week, list the contributors, and randomly chose one from each week
18:43 moritz_ I kinda prefer 2), because it honors those who picked up challenges that nobody else took up
18:43 masak +1
18:44 tadzik joined #perl6
18:44 [particle] +2 for me.
18:45 moritz_ I kinda plan to continue the challenges, but I don't know how regular they'll be, and I might not promise t-shirts :-)
18:45 patrickas moritz_: I suppose that depends on the number of t-shirts you have :-)
18:45 moritz_ patrickas: well, it roughly amounts to 5..8, and we had 7 weeks so far
18:46 moritz_ depends on shipment costs
18:46 moritz_ and how much [particle]++ wants to organize from the rakudoconsulting group
18:46 Juerd Are they perl6 specific shirts?
18:46 Juerd +1 for mode 2 btw
18:47 moritz_ Juerd: yes, though if anybody wants to contribute non-perl 6 shirts I'd welcome those too
18:48 moritz_ does anybody want to speak up for option 1)?
18:50 patrickas die option 1 die in a great blaze of glory :-)
18:53 moritz_ I'll also make sure that everybody gets at most one t-shirt
18:53 moritz_ (two people have contributed to two challenges each)
18:54 patrickas :-)
18:55 patrickas at least one got totally hooked! :-)
18:55 moritz_ aye. That alone was worth it.
18:56 masak patrickas++
18:59 patrickas actually moritz_++ and masak++ for helping us rakudonoobs contribute!
18:59 moritz_ any objections against http://nopaste.snit.ch/21583 ?
18:59 moritz_ s/against/to/
19:00 moritz_ seems like a fair algorithm to me, but I'd like some review first
19:00 masak patrickas: I'm glad my utterly random actions on this channel were perceived as helpful. :P
19:00 patrickas damn you David Green! I will hunt and destroy you :-)
19:00 moritz_ lol
19:00 patrickas masak :-P
19:01 moritz_ patrickas: David Green also contributed a Str.trans implementation... so your chances of winning a t-short for week 3 are actually > 50%
19:02 sorear hello #perl6
19:02 masak patrickas: you probably meant "I will hunt and hug you" :-P
19:02 colomon sorear: o/
19:02 patrickas masak: Yes that's how I destroy people ...
19:02 masak ah, the "crushing gambit"...
19:03 moritz_ sorear: hi. I'm writing a perlmonks node about how to contribute to Perl 6... is here anything I should write about viv and/or sprixel/csmeta?
19:03 patrickas moritz_: actually I think that means "Chris Fields", "rgrau" have higher chances ...
19:03 moritz_ if yes, what?
19:03 moritz_ patrickas: it means that if day 5 is picked before day 3, and David Green is picked, you'll win for sure at day 3
19:03 cygx moritz_: I think I have the backend figured out with regard to race-conditions/action at a distance: http://nopaste.snit.ch/21584
19:04 sorear moritz_: doubtful.
19:04 patrickas Oh ... I did not notice that the weeks were also random!
19:05 moritz_ patrickas: the scenario I've described above (which also works the other way round of course) are the reason for the @contribs.pairs.pick(*)
19:06 cono joined #perl6
19:06 moritz_ cygx: looks good
19:06 * moritz_ doesn't want to wait anymore
19:07 cygx moritz_: also, ash_ has volunteered to work on the tutor part/client side magic; we're thinking about inplementing that in Perl6, which can basically call JavaScript to change the UI
19:07 cygx eh... basically remotely call
19:08 moritz_ cygx: I don't quite understand which part is going to be in Perl 6
19:09 moritz_ and the winners are... http://nopaste.snit.ch/21585
19:09 moritz_ winner => week
19:09 moritz_ {"Hongwn Qiu" => 4, "patrickas" => 3, "bubaflub" => 2, "David Green" => 5, "cygx" => 7, "sahadev" => 6, "shawjef3\@msu.edu" => 1}
19:09 pmichaud back again
19:09 ash_ the tutorial, so if you wanted to start say chapter 1 of the tutorial (i plan on stealing the chapters from the rakudo book), you could just say "chapter 1;
19:09 ash_ "
19:09 patrickas first fame ... now fortune for patrickas \o/
19:09 cygx moritz_: the tutor is just a Perl6 function you can call and which produces output which, instead of writing to the consoles, triggers changes in the UI
19:10 sahadev awesome :)
19:10 moritz_ cygx, ash_: ah, that's a good idea
19:10 moritz_ sahadev: please /msg or email me your snail mail address
19:10 moritz_ patrickas: same goes for you
19:10 ash_ if your lost, you just say; "help; " and we print a helpful message, etc.
19:11 moritz_ +1
19:13 cygx basically, we'll write a server-side Perl6 <-> client-side JS RPC interface
19:13 ash_ (i am not that original btw, http://tryruby.org/ is what I am being inspired by)
19:14 moritz_ ash_: I think tryruby just regex-matches input and output, and then advances
19:15 cygx from the difference in execution speed of code execution and UI changes, I'd guess so, tooo
19:16 pmichaud is there a place for filing future challenges of the week?  or is that going to be a limited time thingy?
19:16 sahadev rakudo: my @a = 1, 2, 3 ... *; say @a.shift for 1..5
19:16 p6eval rakudo 4e6cce:  ( no output )
19:16 moritz_ pmichaud: it's in the pugs repo, misc/helpnow/README
19:16 sahadev rakudo: my @a = 1, 2, 3 .. *; say @a.shift for 1..5
19:16 moritz_ pmichaud: or just talk to me here :-)
19:16 p6eval rakudo 4e6cce:  ( no output )
19:16 pmichaud I'm wondering if $*ARGFILES would be a good challenge.
19:17 moritz_ is that the new <> magical file handle?
19:17 pmichaud yes.
19:17 moritz_ it might be
19:18 moritz_ future challenges might not be t-shirt motivated though :-)
19:18 pmichaud so, that idea would go into the README directly?
19:18 moritz_ pmichaud: right
19:19 pugssvn r31447 | pmichaud++ | [helpnow] Add another possible challenge to README.
19:19 ash_ i just said i was inspired by, i didn't say we have to do it the way they did it, i think having parts of the tutorial actually in rakudo would be kinda nice
19:19 moritz_ right
19:20 pmichaud ash_: I think you can get to the interactive REPL with   Perl6::Compiler.interactive();
19:20 sahadev rakudo: my @a = 1, 2, 3 .. *; say @a.munch(5)
19:20 pmichaud (testing)
19:20 cygx I agree; it might hurt resposiveness, though
19:20 p6eval rakudo 4e6cce:  ( no output )
19:20 sorear std: 1 <<+>> 2
19:20 p6eval std 31446: OUTPUT«ok 00:01 112m␤»
19:20 pmichaud sahadev: array assignment is eager (and rakudo doesn't yet know how to halt on infinite eagerness)
19:21 sorear TimToady: it's not the hyper, it's the Z being greedy and parsing <<[Z[>>] ...
19:21 ash_ rakudo: my @a = (1 .. *).munch(5); say @a;
19:21 p6eval rakudo 4e6cce: OUTPUT«Method 'munch' not found for invocant of class 'Range'␤  in main program body at line 11:/tmp/iRoU7J1A11␤»
19:22 ash_ rakudo: my @a = (1 ... *).munch(5); say @a;
19:22 p6eval rakudo 4e6cce: OUTPUT«12345␤»
19:25 pmichaud rakudo:  my @a = (1 .. *).list.munch(5);  say @a;
19:25 p6eval rakudo 4e6cce: OUTPUT«12345␤»
19:25 pmichaud hmmm
19:25 pmichaud probably need to move munch
19:25 pmichaud well, not move it, but define Iterable.munch as forwarding.
19:25 pmichaud or maybe it's even Any.munch
19:26 * pmichaud guesses Any.
19:36 cdarroch joined #perl6
19:36 cdarroch joined #perl6
19:42 sahadev pmichaud: ah. i have been wondering why my little script wasn't terminating.
19:53 diakopter moritz_: pong?
19:53 jferrero joined #perl6
19:55 cygx moritz_, ash_: I added design docs to http://github.com/moritz/try.rakudo.org/ ; I don't know how much time I'll have available for coding during the next few days, but I call dibs on the server-side frontend; the client-side UI libs and the backend are up for grabs, though
20:05 RAT joined #perl6
20:16 moritz_ diakopter: I'm writing my yearly perlmonks post about how to contribute to Perl 6...
20:16 moritz_ diakopter: is there any document or web page I could point people to regarding sprixel/csmeta?
20:17 moritz_ something that tells people what needs doing, where to ask for help etc.
20:18 Guest1208 joined #perl6
20:19 ash_ cygx: i can work on the client ui or the backend, either way is fine by me, or i can make a prototype of both then we can move forward from there (by prototype i mean get a minimal part of it working to make sure everything alright)
20:19 RAT left #perl6
20:20 moritz_ +1 to first prototyping (but those who implement decide in the end)
20:20 moritz_ cygx: by participating in the contribution challenge you've won a cool perl 6 or rakudo t-shirt
20:21 moritz_ cygx: please /msg me your postal address, t-shirt since and whether you want a Perl 6/camelia or a Rakudo t-shirt
20:21 moritz_ http://rakudo.spreadshirt.de/rakudo-perl-A10548545/customize/color/1 vs. http://rakudo.spreadshirt.de/second-system-camelia-A10548459/customize/color/1
20:24 stepnem joined #perl6
20:31 masak rakudo: sub foo($x where 1 --> Int) {}
20:31 p6eval rakudo 4e6cce: OUTPUT«===SORRY!===␤Missing block at line 11, near "-> Int) {}"␤»
20:31 masak std: sub foo($x where 1 --> Int) {}
20:31 p6eval std 31447: OUTPUT«ok 00:01 113m␤»
20:31 * masak submits rakudobug
20:31 masak seems 'where' and '-->' in signatures don't play well together in Rakudo.
20:32 cygx ash_: whatever you decide is fine with me; im not really keen on the ui stuff, but I also would only start on the backend after the frontend is in a somewhat reasonable state
20:33 moritz_ masak: what about where { block } + --> ?
20:33 masak moritz_: same ordeal.
20:33 moritz_ rakudo: sub foo($x where { $_ ~~ 1} --> Int) { }
20:33 p6eval rakudo 4e6cce: OUTPUT«===SORRY!===␤Missing block at line 11, near "-> Int) { "␤»
20:33 masak std: sub foo($x where { $_ ~~ 1} --> Int) { }
20:33 p6eval std 31447: OUTPUT«ok 00:01 112m␤»
20:33 masak moritz_: good you pointed that out. adding that to the ticket.
20:34 masak the block form was the way I discovered it. the 1 was the golfed variant :)
20:34 [particle] notice the rakudo error message
20:34 [particle] it references ->, not -->
20:35 moritz_ LTM trouble?
20:35 * moritz_ -> bed
20:37 Guest1208 joined #perl6
20:46 cygx (Perl Foundation)++ # thanks for augmenting my wardrobe
20:50 [particle] cygx++ # thank you for your support
21:00 whiteknight joined #perl6
21:07 masak rakudo: subset H of Hash; role R { method x(H $project) {} }; class A does R { multi method x($project) {} }; A.new.x({ a => "b" })
21:07 p6eval rakudo 4e6cce: OUTPUT«Null PMC access in invoke()␤  in 'ACCEPTS' at line 1␤  in main program body at line 1:/tmp/or4cFvI7Gu␤»
21:07 * masak submits rakudobug
21:07 masak "multi method killed in tragic Null PMC accident involving a role and a subtype".
21:09 masak rakudo: subset H of Int; role R { method x(H $project) {} }; class A does R { multi method x(H $project) { say "OH HAI" } }; A.new.x(42)
21:09 p6eval rakudo 4e6cce: OUTPUT«OH HAI␤»
21:09 masak and the Hash type seems to be involved in the collision as well.
21:10 masak might simply be another manifestation of "you can't see anything from within a role".
21:10 masak but, hm, then there shouldn't be any difference between subtype of Hash and subtype of Int...
21:13 supernovus joined #perl6
21:16 supernovus I have two bugs, but I can't find related tickets for them in RT, although I'm sure they are known about.
21:16 masak rakudo: say "supernovus: show them with p6eval! :)"
21:17 p6eval rakudo 4e6cce: OUTPUT«supernovus: show them with p6eval! :)␤»
21:17 supernovus rakudo: for %*ENV.kv -> $k, $v { say $k~"="~$v; }
21:17 p6eval rakudo 4e6cce: OUTPUT«Method 'key' not found for invocant of class 'String'␤  in main program body at line 4319:CORE.setting␤»
21:17 supernovus That's the "%*ENV doesn't act like a normal hash when trying to use .kv on it" bug.
21:18 supernovus And here's the "cannot augment Hash" bug:
21:18 supernovus rakudo: use MONKEY_TYPING; augment class Hash { method hi { say 'hi' } }; my %h; %h.hi;
21:18 p6eval rakudo 4e6cce: OUTPUT«Method 'hi' not found for invocant of class ''␤  in main program body at line 11:/tmp/AayQsvcfGd␤»
21:18 masak I'll have a look around RT for you.
21:19 masak supernovus: there's this old classic: http://rt.perl.org/rt3/Ticket/Display.html?id=57400
21:19 masak we might re-open it for your .kv woes :)
21:20 masak supernovus: as for the other bug, I think it's new, and you should file it. :)
21:20 masak the closest I get is http://rt.perl.org/rt3/Ticket/Display.html?id=75718
21:20 masak and that's not the same.
21:21 masak however, it's the same as the one I just filed, so I'll go and merge those now. :)
21:22 ashleydev joined #perl6
21:23 xinming_ joined #perl6
21:25 supernovus I think the old classic %*ENV bug has re-emerged in the new master. It had been fixed in 'alpha'. As for the new bug, I guess I'll just submit one for "use of augmented Hash methods fails" or something to that effect. It may be related to http://rt.perl.org/rt3/Ticket/Display.html?id=75114 which seems to hint that several core classes have had issues with the augment functionality.
21:27 masak aye.
21:31 sahadev left #perl6
21:36 supernovus bug submitted
21:36 masak supernovus++
21:38 supernovus I'm going to continue digging through the code for some of my projects and testing things that worked in 'alpha' and see what I can find that doesn't work in 'master'. I know PSpec and ww6 are both good candidates for finding bugs :-)
21:40 supernovus be back later :-)
21:54 jferrero joined #perl6
21:59 jnthn masak: Problem with subtype of hash sounds a bit familiar...I'm sure I looked at (but didn't fix...) a realted ticket recently. Was perhaps a different issue htough.
22:02 masak jnthn: I also think it rings familiar.
22:03 jnthn ah welll, if it's a dupe it'll get found :-)
22:03 jnthn Plus I know we're not running all the subtype tests alpha did.
22:03 tedv joined #perl6
22:03 jnthn Will catch 'em in my ongoing S12/S14 test triage. :-)
22:04 masak \o/
22:05 * jnthn has made it to Brussels. Belgian Perl Workshop tomorrow.
22:07 jnthn uh, oday ;-)
22:07 jnthn *today
22:13 lue ohai
22:17 * masak greets lue
22:19 LionMadeOfLions joined #perl6
22:22 lue .oO(I wonder how pmichaud is doing with variable refactor)
22:26 pugssvn r31448 | lwall++ | [STD] scope parameters' "of" types correctlier
22:29 masak "[...] even lolcats are known to use Perl6" :) http://uncyclopedia.wikia.com/wiki/Perl6
22:30 masak generally, I'm very hopeful after reading that article. I didn't realize Perl 6 was that powerful.
22:31 * lue runs to uncyclopedia
22:33 lue I started reading that and thought .oO(Nice, but I could do better) . Now, the notice at the bottom is begging me :)
22:34 masak lue: go for it.
22:34 lue rakudo: our $heads; object.explode($heads);
22:34 p6eval rakudo 4e6cce: OUTPUT«Could not find sub &object␤  in main program body at line 11:/tmp/vJzS1rZnGi␤»
22:35 lue :)
22:36 * jnthn gets some rest
22:36 kfo_ joined #perl6
22:37 lue good rest, jnthn o/
22:38 masak 'night, jnthn!
22:40 * cxreg is taking bets on which actually ships first, R* or Pg9.0
22:41 lue I bet on the Rakudo Death Star :)
22:41 lue rakudo: die(*)
22:41 p6eval rakudo 4e6cce: OUTPUT«!whatever_dispatch_helper␤  in main program body at line 11:/tmp/jvn4w3TwRt␤»
22:42 masak cxreg: well, there's a date for Rakudo Star now, so you can base your predictions on that... :)
22:43 cxreg masak: sure, but pg is up in the air, and r* /could/ go early
22:43 lue .oO(It's almost a fully operatorial death star!!)
22:44 mjk joined #perl6
22:44 * masak looks into adding backtracking-into-subrules to GGE
22:46 sorear How does GGE differ from the old Cursor.pm6?
22:47 masak GGE isn't based on cursors at all, it's based on the design PGE used, where grammars are matches.
22:47 masak everything is matches in that model, basically.
22:47 masak even regex expression nodes are matches.
22:50 LionMadeOfLions joined #perl6
22:50 masak alpha: regex foo { a+ }; say ?("aaa" ~~ /<foo> a/) # alpha has backtracking into subrules
22:50 p6eval alpha 30e0ed: OUTPUT«1␤»
22:50 masak rakudo: our regex foo { a+ }; say ?("aaa" ~~ /<&foo> a/) # rakudo master doesn't
22:51 p6eval rakudo 4e6cce: OUTPUT«0␤»
22:51 cxreg sorear: its interesting that Z eats >> when it doesn't eat the guillemet
22:51 masak of course, the tricky thing is that <foo> can't just succeed and then be done with it; it has to leave enough state info around for a match to resume.
22:52 masak PGE solves it with coroutines. but I don't have coroutines in Perl 6. so I'll have to fake it. :)
22:54 TimToady it's easy to fake it with lazy lists
22:55 masak not sure it's easy with this design.
22:55 TimToady yes, well, that's where immutable cursors come in
22:56 TimToady backtracking is braindead easy when it just involves throwing away a cursor from the front of the list
22:56 masak that does sound attractive right now :)
22:57 ash_ can gather/take make a coroutine?
22:57 TimToady supposed to
22:57 masak hm, I just realized I can only attach a fake-continuation object to a compiled regex if it's a named regex in a grammar. but that's the only time I have to, so it's OK.
23:01 pugssvn r31449 | lwall++ | [STD] don't check for P5ish >> or << in any metaop
23:01 pugssvn r31449 | don't recognized infix < or > if next char is dup
23:04 TimToady cxreg: the reason is that Z> is a valid operator, and Z>> is (before the last checkin) a valid "invalid" sequence
23:04 cxreg right, ok
23:04 TimToady likewise for X>
23:05 TimToady after this checking <<X>> will always be taken as <<[X]>>
23:05 TimToady (assuming I didn't screw up)
23:07 masak time to go home and pretend to sleep.
23:07 masak g'night, #perl6.
23:07 TimToady o/
23:07 TimToady and if you really mean <<[X>]>>, that's how you have to write it
23:15 jaldhar joined #perl6
23:17 ashleydev joined #perl6
23:20 sorear cxreg: the guillemet doesn't match <infix>
23:20 TimToady rakudo: .say if /ing$/ for slurp.words
23:20 p6eval rakudo 4e6cce: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in 'slurp' at line 4655:CORE.setting␤  in main program body at line 11:/tmp/OcREuJovyB␤»
23:21 sorear std: sub infix:<»>() {}; 1 «X» 2
23:21 p6eval std 31449: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing « or » at /tmp/WNZTEi_B_S line 1:␤------> [32msub infix:<»>() {}; 1 «X»[33m⏏[31m 2[0m␤    expecting any of:␤     bracketed infix␤  infix or meta-infix␤      infix_circumfix_meta_operator␤Parse failed␤FAILED 00:01 114m␤»
23:21 cxreg sorear: ah
23:21 TimToady sub infix:<»>() {}; 1 «[X»]» 2  # seems like a sufficient workaround
23:22 sorear given that disambiguating ««««««««X»»»»»»»» from ««««««««X»»»»»»»»» requires unlimited lookahead, I'm willing to forgive STD's current behavior
23:22 sorear although I might put in a .worry for if infix matches anything that could close the current metaop
23:23 TimToady doubless always putting the [op] will become some kind of PBP
23:24 TimToady rakudo: say slurp
23:24 p6eval rakudo 4e6cce: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in 'slurp' at line 4655:CORE.setting␤  in main program body at line 11:/tmp/37BS5HOCzI␤»
23:25 TimToady seems like LHF to default slurp to argfiles
23:26 colomon does argfiles work already?
23:27 TimToady it could at least default to $*IN for now
23:27 colomon TimToady: sorry I didn't get to say goodbye to you yesterday.
23:27 TimToady it's not the end of the world :)
23:28 * cxreg wonders if STD.pm6 will live in pugs' svn forever
23:28 cxreg it seems particularly unique
23:31 colomon TimToady: should lines default as well?
23:33 nimiezko joined #perl6
23:33 sorear cxreg: "pugs" is a really bad name
23:33 sorear cxreg: it's actually "random perl6 stuff that doesn't live anywhere else"
23:34 sorear important things which do not live there: pugs
23:34 cxreg LOL
23:35 TimToady colomon: yes
23:35 TimToady it is tempting to make words default too :)
23:36 TimToady then it'd just be: .say if /ing$/ for words
23:38 colomon hmmm.... would that do *ARGFILES.lines.words?
23:38 colomon (at least until we have Cat?)
23:40 TimToady well, .lines.words is a bit silly, since words already splits on line breaks
23:41 sorear TimToady: Do you have any thoughts on the notion of tool-specific extensions to Perl 6?
23:45 sorear What happens when you ask a grapheme for its Unicode properties?
23:49 dalek nqp-rx: caa5ba5 | bacek++ |  (3 files):
23:49 dalek nqp-rx: Implement expression for modifier
23:49 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/caa5ba515a4a9ba5d94f4e221756399590fc811d
23:53 TimToady are those questions supposed to be related?  o_O
23:53 Psyche^ joined #perl6
23:54 TimToady (in any case, no, and I dunno.)
23:55 TimToady ((in the former case, because I have no idea what tool-specific extensions means, and in the latter, because we haven't really thought much about individual characters as objects yet))
23:56 sorear Right now I'm thinking about making viv laziness-aware, so that the cursor primitives could maybe me moved back up to Cursor.pm6
23:57 sorear thinking that I might need to pass more information into viv as a result
23:57 sorear but I don't think that anymore
23:59 TimToady well, Cursor's laziness requires explicit action on the part of the recipient to iterate, so viv would have to make sure the context of any lazy evaluation supplies that
23:59 TimToady alternately, if you want to hack lazy lists into Perl 5 at a lower level, I'd be fine with that :)

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

Perl 6 | Reference Documentation | Rakudo