Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-04-07

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:08 masak 'night, #perl6
00:18 jnthn sleep &
00:34 dayangkun joined #perl6
00:34 xinming_ joined #perl6
00:36 perigrin joined #perl6
01:05 anuby joined #perl6
01:05 hypolin joined #perl6
01:07 perigrin joined #perl6
01:20 FROGGS_ joined #perl6
01:29 mikemol joined #perl6
01:55 djanatyn joined #perl6
02:06 frdmn joined #perl6
02:14 lichtkind__ joined #perl6
02:27 lustlife joined #perl6
02:39 Tene joined #perl6
02:40 LoRe joined #perl6
02:51 orafu joined #perl6
02:54 preflex_ joined #perl6
02:57 dmol joined #perl6
03:04 hrbkid joined #perl6
03:37 adu_ joined #perl6
04:33 lue S02/Names/Dynamic Lookup: "If the variable is not visible in the caller, it returns failure." should that failure be C<Failure> (ie, does the sentence talk about returning a Failure object) ?
04:36 diakopter lue: pretty sure yes
04:37 * lue clarifies
04:46 dalek specs: 5a85c48 | lue++ | S02-bits.pod:
04:46 dalek specs: [S02] Minor clarification
04:46 dalek specs:
04:46 dalek specs: Make it clear that a specific type (C<Failure>) is returned instead of
04:46 dalek specs: something representing a general concept (failure).
04:46 dalek specs: review: https://github.com/perl6/specs/commit/5a85c480a8
05:16 FROGGS_ .tell pmurias: 'use v5' itself is not a problem, but after doing it, the Perl6::Grammar.statement rule is still the active one, _that_ is a problem because it means a slang cant have its own statement rule
05:16 yoleaux FROGGS_: I'll pass your message to pmurias:.
05:44 FROGGS_ .tell pmurias 'use v5' itself is not a problem, but after doing it, the Perl6::Grammar.statement rule is still the active one, _that_ is a problem because it means a slang cant have its own statement rule
05:44 yoleaux FROGGS_: I'll pass your message to pmurias.
05:45 ikrs joined #perl6
05:51 kaare_ joined #perl6
05:59 rindolf joined #perl6
06:00 SamuraiJack joined #perl6
06:24 diakopter you're a slang
06:25 diakopter r: slang {  }
06:25 p6eval rakudo e489af: OUTPUT«===SORRY!===␤Method 'new_type' not found for invocant of class 'NQPMu'␤»
06:25 diakopter wat.
06:25 diakopter please don't do this to me rakudo...
06:26 diakopter the more you break, the more you tempt me to fuzz you all night instead of what I should be working on
06:26 moritz slangs are simply NYI
06:28 diakopter ok. still, a problem that was unknown to me.  so just as tempting
06:28 moritz it's a package declarator that doesn't have a meta object associated with it
06:29 moritz so %HOW<slang> is empty, meaning it falls back to NQPMu
06:30 diakopter ok. so it's NYI. still a problem that was unknown to me... so just as tempting :P
06:41 diakopter rnp: say «««x»»»
06:41 p6eval rakudo e489af: OUTPUT««« x »»␤»
06:41 p6eval ..niecza v24-35-g5c06e28, pugs: OUTPUT«««x»»␤»
06:42 diakopter rnp: say ««x»«x»»
06:42 p6eval rakudo e489af, niecza v24-35-g5c06e28, pugs: OUTPUT««x»«x»␤»
06:42 diakopter so why does the last one add spaces
06:43 moritz r: say «««x»»».perl
06:43 p6eval rakudo e489af: OUTPUT«("«", ("«", "x", "»").list, "»")␤»
06:43 SamuraiJack joined #perl6
06:43 FROGGS morning \o/
06:43 diakopter \o/ <- yawn
06:44 FROGGS I'm awake for two hours now and just happy that here is somebody :o)
06:48 SamuraiJack joined #perl6
06:53 diakopter r: say ««««x»»»»
06:53 p6eval rakudo e489af: OUTPUT««« « x » »»␤»
06:53 diakopter r: say «««««x»»»»»
06:53 p6eval rakudo e489af: OUTPUT««« « « x » » »»␤»
06:54 diakopter r: say «««««x»»»»».perl
06:54 p6eval rakudo e489af: OUTPUT«("«", ("«", "«", "«", "x", "»", "»", "»").list, "»")␤»
06:54 FROGGS std: my $x = 0; until $x++ < 4 { } continue { }
06:54 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Strange text after block (missing comma, semicolon, comment marker?) at /tmp/JYm26Qy9Zu line 1:�------> [32mmy $x = 0; until $x++ < 4 { }[33m�[31m continue { }[0m�    expecting horizontal whitespace�Parse failed�FAILED 00:00 44m�»…
06:54 FROGGS std: use v5; my $x = 0; until ($x++ < 4) { } continue { }
06:54 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/ZzJH5hRuja line 1:�------> [32muse v5; my $x = 0; until ($x++ < 4) { }[33m�[31m continue { }[0m�Parse failed�FAILED 00:01 53m�»
06:54 FROGGS std: use v5; my $x = 0; until ($x++ < 4) { }; continue { }
06:54 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/pz6Za_JhJg line 1:�------> [32m $x = 0; until ($x++ < 4) { }; continue [33m�[31m{ }[0m�    expecting any of:�   p5infix�        statement modifier�Parse failed�FAILED 00:01 53m�»
06:55 diakopter r: say «««»»».DUMP
06:55 p6eval rakudo e489af: OUTPUT«No such method 'package' for invocant of type 'NQPAttribute'␤  in block  at src/gen/CORE.setting:939␤  in method reify at src/gen/CORE.setting:5723␤  in method reify at src/gen/CORE.setting:5618␤  in method gimme at src/gen/CORE.setting:6039␤  in method eager at sr…
06:55 diakopter .tell japhb  dunno: r: say «««»»».DUMP
06:55 yoleaux diakopter: I'll pass your message to japhb.
06:58 FROGGS feels like I've mostly used 10% of Perl 5 when looking at until/continue
06:58 FROGGS and other stuff I learn these days
07:02 moritz you shouldn't use all Perl 5 features :-)
07:05 FROGGS moritz: ya, for most things it is like: "ohh good that I've never seen it before"
07:23 dalek v5: 5f0eeb8 | (Tobias Leich)++ | TODO_compound_statements.md:
07:23 dalek v5: added TODO_compound_statements.md
07:23 dalek v5: review: https://github.com/rakudo-p5/v5/commit/5f0eeb8b00
07:23 dalek v5: 9102362 | (Tobias Leich)++ | TODO_compound_statements.md:
07:23 dalek v5: I dont like md
07:23 dalek v5: review: https://github.com/rakudo-p5/v5/commit/9102362a9a
07:24 dayangkun joined #perl6
07:25 labster hello o/
07:27 FROGGS hi labster
07:27 timotimo hello
07:28 labster there's unless -> elsif -> else in P5?  That's ... different.
07:28 FROGGS it is
07:29 FROGGS I've read some "rules" like ten years ago that you never should use unless+else, and do it as if+else instead because of readability
07:30 FROGGS doing unless+elsif+else is rather insane
07:31 FROGGS doing an unless with many ||'s and &&'s is not that good too, adding elsif would be ... well ...
07:31 labster it's not so much "used only 10% of P5" as "only gone 10% down the P5 rabbit hole"
07:33 FROGGS right
07:33 FROGGS about File::Spec
07:33 FROGGS I really do like the changes!
07:34 FROGGS the only thing I can argue with are the typos here (first sentence) https://github.com/labster/p6-File-Spec#case_tolerant and the additional whitespace before VMS right before EOF
07:34 FROGGS labster++
07:35 FROGGS now somebody should make it a core module :o)
07:35 japhb .tell diakopter same problem I'm dealing with re: DUMP(\()) -- it works its way down to a Hash, and then recurses infinitely.  I'm betting a Parrot or NQP Hash is getting wrapped in a Perl 6 Hash somehow, and it when it tries to examine the Perl 6 Hash's $!storage and $!descriptor ... 10 GOTO 10.
07:35 yoleaux japhb: I'll pass your message to diakopter.
07:35 yoleaux 06:56Z <diakopter> japhb: dunno: r: say «««»»».DUMP
07:36 labster Summary for everyone else: I wanted to add a new function set to File::Spec that does almost what splitpath/catpath does.  We leave the original set as is -- it keeps all of the characters in the path.  And then add a new set which does it with dirname/basename syntax -- which loses trailing slashes, sets dirname and basename to '/' for root, etc.  And does it portably.
07:37 labster The only thing I'm not sure about is the names.  currently the splitting one is 'path-components', and the joining one is 'join-path'.
07:39 labster FROGGS: Yeah, it's going to have to be a core module if IO::Path will work right.  Not sure how to get started on that.
07:40 FROGGS labster: what about 'split' and 'join'?
07:41 FROGGS "The New The Better The Shorter"(tm)
07:42 labster join had a previous meaning.  I think it was the same as 'catfile'.  Which is not quite 'catdir' and definitely not 'catpath'.  Not that I'm opposed to changing the meaning.
07:42 diakopter r: say DUMP m!1!
07:42 yoleaux 07:36Z <japhb> diakopter: same problem I'm dealing with re: DUMP(\()) -- it works its way down to a Hash, and then recurses infinitely.  I'm betting a Parrot or NQP Hash is getting wrapped in a Perl 6 Hash somehow, and it when it tries to examine the Perl 6 Hash's $!storage and $!descriptor ... 10 GOTO 10.
07:42 p6eval rakudo e489af: OUTPUT«No such method 'match' for invocant of type 'Any'␤  in block  at /tmp/EedEdOclqf:1␤␤»
07:45 labster Also, if we're going to put this in core, should I change all of the underscores to hyphens in the method names?  That's what the cool kids are doing these days.
07:50 FROGGS labster: if that is the core-style, thes yes :o)
07:52 diakopter r: say &say.DUMP
07:52 p6eval rakudo e489af: OUTPUT«Sub<1>(␤    :$!dispatchees(Mu),␤    :$!dispatcher_cache(Mu),␤    :$!dispatcher(Mu),␤    :$!rw(0),␤    :$!inline_info(Mu),␤    :$!yada(0),␤    :$!package(GLOBAL<5>(...)),␤    :$!onlystar(0),␤    :$!dispatch_order(Mu),␤    :$!dispatch_cache(Mu),␤    :$!state_vars(Mu)…
07:53 araujo joined #perl6
08:01 tgt joined #perl6
08:02 diakopter r: say .^methods.DUMP.chars
08:02 p6eval rakudo e489af: OUTPUT«28118␤»
08:03 jac50 joined #perl6
08:16 dalek v5: c1b6b95 | (Tobias Leich)++ | README.md:
08:16 dalek v5: added do-s and don't-s
08:16 dalek v5: review: https://github.com/rakudo-p5/v5/commit/c1b6b95b85
08:16 diakopter FROGGS: I'm sorry, goto is a necessity for me. ;)
08:16 BigBear joined #perl6
08:17 FROGGS hmmm, well then, plans can change :o)
08:17 diakopter do you want an evalbot target for your branch?
08:18 FROGGS YES YES YES!!!
08:18 FROGGS err, but wait
08:18 FROGGS we need to patch rakudo for that
08:18 diakopter hm, I probably shouldn't have asked that if I wasn't willing (well, able) to make it happen
08:19 diakopter right, it needs a separate build
08:19 FROGGS this patch: https://gist.github.com/FROGGS/5fe2eb96e2515bf02a14
08:19 FROGGS and, cwd must be v5's repo rootdir, PERL6LIB=blib
08:21 FROGGS "[...] willing (well, able) to make it happen" - do you mean C<goto> or the evalbot thingy ?
08:25 tadzik blib/lib, no?
08:25 FROGGS there is no blib/lib in this repo
08:27 James_ joined #perl6
08:29 berekuk joined #perl6
08:38 tgt joined #perl6
08:46 diakopter FROGGS: both ;)
08:49 FROGGS \o/
08:50 cognominal joined #perl6
08:50 diakopter .ask lizmat PM me when you can; thanks
08:50 yoleaux diakopter: I'll pass your message to lizmat.
08:56 odoacre joined #perl6
09:08 domidumont joined #perl6
09:09 dalek v5: b9c89f6 | (Tobias Leich)++ | / (3 files):
09:09 dalek v5: support unless+elsif+else
09:09 dalek v5: review: https://github.com/rakudo-p5/v5/commit/b9c89f6dc9
09:09 dalek v5: 00e985b | (Tobias Leich)++ | t/spectest.data:
09:09 dalek v5: add some comments what is missing
09:09 dalek v5: review: https://github.com/rakudo-p5/v5/commit/00e985bd44
09:13 FROGGS r: for 1..10 { next if /3/; say $_  }
09:13 p6eval rakudo e489af: OUTPUT«1␤2␤4␤5␤6␤7␤8␤9␤10␤»
09:13 FROGGS shouldn't be too hard to support labels...
09:17 moritz then please implement them for regular rakudo too :-)
09:17 FROGGS moritz: that's is what I'm doing first :o)
09:17 FROGGS still searching where 'next' is implemented
09:18 FROGGS ahh, found it
09:18 FROGGS src/NQP/Actions.pm:1563:    method term:sym<next>($/) { make QAST::Op.new( :op('control'), :name('next') ) }
09:19 moritz that's NQP's next
09:19 moritz rakudo's next is in src/core/control.pm
09:19 FROGGS ohh, k, thanks
09:23 domidumont joined #perl6
09:27 James_ joined #perl6
09:29 spider-mario joined #perl6
09:43 masak forenoon, #perl6
09:44 FROGGS hi masak
09:47 moritz \o masak
09:48 moritz how's the t2 review proceeding?
09:48 cognominal joined #perl6
09:48 FROGGS <FROGGS> "shouldn't be too hard to support labels..." <---- not true
09:49 timotimo :(
09:50 timotimo were you going to build labels for perl6 first and use that in perl5-support code?
09:50 FROGGS timotimo: right, since Perl 6 is supposed to have labels too
09:51 FROGGS but it is not that easy because 'next' adds a pirop 'die 0 .CONTROL_LOOP_NEXT'
09:51 FROGGS so I'm digging now in parrots code
09:51 timotimo mhm
09:51 timotimo i wished i had had labels last month when i went to implement brownian trees
09:51 timotimo i should finish that up and put it on rosettacode i think
09:52 FROGGS ya, do that
09:53 FROGGS cool, found "ops.'push_pirop'('goto', redolabel)" within parrots code
09:59 spider-mario is rakudo 2013.02 supposed to be buildable against nqp 2013.03?
10:03 moritz not necessarily
10:03 moritz it can happen, but it's not supported
10:03 moritz and I have no idea if it works
10:03 spider-mario ok, thanks. :)
10:03 spider-mario I just tried and it failed
10:04 spider-mario I was just wondering whether it was to be expected
10:04 spider-mario the exact error is:
10:04 spider-mario Method 'post' not found for invocant of class 'Perl6::Compiler'
10:04 FROGGS spider-mario: most times one adds a feature to nqp and rakudo, then using an older rakudo will work
10:05 timotimo yeah, the stages have been renamed somewhere along the way
10:05 FROGGS but sometimes (when refactoring something for example), things will break
10:18 lizmat joined #perl6
10:27 James_ joined #perl6
10:35 * moritz finished reading "Harry Potter and the Natural 20"
10:35 moritz very amusing fanfic
10:35 moritz ... if you know a bit about pen&paper role-play gaming
10:37 dalek nqp-jvm-prep: d489e2e | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java:
10:37 dalek nqp-jvm-prep: Fix serialization tests.
10:37 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/d489e2e3f8
10:38 timotimo jnthn has tuits again \o/
10:38 jnthn Yes, just need to catch up with all the things folks want me to look at now ;)
10:38 timotimo sorry =x
10:44 * FROGGS .oO( and things which went wrong in his absence )
10:45 tadzik moritz: how is it compared to hpatmor?
10:47 moritz tadzik: not rational at all :-)
10:47 tadzik haha
10:47 moritz and the plot isn't quite as intricate
10:47 moritz more on the funny side, and less on the deep side
10:48 tadzik is there an epub-y thing somewhere?
10:53 t5a joined #perl6
10:53 t5a left #perl6
11:08 timotimo changing my brownian tree implementation to only spawn new particles on the very outside makes the result look *very* different, but also prettier
11:09 timotimo 1400 seconds :|
11:11 berekuk joined #perl6
11:28 James_ joined #perl6
11:31 PacoAir joined #perl6
11:41 dalek nqp-jvm-prep: 0f21904 | jnthn++ | / (5 files):
11:41 dalek nqp-jvm-prep: Add partial P6bigint REPR and some basic ops.
11:41 dalek nqp-jvm-prep:
11:41 dalek nqp-jvm-prep: This is enough to pass the first 5 of 60-bigint.t. Note that P6bigint
11:41 dalek nqp-jvm-prep: currently is not able to embed itself into a P6opaque.
11:41 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/0f219046c6
11:41 dalek nqp-jvm-prep: cc05609 | jnthn++ | / (2 files):
11:41 dalek nqp-jvm-prep: Basic bigint arithmetic operations.
11:41 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/cc056098e7
11:47 colomon \o/
11:53 dalek nqp-jvm-prep: 2a293ae | jnthn++ | / (2 files):
11:53 dalek nqp-jvm-prep: Bitwise operations on big integers.
11:53 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/2a293ae1a2
11:57 cognominal joined #perl6
12:03 nwc10 jnthn: oh, "worked" on my machine (the usual) except that you moved the goalposts again. botherit
12:03 nwc10 and I have to go out
12:12 berekuk joined #perl6
12:28 James_ joined #perl6
12:36 cognominal latest parrot or rakudo is broken on my mac: https://gist.github.com/cognominal/5330328
12:39 zby_home_ joined #perl6
12:42 cognominal disregard, it seems I have accidentally modified some file.
12:43 cognominal nope, that's a generated file
12:47 timotimo did you make really-really-clean twice?
12:47 mikemol joined #perl6
12:51 cognominal I am recompiling after having done a make realclean in rakudo/  rakudo/parrot and rakudo/nqp
12:51 timotimo but does realclean really make it clean enough? >_<
12:59 cognominal "make test" passes. The problem seems with the Perl 6 shell. Will see if "make spectest" succeeds.
12:59 mikemol joined #perl6
13:03 spider-mario timotimo: when in doubt, one can use git clean
13:04 timotimo indeed
13:04 timotimo i had to do that once to get parrot to build
13:10 SamuraiJack joined #perl6
13:11 cognominal running manually perl6 was running the wrong perl6.
13:13 cognominal Not sure why it is not installed (anymore?) in my /usr/local/bin where the stale Perl 6 (3 days old) were
13:15 spider-mario I install mine in ~/.perl6/
13:44 dayangkun joined #perl6
13:44 PacoAir joined #perl6
13:56 cognominal joined #perl6
14:06 fhelmberger joined #perl6
14:09 gcole joined #perl6
14:09 masak we have no release manager for Rakudo this month. who would like the great honor of being release manager?
14:10 masak (FROGGS has May. I'll volunteer for June if someone signs up for April)
14:10 masak er, FROGGS++
14:14 cognominal__ joined #perl6
14:14 jtpalmer joined #perl6
14:28 frdmn joined #perl6
14:29 Patterner joined #perl6
14:31 frd|afk joined #perl6
14:36 cognominal joined #perl6
14:54 gtodd masak: I would do it except no one knows who I am and I know nothing about release management ... I'm willing to learn but preferably by watching at this point :-D
14:55 masak that's fine.
14:55 masak release management is really easy.
14:55 masak but if you prefer to go one or two cycles just watching, that's OK :)
14:59 timotimo this syntax for regexes has been scrapped since the apocalypse, right? / @kids := [(\S+) \s+]* /
14:59 timotimo in favor of $<kids>=..., afaict?
15:02 masak yeah, I'd say so.
15:04 timotimo but there's no way to say "i'll be matching keys and values, so please turn this into a hsah for me", short of adding a closure?
15:08 masak sounds like something I'd be doing in an action method.
15:08 timotimo sure
15:26 gtodd masak: ok :-)
15:28 gtodd masak: one of the challenges in some projects is coming up with release mottos, code names, etc.  I watched a lot of Monty Python and took several linguistics course so it's not like I'd be completely useless
15:28 masak :)
15:28 * gtodd heads off to subscribe to various mailing lists
15:28 masak in our case it's just the PerlMongers group that needs to be chosen.
15:28 masak gtodd++
15:29 gtodd masak: Oh and I have a book about ITIL3 out of the library that isn't due back for 12 days so ... ;-)
15:29 gtodd hah I made myself laugh
15:29 raiph masak: i'm curious about your reaction to my sense that action methods remind me of phasers...
15:31 masak raiph: they feel like the same category of thing, yes. but they are attached at runtime, and are meant to be a (replaceable) backend to the grammar. so they're a bit different too.
15:34 pmichaud note that it's possible to cut unofficial releases to get a feel for what it's like.
15:34 pmichaud thanks to git clone, anyone can fork the rakudo repo and go through all of the steps needed to cut a release.
15:34 pmichaud including commits :)
15:38 cognominal joined #perl6
15:40 masak yes. that's a really good point.
15:41 masak gtodd: if you do that, I volunteer to stand by to help if you get stuck.
15:41 masak gtodd: if you succeed, I could very well sign you up for April ;)
15:42 cognominal__ joined #perl6
15:47 gtodd masak:  there appears to be PM in Ottawa ... with a  possibly dormant website ;-)
15:48 gtodd pmichaud: good idea ... I will release it to myself a few times first ... this will allow me to find out what git is :-)
15:48 gtodd cheers
15:48 raiph masak: thanks
15:50 masak gtodd: oh, git is conceptually easy. it's a way to snapshot your file system at significant moments. the fact that it then organizes these snapshots (yours and others) in a useful way, is really mostly a nice bonus. ;)
15:51 skids The hard part about git is finding a good starting point for reading docs.
15:52 timotimo try gitinit?
15:52 timotimo http://www.atlassian.com/git/tutorial <- have not tried it yet, but it has colors
15:53 skids There are some OK tutorials.
15:53 timotimo http://tom.preston-werner.com/2009/05/19/the-git-parable.html - i remember liking this very much
15:53 gtodd masak:  true ... the fact that they are so easy and fast lets you get pretty fancy with zfs snapshots ... easy to see the fs as change managed dataset and - vecie versa - vcs as a way to manage a file system
15:54 gtodd ok thanks
15:56 skids timotimo: the first one looks much better than anything I could find when I first took up git.
15:59 gtodd I like the parable in that the style of presentation feels perlish
16:00 gtodd but the atlassian tutorial is thorough
16:01 census joined #perl6
16:01 census left #perl6
16:03 BigBear joined #perl6
16:06 timotimo the first step to understand git: implement your own dvcs :P
16:07 arnsholt I quite like hg-init as well
16:09 arnsholt They have a very good SVN reeducation section that helped me understand how to properly work with a DVCS
16:13 timotimo hg makes me mad
16:15 arnsholt I've never actually used Mercurial
16:15 arnsholt The hg-init SVN reeducation was just useful to me =)
16:18 timotimo i agree on that part
16:21 dalek v5: e55045e | (Tobias Leich)++ | README.md:
16:21 dalek v5: fix markup issue
16:21 dalek v5: review: https://github.com/rakudo-p5/v5/commit/e55045e35a
16:23 timotimo hg has the infuriating property of deciding for me that some things should really not be done
16:23 timotimo like changing history before pushing is a biiiig no no
16:23 timotimo and one time i was told to delete my repo and clone it anew to get rid of commits that hg was intent on pushing to the remote
16:24 timotimo apparently now i can do something with mercurial plugins to get rid of a commit and all floolowing commits, which is nice, but git has had that for ages in core :|
16:25 spider-mario I don’t like that in hg either
16:25 spider-mario I also love git’s staging area
16:27 FROGGS std: use v5; { 1 } continue { 2 }
16:27 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/bdEGbNxnWq line 1:�------> [32muse v5; { 1 }[33m�[31m continue { 2 }[0m�Parse failed�FAILED 00:01 52m�»
16:27 FROGGS std: use v5; if (1) { 1 } continue { 2 }
16:27 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/LXR8NuT4Yw line 1:�------> [32muse v5; if (1) { 1 }[33m�[31m continue { 2 }[0m�Parse failed�FAILED 00:01 52m�»
16:30 timotimo what does that syntax even mean?
16:31 FROGGS timotimo: the continue block runs right after the block before
16:32 FROGGS and I believe it doesn't get executed if the first block comes to a 'redo', 'last' or 'next'
16:32 FROGGS but it's a bit strange IMO
16:34 timotimo mhm
16:36 geekosaur I thought it did for next
16:36 geekosaur in fact that's kinda the point of it
16:36 FROGGS ya, looks like
16:36 FROGGS (reading Perl 5's test file for that
16:36 FROGGS )
16:37 FROGGS so at 'last' is the only one which gets rig of it
16:37 FROGGS rid
16:39 FROGGS "it is always executed just before the conditional is about to be evaluated again"
16:39 FROGGS *the conditional of the main block
16:39 FROGGS that makes it clear
16:42 timotimo ah, that makes some sense
16:44 timotimo is there any special trick to using regcomp to get an nqp compiler and creating a class in there and then exposing that class to the outer perl6 code? can i just create a dynamic variable before running the nqp code, thenset the value inside and grab the class from that variable for instance?
16:52 FROGGS damnit, the same trap like before... I can't add an continue-block to statement_control<while>/<until>, because it still uses these grammar tokens from Perl 6 land -.-
16:53 Chillance joined #perl6
16:55 dmol joined #perl6
16:56 timotimo "load_language" couldn't find a compiler module for the language 'nqp' - my mistake?
16:56 FROGGS no idea
16:57 timotimo someone else have an old perl6 at hand?
16:57 FROGGS no, I'm on bleeding edge :o)
16:58 FROGGS or better: :o(
16:58 timotimo nope, my older perl6 doesn't do it either
16:59 timotimo oh, maybe regcomp and all that only works in nqp?
17:00 timotimo r: my $comp := regcomp__Ps('perl6'); $comp.eval("say 'hi'");
17:00 p6eval rakudo e489af: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    regcomp__Ps used at line 1��»
17:00 timotimo r: my $comp := pir::regcomp__Ps('perl6'); $comp.eval("say 'hi'");
17:00 p6eval rakudo e489af: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:syntax error, unexpected PREG, expecting '(' ('$P5005')␤  in file '(file unknown)' line 206065058␤␤»
17:01 timotimo o_O
17:02 jnthn Think you want nqp::getcomp
17:03 timotimo that may be the case
17:05 sqirrel joined #perl6
17:05 timotimo when i try to nqp::getcomp perl6 it works, but not nqp (i get a null pmc back or something?)
17:06 timotimo and pir::load_language__0s('nqp') doesn't help either
17:06 jnthn I guess the NQP compiler isn't loaded since it's not needed
17:06 timotimo is there an nqp equivalent to load_language__0s just like getcomp?
17:07 jnthn r: nqp::loadbytecode('nqp')
17:07 p6eval rakudo e489af: OUTPUT«"load_bytecode" couldn't find file 'nqp'␤  in block  at /tmp/2l7XMhvjAx:1␤␤»
17:07 jnthn r: nqp::loadbytecode('nqp.pbc')
17:07 p6eval rakudo e489af: OUTPUT«"load_bytecode" couldn't find file 'nqp.pbc'␤  in block  at /tmp/0EEyfmBHQO:1␤␤»
17:07 jnthn r: nqp::loadbytecode('NQP.pbc')
17:07 p6eval rakudo e489af: OUTPUT«"load_bytecode" couldn't find file 'NQP.pbc'␤  in block  at /tmp/QiGO3KRYP4:1␤␤»
17:07 jnthn Hm
17:07 timotimo probably would have to give the absolute path? :(
17:07 jnthn I thought that may do it, but apparently not...
17:09 tgt_ joined #perl6
17:10 bbkr joined #perl6
17:20 dalek Heuristic branch merge: pushed 24 commits to nqp-jvm-prep/asm_port by jnthn
17:21 tadzik question: would anyone mind panda becoming more of a cpanm than CPAN.pm?
17:21 xinming joined #perl6
17:22 moritz I'm sure somebody would mind; but the majority of user surely prefers a simple (albeit opinionated) software over the complicated mess that CPAN.pm is
17:23 tadzik other question: how much do you use the ability to browse the module ecosystem that panda provides?
17:23 tadzik side note: I'm not removing it :)
17:25 timotimo are you refering to modules.perl6.org or does panda have some kind of browsing feature?
17:25 japhb jnthn, what is the asm_port branch?
17:25 tadzik hah
17:25 tadzik 'panda list', 'panda search' and all that
17:25 timotimo oh, right
17:25 moritz I've used 'panda search' occasionally
17:25 tadzik list is quite useful because it shows what's installed
17:25 japhb tadzik, I use it all the time
17:25 arcterus joined #perl6
17:25 tadzik ok, cool
17:26 japhb tadzik, in what sense do you want to make panda more like cpanm?
17:26 jnthn japhb: A branch donaldh++ has been working on to replace BCEL with ASM (http://asm.ow2.org) for code generation
17:26 japhb ah!
17:26 tadzik japhb: I don't, that's not quite its goal. But I'm working on a bit of an experimental rewrite of panda, and I brought it to a state where it behaves like cpanm :)
17:27 tadzik I think that might be a useful tool for folks
17:27 tadzik so it doesn't use any kind of statefiles, projectfiles, utilizes the http://feather.perl6.nl:3000/module/Acme;Meow api and all that
17:28 japhb Woah, when did that API come into existence?
17:28 japhb No statefile ... how do we recreate our installs after rebuilding Rakudo?
17:29 tadzik japhb: it was there since I created that website
17:29 tadzik I thought that might be useful one day, never used it
17:30 timotimo hehehe
17:30 tadzik japhb: we won't then. This thing would be like cpanm, fire and forget
17:30 tadzik may be useful for oneshot installations
17:30 tadzik like 'I need SVG::Plot for this small script, but I don't want to install it generally'
17:30 tadzik redpanda -L extlib SVG::Plot, done
17:31 BigBear How do i get the equivalent of perldoc Text::CSV or perldoc Form to see how to use the new perl 6 Text::CSV and perl 6 Form (that replaces good ool Format)?
17:33 japhb tadzik: -L specifies an install lib tree?
17:34 japhb tadzik, and does redpanda still use the Pies API?
17:35 tadzik no, I didn't make it so
17:35 * japhb likes the idea of various opinionated (or not) frontends that all talk to the same underlying API
17:35 japhb ... but that API need not be Pies.
17:35 tadzik actually, I don't think this Pies idea in hindsight
17:35 tadzik I don't think it ever once became useful
17:35 tadzik it was just creating additional work when adding features to panda
17:36 japhb tadzik, I think the big problem was designing the API before designing multiple frontends.  I find APIs like that often come better from refactorings than Big Up Front Design.
17:36 tadzik it either didn't work out, or I couldn't use it to my advantage
17:36 tadzik hmm, maybe
17:37 japhb Build a couple different install tools (maybe just panda and redpanda are enough, maybe you need a third, I dunno), then refactor the common bits into an API.
17:37 japhb JMHO, of course
17:38 tadzik sure, a valuablue one
17:38 tadzik maybe I just approached all this from the wrong angle
17:38 tadzik anyway, I'll first try to reach the goal of having an awesome module manager, then I'll think about the details :)
17:39 hoelzro howdy #perl6 folk
17:41 BigBear p6doc Form tells me
17:41 BigBear No POD found in /opt/local/lib/parrot/4.10.0/languages/perl6/site/lib/Form.pm is there another way to see how to use the new Form or perl 6 Text::CSV for which p6doc gives me same error message about no POD in the Text/CSV.pm?
17:41 hoelzro what happened to the 2013.03 release? =(
17:41 tadzik BigBear: do you have it installed?
17:42 BigBear tadzik: , yes I do tests passed and it installed
17:42 tadzik does that file exist in your filesystem, can you read it/
17:43 cognominal__ joined #perl6
17:44 BigBear tadzik: yes it exists and just checked I can also read it (I am root - only right after the install ;-)
17:46 tadzik oh, maybe this file indeed has no Pod inside? :)
17:47 dalek doc: 8999263 | tadzik++ | bin/p6doc:
17:47 dalek doc: Pod is the new POD
17:47 dalek doc: review: https://github.com/perl6/doc/commit/89992630fc
17:50 awwaiid joined #perl6
17:51 BigBear tadzik: a grep -i pod  /opt/local/lib/parrot/4.10.0/languages/perl6/site/lib/Form.pm or in /opt/local/lib/parrot/4.10.0/languages/perl6/site/lib/Text/CSV.pm returns nothing
17:52 tadzik BigBear: it's entirely possible that a module is not documented, and so you'll get no documentation :/
17:52 tadzik BigBear: could you install File::Find and try on that?
17:52 tadzik I remember writing docs for that one :)
17:54 BigBear tadzik: ;-) OK - will see what happens with that  ;-)
17:55 BigBear tadzik: panda install File::Find
17:55 BigBear resolve stage failed for File::Find: Project File::Find not found in the ecosystem
17:55 tadzik duh
17:55 tadzik oh
17:55 tadzik it's in the File::Tools distribution, sorry
17:55 tadzik I really ought to split those
17:55 tadzik it's annoying for everytone
17:58 BigBear tadzik: I tried p6doc File::Find::Dupliactes instead and that does indeed give me a Pod-like output. So I guess I am out of lukc for the new perl 6 Form and the new Text::CSV that panda installed then?
17:58 tadzik why File::Find::Duplicates?
17:58 tadzik I didn't know we have that :)
17:58 tadzik apparently we have, okay :)
17:59 tadzik labster++
17:59 tadzik BigBear: yeah, not every module is documented :/
17:59 tadzik it'd definitely help to nag module authors about it:)
18:01 * colomon has not documented any of his modules....
18:03 BigBear tadzik: panda list | grep -i find gave me File::Find::Duplicates ;-)
18:03 lue hello world o/
18:06 tadzik BigBear: ha, nice :)
18:06 tadzik also answering my prior question about 'list' usage
18:08 BigBear does perl6 irc channel have it's pastebin somewhere? I would show you the other output I got from installing File::Tools which succeeded but then canot fidn it's file or Pod for that matter.
18:08 japhb BigBear, use gist
18:09 BigBear japhb: how do I use it? or where is gist?
18:10 Tene http://gist.github.com/
18:10 Tene http://sprunge.us/ is pretty nice too
18:10 japhb https://gist.github.com/
18:10 Tene feh.  https.  :P
18:11 japhb BigBear, gist allows either private (hashed ID) or public (simple integer ID) pastes.
18:14 BigBear thanks - here is the output of me seemingly succeeding to install File::Tools , but then not finding it nor the embedded Pod content I was searvhing for.  https://gist.github.com/anonymous/5331694
18:15 arlinius joined #perl6
18:16 cognominal joined #perl6
18:17 tadzik yes, that's my mistake again
18:17 tadzik File::Tools contains 2 modules inside: File::Find and Shell::Command
18:17 tadzik so you install File::Tools, but get 2 other things
18:17 tadzik this is stupid and it's already reported to the module author
18:17 tadzik (me)
18:21 dalek nqp-jvm-prep/asm_port: f6b38e8 | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
18:21 dalek nqp-jvm-prep/asm_port: Fix exception handler code-gen.
18:21 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/f6b38e8ca4
18:21 dalek nqp-jvm-prep/asm_port: 977809b | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
18:21 dalek nqp-jvm-prep/asm_port: Complete (hopefully) todo local handling.
18:21 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/977809bf89
18:21 dalek nqp-jvm-prep/asm_port: 468cb5f | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
18:21 dalek nqp-jvm-prep/asm_port: Add missing native array cases.
18:21 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/468cb5fea8
18:21 dalek nqp-jvm-prep/asm_port: 71e44a5 | jnthn++ | lib/QAST/JASTCompiler.nqp:
18:21 dalek nqp-jvm-prep/asm_port: Fix incorrect array instruction usage.
18:21 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/71e44a5fd7
18:23 nwc10 jnthn: "the usual" on master
18:23 nwc10 should I try that branch?
18:24 jnthn nwc10: Not yet
18:24 jnthn Still got some unbusting to do
18:24 jnthn I've gone from all of t/qast failing to just one test in one test file failing, though...
18:25 japhb nice!
18:26 jnthn It makes it through the build but unfortunately the resulting NQPJVM doesn't work
18:26 nwc10 it compiles - ship it!
18:31 awwaiid joined #perl6
18:32 cognominal joined #perl6
18:33 BigBear tadzik: I commented some more on https://gist.github.com/anonymous/5331694 , why does p6doc only parse half of the line and stop at '4'? BTW File::Find that one gets when installing File::Tools does have embedded Pod. Thanks.
18:34 cognominal probably the META.info of a git package should include a entry for the names of the module/package/classes it installs
18:36 BigBear Is TestML a bad idea or not likley to be fixed soonish ? Googled and it seems to have been broken for months now? I woiuld quite like to install XXX and YAML but they both depend on TestML which doesn't even build so I can't install it and skip the test even.
18:36 berekuk joined #perl6
18:37 ingy hi BigBear
18:37 ingy :)
18:37 ingy BigBear: maybe join #testml
18:39 ingy BigBear: Oh I see, you don't want to use TestM, it's just getting in your way?
18:41 tadzik moritz: *poke*
18:41 tadzik (comments under https://gist.github.com/anonymous/5331694)
18:42 * moritz takes a look
18:43 berekuk joined #perl6
18:43 * moritz has no idea what's going wrong
18:47 BigBear ingy: if I show you the error it fails with - do you think somebody can "fix" that so it builds, or is that perl6 build error only the peak of an ice-berg?
18:48 lue joined #perl6
18:53 dalek v5: 5d4f654 | (Tobias Leich)++ | README.md:
18:53 dalek v5: make clear what v5 is made for
18:53 dalek v5: review: https://github.com/rakudo-p5/v5/commit/5d4f654d72
18:54 PacoAir joined #perl6
18:56 cognominal joined #perl6
18:59 toddr_ joined #perl6
19:00 Timbus|Away joined #perl6
19:01 BigBear tadzik: I just installed File::Tools under latest rakudo star under win 7 pro now . which was first panda perl6 module on that install , but now all toher attempts of using panda fail from Shell::Command with :
19:01 BigBear perl6 panda install Text::CSV Form
19:01 BigBear ===SORRY!===
19:01 BigBear Missing or wrong version of dependency 'c:/rakudo/lib/parrot/4.10.0/languages/p
19:01 BigBear rl6/lib/Shell/Command.pm'
19:04 dalek nqp-jvm-prep/asm_port: a23e7ec | jnthn++ | src/org/perl6/nqp/runtime/ExceptionHandling.java:
19:04 dalek nqp-jvm-prep/asm_port: Better reporting on startup crashes.
19:04 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/a23e7ecb9a
19:04 dalek nqp-jvm-prep/asm_port: 887e811 | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
19:04 dalek nqp-jvm-prep/asm_port: Use correct class name format in anewarray.
19:04 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/887e811c37
19:04 dalek nqp-jvm-prep/asm_port: e6ccfd8 | jnthn++ | Makefile:
19:04 dalek nqp-jvm-prep/asm_port: Don't need the debug-all version.
19:04 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/e6ccfd8f2f
19:04 jnthn nwc10: selftest seems to pass on the branch now \o/
19:04 jnthn nwc10: Feel free to give it a run, if you have time
19:06 nwc10 the machine has 8 cores and a load average of 0.42
19:06 nwc10 so I think that it has time...
19:06 tadzik BigBear: hold on. File::Tools installed fine, but now everything else fails?
19:06 census joined #perl6
19:07 tadzik also, File::Tools definitely comes with Rakudo Star, so you didn't need to install it
19:07 tadzik and also, how is that windows but with root and /opt?
19:08 BigBear tadzik: yes. that's the gist of it. will go and remove the file::tools files and see if panda revives. My earlier stuff was on mac os and now I switched to windows to see if I have more luck with TestML on that.
19:08 tadzik ah
19:09 cognominal joined #perl6
19:12 tadzik panda is hard to maintain :|
19:13 tadzik I should stop bitching and fix it, I guess
19:14 masak tadzik++ # maintaining panda
19:15 tadzik I try
19:15 masak tadzik: as far as I can see, you're doing a great job.
19:15 tadzik I did some big refactors today, and stumbled upon the wall between "make things better" and "don't break panda for users"
19:15 masak tadzik: I know it's thankless sometimes. but unless it's patently obvious to you, panda is part of a really important toolchain, and likely to remain so for a while.
19:15 tadzik it should be entirely possible to achieve both though :)
19:16 tadzik yes, that's why I really don't want to break it in any way
19:16 masak tadzik: panda is awesome, and, by transitivity, you are awesome :D
19:16 nwc10 jnthn: a failure on make test:
19:16 nwc10 t/qast/qast_6model.t ......... 10/21 Unhandled exception: This representation can not box a native int in <anon> in <anon>
19:16 tadzik I'm surprised almost every other day that someone uses it
19:16 nwc10 (oh, with a few more newlines than that)
19:16 tadzik that someone I've never heard of uses it
19:17 tadzik I now wonder, when I say "don't break panda to users", does that also mean not breking the API between parts of panda
19:17 tadzik emmentaler uses some, possibly people use them too
19:17 tadzik masak: thanks for the warm words :)
19:18 nwc10 jnthn: and prove --exec="java -cp .;bin;3rdparty/asm/asm-4.1.jar NQPJVM" t/nqp/*.t t/serialization/*.t
19:18 masak emmentaler is likely the only big downstream consumer right now.
19:19 nwc10 every test fails like this:
19:19 masak tadzik: why do you want to break API compat?
19:19 nwc10 t/nqp/01-literals.t ............. Error: Could not find or load main class NQPJVM
19:19 nwc10 t/nqp/01-literals.t ............. Dubious, test returned 1 (wstat 256, 0x100)
19:19 nwc10 No subtests run
19:19 masak tadzik: and can you do it in steps, perhaps deprecating stuff over a period, and then removing it?
19:19 nwc10 that prove like is what "make selftest" runs
19:19 nwc10 so, doesn't work on my machine. For some reason that it not quite obvious to me
19:20 BigBear tadzik: it was my fault for breaking panda under win, I did not check if File::Tools were already installed , first. Don't be too hard on yourself. you are doing a great job.
19:20 tadzik masak: I think Panda::Resources is madness and insanity
19:20 tadzik and it couples everything to an annoying degree
19:21 tadzik BigBear: it's alright :) Actually, I think I can blame your problem on precompilation itself, not panda ;)
19:21 masak tadzik: what do you envision instead?
19:21 tadzik BigBear: I guess the second File::Tools got installed to another location than the R* one, and Rakudo got confused loading that
19:22 tadzik masak: I think those modules (Panda::Builer, ::Tester etc) are build around the wrong concept. It occured to me on FPW last year: the only thing they need to know of is the directory they operate on
19:22 tadzik it then makes it super-easy to test them, to make individual tools of them etc
19:23 tadzik they chdir somewhere, do work, chdir back when they started. No external resources necessary
19:23 nwc10 aha. Java hateful. There seems to be no command line option to avoid needing to know whether the path separator is : or ;  :-(
19:23 nwc10 I have a local hack commit on master
19:23 tadzik right now they're given Panda::Resources on initialization, then Pies::Project, then feed Project to Resources to know which dir should they operate on
19:23 tadzik they're actually completely stateless, and there's no need for them to be objects at all
19:25 nwc10 jnthn: selftest successful when I change ; to :
19:27 tadzik masak: so that makes it hard, because I need to throw around how Panda talks to its delegates
19:29 masak tadzik: as long as you don't break emmentaler, I think you'll be fine.
19:29 tadzik I guess so
19:29 masak tadzik: although you might want to blog about it, just in case there are "darkpan" clients hiding in the woods :)
19:29 tadzik right :)
19:29 tadzik I will. So far I'm silently working locally :)
19:29 lue joined #perl6
19:30 FROGGS when do NEXT phasers run? after the loops body?
19:31 tgt joined #perl6
19:31 Juerd IIRC after each iteration, including the last.
19:31 FROGGS hmmm
19:31 Juerd But it's been a while :)
19:32 Juerd So I might simply remember it wrong.
19:32 FROGGS r: for 1..3 -> $x { say $x; NEXT { say "n" } }
19:32 p6eval rakudo e489af: OUTPUT«1␤n␤2␤n␤3␤n␤»
19:32 nwc10 jnthn: selftest successful, nqptest "the usual", t/qast/qast_6model.t fails test 12 Unhandled exception: This representation can not box a native int
19:32 moritz r: for 1..3 -> $x { say $x; LEAVE { say "n" } }
19:32 p6eval rakudo e489af: OUTPUT«1␤n␤2␤n␤3␤n␤»
19:33 FROGGS r: for 1..3 -> $x { say $x; FIRST { say "n" } }
19:33 p6eval rakudo e489af: OUTPUT«n␤1␤2␤3␤»
19:33 FROGGS r: for 1..3 -> $x { say $x; LAST { say "n" } }
19:33 p6eval rakudo e489af: OUTPUT«1␤2␤3␤n␤»
19:33 FROGGS I'd need NEXT minus LAST
19:34 BigBear tadzik: did a msi "repair" , but it is still broken. which pre-compilaiton issue was created when I installed the File::Tools on R*? What should I go and delete? is it the 'c:/rakudo/lib/parrot/4.10.0/languages/perl6/lib/Shell/Command.pir'?   or is it C:\rakudo\lib\parrot\4.10.0\languages\perl6\lib\Shell\Command.pir I shoudl delete now?
19:34 Juerd FROGGS: ENTER, and ignore the first?
19:34 dmol joined #perl6
19:35 Juerd No, s/ENTER/LEAVE/
19:35 Juerd Hm, no, ENTER.
19:35 FROGGS no, I'd need: 1 n 2 n 3
19:35 FROGGS Juerd: for this: http://perldoc.perl.org/functions/continue.html
19:36 jnthn nwc10: Thanks; I also get that qast_6model.t one. Think that's the last thing I need to find before I merge this branch.
19:36 FROGGS so yeah, ENTER but not FRIST
19:36 FROGGS *FIRST
19:37 tadzik BigBear: hold on, there's an option I want you to try
19:38 tadzik BigBear: could you try RAKUDO_MODULE_DEBUG=1 <perl6 something something>?
19:39 Juerd r: for 1..3 -> $x { say $x; ENTER { say "n" if (state $foo)++ } }
19:39 p6eval rakudo e489af: OUTPUT«1␤n␤2␤n␤3␤»
19:39 BigBear tadzik: sure, I'd be glad too ...
19:39 Juerd FROGGS: That's what you wanted, right?
19:40 Juerd Probably not the best way to do this. Would probably go wrong if executed twice, so a regular lexical may be better.
19:42 tadzik BigBear++
19:42 masak r: for 1..3 -> $x { say $x; ENTER say "n" if (state $foo)++ }
19:42 p6eval rakudo e489af: OUTPUT«1␤n␤2␤n␤3␤»
19:42 masak r: for 1..3 -> $x { say $x; say "n" if (state $foo)++ }
19:42 p6eval rakudo e489af: OUTPUT«1␤2␤n␤3␤n␤»
19:43 masak r: for 1..3 -> $x { say "n" if (state $foo)++; say $x }
19:43 p6eval rakudo e489af: OUTPUT«1␤n␤2␤n␤3␤»
19:43 Juerd *facepalm*
19:43 Juerd That makes sense :)
19:44 masak I'm glad ;)
19:44 FROGGS right, now make an AST out of that :o)
19:44 FROGGS (no worry, I'll do that)
19:44 BigBear tadzik: OK output of perl6 panda list shown under the old thread https://gist.github.com/anonymous/5331694 hope that is what you were after , if not re-specify please.
19:46 marmay joined #perl6
19:48 cognominal joined #perl6
19:48 marmay Hello, I've got a question regarding Perl6 / Rakudo. I would like to do some pattern matching within an action method. Rakudo complains, because I try to overwrite $/, at least I think that this is the reason why it is complaining. Is there a way to do pattern matching in an action method?
19:50 masak marmay: an excellent question.
19:50 masak marmay: I remember running into this issue a year or so ago on Niecza. Niecza allows it, but overwrites $/ (to my great surprise and disappointment)
19:51 FROGGS marmay: you could use another variable as $/ within your methods signature as a workaround
19:51 masak marmay: but I can't claim to know the "right answer" here. in some way I want the cake and eat it, too.
19:51 masak that is, both re-entrant pattern matching, and non-clobbered $/
19:53 awwaiid joined #perl6
19:54 jnthn If you declare "$/ is copy" or so in the signautre you can overwrite it, but that's probably not entirely helpful...
19:54 tadzik BigBear: ah, yes. It loads Shell::Command and Fil::Find from site/ (c:/rakudo/lib/parrot/4.10.0/languages/perl6/site/lib/Shell
19:54 marmay FROGGS: This does not seem to work.
19:54 tadzik ...but everything else from R* installation
19:54 tadzik so things break
19:54 marmay jnthn: Just noticed this, yes. Not so helpful. :-)
19:54 FROGGS marmay: in what way?
19:54 tadzik that's less than awesome, I know :/
19:55 FROGGS marmay: you need to rename the $<variable>-vars too
19:55 tadzik and it's probably broken on unixes too for the same reason
19:55 tadzik moritz?
19:55 moritz tadzik?
19:55 FROGGS marmay: because $<variable> is a shorthand for $/<variable>
19:56 * moritz was very muc distracted with parenting for the last ~2h
19:56 marmay FROGGS: for method( $x ) { make ~$x } I get: "Cannot bind attributes in a type object", for $/ it just works.
19:57 jnthn make also expects to set $/
19:57 jnthn $m.make(~$x) # would do it
19:57 moritz r: grammar A { token TOP { a+ } }; A.parse('aa', :actions(class { method TOP ($x) { $x.make(~$x) } })).say
19:57 p6eval rakudo e489af: OUTPUT«「aa」␤␤»
19:57 moritz r: grammar A { token TOP { a+ } }; A.parse('aa', :actions(class { method TOP ($x) { make(~$x) } })).say
19:57 p6eval rakudo e489af: OUTPUT«Cannot bind attributes in a type object␤  in sub make at src/gen/CORE.setting:10844␤  in method TOP at /tmp/nreMIFb2rB:1␤  in any !reduce at src/stage2/QRegex.nqp:714␤  in any !cursor_pass at src/stage2/QRegex.nqp:678␤  in regex TOP at /tmp/nreMIFb2rB:1␤  in method…
19:57 jnthn tbh though, I'd probably move the logic that wants to do the pattern matching etc. into some other private method that I pass things to, or a subroutine nested inside of my action method.
19:58 tadzik moritz: yes, there's a problem with our CUSTOM_LIB business
19:58 tadzik I don't quite know what to do from there
19:58 moritz what's the problem?
19:58 tadzik we install R*, and everything in languages/perl6/lib
19:58 dalek nqp-jvm-prep/asm_port: fa800ba | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6int.java:
19:58 dalek nqp-jvm-prep/asm_port: Fix typo; unbreaks qast_6model.t.
19:58 dalek nqp-jvm-prep/asm_port: review: https://github.com/jnthn/nqp-jvm-prep/commit/fa800ba981
19:58 jnthn nwc10: Blah, was a typo. :)
19:58 tadzik then the user panda-installs one of the Panda deps, like File::Find
19:58 tadzik that ends up in site/
19:59 tadzik then the moduleloader loads some things from site, and some from languages/perl6/lib
19:59 jnthn nwc10: So, should be clean now. :)
19:59 mtk joined #perl6
19:59 moritz well, there are three possible solutions
20:00 moritz 1) require exact versions (and teach rakudo multi-version module handling)
20:00 moritz 2) teach rakudo to automatically re-precompile with the updated dependencies
20:00 moritz 3) don't precompile
20:01 BigBear sorry stepping outside for ~ 30 minutes or so - will check back after - to see if I can help or test anything ....
20:01 moritz 4) fudge the installed modules to narrow down @*INC to only contain perl (and not site) libs
20:01 tadzik moritz: I guess 2) is the desired solution eventually
20:02 moritz aye
20:02 tadzik we've been to 3) already, it was sloooow :)
20:02 moritz I know
20:03 moritz in the past few months I've been very close to attacking 2) several times
20:03 tadzik hmm, hold on
20:03 tadzik I just thought "1) yeah, but we never change versions", and that's the piont too
20:03 tadzik those are exactly the same Shell/Command.pm
20:03 marmay jnthn, moritz: Thanks for your help. It works as expected.
20:07 awwaiid joined #perl6
20:11 cognominal joined #perl6
20:37 cognominal joined #perl6
20:39 BigBear tadzik: two more questions. It did not seem to brek under mac os x , but maybe my perl6 there did not have a pre-built File::Tools ? will investigate. but also on windows I have 4 Command.pm files , of which only two count, will add location and size info to the gist link, but the R* one and the one from File::Tols differ in size quite a bit? So maybe it is a version mismatch in windows...
20:39 BigBear ...between your module and the R* pre-built one?
20:44 BigBear tadzik: pasted file info from under windows in https://gist.github.com/anonymous/5331694
20:51 lizmat odd discrepancy I just noticed: README in rakudo mentions "make spectest", and not "make test"
20:51 yoleaux 08:51Z <diakopter> lizmat: PM me when you can; thanks
20:52 lizmat whereas the output of configure mentions "make test" and not "make spectest:
20:52 lizmat *"
20:52 diakopter (ignore that msg from yoleaux) :D
20:52 lizmat yes, I figured that
20:53 lizmat can you tell yoleaux to not pass a message on later?
20:53 diakopter seems leaves out the date if it's on the same day; I wonder if it includes the date if it's not the same day
20:54 diakopter .commands
20:54 yoleaux Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each.
20:54 BigBear tadzik: done a diff between the two from lib and site and they are not only of different size but they are definitly different. appended diff -du at end of https://gist.github.com/anonymous/5331694
20:55 BigBear BigBear: is going to rest ... will check back again tomorrow
21:01 lizmat .commands demos
21:01 yoleaux Commands in demos: crash, flood, wait, wait-crash. Use .help to get information about them.
21:02 jnthn .flood the earth, but let noah survive
21:02 yoleaux jnthn: Sorry, this command is admin-only.
21:02 jnthn "admin" indeed :P
21:02 colomon :)
21:03 masak :D
21:04 tadzik BigBear: sorry, was afk. Gotta sleep now, will look at it tomorrows
21:04 dmol joined #perl6
21:04 BigBear tadzik: one last comment for the day. jsut finnished cheking under mac os x and I have two Command.pm files of different sizes, just like under windows, but the perl6 panda something commands still work my installation did not break it there?
21:05 tadzik I dunno :)
21:05 * tadzik sleeps
21:05 rgc joined #perl6
21:05 lizmat gnight tadzik!
21:13 masak 'night, #perl6
21:14 diakopter o/
21:14 lizmat night masak
21:14 japhb night masak (and belatedly tadzik)!
21:16 berekuk joined #perl6
21:25 dmol joined #perl6
21:33 dmol joined #perl6
21:42 kurahaupo joined #perl6
21:50 lizmat night #perl6!
21:51 diakopter o/
22:05 cognominal joined #perl6
22:14 kurahaupo good morning #perl6
22:14 FROGGS hi kurahaupo
22:28 frdmn joined #perl6
22:45 awwaiid joined #perl6
22:54 berekuk joined #perl6
22:59 felher Good night, good people :)
23:00 rgc joined #perl6
23:17 grondilu joined #perl6
23:17 grondilu rn: say 2 Rxx rand
23:17 p6eval rakudo e489af: OUTPUT«0.852463807768316 0.852463807768316␤»
23:17 p6eval ..niecza v24-35-g5c06e28: OUTPUT«0.92083557924294634 0.92083557924294634␤»
23:18 * grondilu was expecting two different numbers
23:18 grondilu r: say rand xx 2
23:18 p6eval rakudo e489af: OUTPUT«0.395225263058336 0.586990305959386␤»
23:18 grondilu see?
23:19 cooper joined #perl6
23:36 frdmn joined #perl6
23:38 Targen joined #perl6

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

Perl 6 | Reference Documentation | Rakudo