Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-05-12

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:02 clkao joined #perl6
00:02 hcchien joined #perl6
00:07 clkao joined #perl6
00:10 * jnthn -> sleep, night all
00:12 clkao joined #perl6
00:17 clkao joined #perl6
00:22 hcchien_ joined #perl6
00:35 amoc joined #perl6
00:40 c9s joined #perl6
00:54 agentzh joined #perl6
01:08 meppl joined #perl6
01:10 jaye joined #perl6
01:14 kimtaro joined #perl6
01:36 bacek joined #perl6
01:36 jaye left #perl6
01:38 eternaleye joined #perl6
02:40 justatheory joined #perl6
02:57 japhb joined #perl6
03:19 s1n moritz_: i'm utterly shocked that someone read my blog
03:19 s1n btw, i wasn't hating on p6 :)
03:21 donaldh joined #perl6
03:32 _REPLeffect joined #perl6
03:42 `alpha joined #perl6
03:43 `alpha hello
03:43 `alpha a little question:
03:43 `alpha will perl6 be faster than perl5 ?
03:44 orafu joined #perl6
03:46 eternaleye Hm, I just had an interesting insight. The comparative operators are specced as chain precedence, but Rakudo dispatches them to dyadic PIR subroutines. It there any way to write a variadic/slurpy sub in PIR? If so, that might be a way to make stuff like 5 < 3|8 < 4 DWIM (that is, be false), since the sub would autothread over all of the chained arguments, instead of doing it by pairs.
03:47 `alpha also this is rather funny that rakudo.org is running drupal
03:54 eternaleye `alpha: Perl 6 is a language specifications, rather than a single official interpreter like Perl 5 is. There are several implementations, the two most advanced being Rakudo (based on parrot, emphasis on regexes and sort-of emphasis on speed, based on Parrot, actively developed), and Pugs (emphasis on fun and neat ideas, written in haskell, currently unmaintained). Pugs is kinda slow ind somewhat outdated, Rakudo still has bottle
03:54 eternaleye but is being improved. Also, the general consensus from several People Who Almost Definitely Know This Better Than Me is that the Perl 5 interpreter does some scary and crazy things with regard to parsing and execution, which may not be a good idea to carry out in any of the Perl 6 implementations.
03:54 eternaleye s:2nd/based on [pP]arrot, //
03:55 eternaleye ... And I forgot the angle brackets on my self-correction.
03:56 `alpha uh ok
03:56 `alpha so that means no ?
03:56 `alpha or yes?
03:56 `alpha or dont know?
03:57 eternaleye `alpha: It means 'There will be more than one implementation, some of which may be faster, slower, or the same, with the faster ones likely making tradeoffs in other areas'
03:58 `alpha ok
04:05 justatheory joined #perl6
04:17 kimtaro joined #perl6
04:17 dalek joined #perl6
04:17 aindilis joined #perl6
04:17 simcop2387 joined #perl6
04:17 frodwith joined #perl6
04:17 jhorwitz joined #perl6
04:17 cavelife^ joined #perl6
04:17 spx2 joined #perl6
04:17 pdc303 joined #perl6
04:17 dukeleto joined #perl6
04:17 silug joined #perl6
04:17 rewt joined #perl6
04:17 avar joined #perl6
04:17 allbery_b joined #perl6
04:17 donaldh joined #perl6
04:17 japhb joined #perl6
04:17 amoc joined #perl6
04:17 fridim joined #perl6
04:17 stepnem joined #perl6
04:17 PacoLinux joined #perl6
04:17 frew|work joined #perl6
04:17 estrabd_ joined #perl6
04:17 Helios joined #perl6
04:17 baest joined #perl6
04:17 r0bby joined #perl6
04:17 xinming joined #perl6
04:17 Khisanth joined #perl6
04:17 cj joined #perl6
04:17 PZt joined #perl6
04:17 [particle] joined #perl6
04:17 Aisling joined #perl6
04:17 Infinoid joined #perl6
04:17 rhr joined #perl6
04:17 ascent_ joined #perl6
04:17 ingy joined #perl6
04:17 gfldex joined #perl6
04:19 xinming_ joined #perl6
05:30 jhuni joined #perl6
05:34 mberends joined #perl6
05:34 jan joined #perl6
06:18 LadyLuna1y joined #perl6
06:20 Maghnus joined #perl6
06:24 Maghnus joined #perl6
06:37 wollmers joined #perl6
06:47 iblechbot joined #perl6
06:49 pugs_svn r26797 | lwall++ | [t/spec] unspace.t had extra }
06:51 pugs_svn r26798 | lwall++ | [STD] parse =for paragraphs
06:51 pugs_svn r26798 | lwall++ | [STD] correctly recognize invocant marker after block+unspace
06:53 moritz_ jnthn: re env.t, feel free to remove it from spectest.data, or fix it for windows (if that works somehow)
06:55 moritz_ TimToady: feel free to remove more evals in unspace.t, if you want to use them to test STD.pm
06:57 pugs_svn r26799 | lwall++ | [STD] degrade "can't augment" to a warning for now
06:58 pugs_svn r26800 | lwall++ | [t/spec] open_closed.t missing {
07:01 TimToady moritz_: actually more worried about macros and slangs at the moment, since there are a couple failing tests from those
07:01 TimToady in particular, though, ../../t/spec/S14-traits/basic.t is bogus, since the macro def can't go outside its block to change the parsing of "implements"
07:02 moritz_ maybe the multi needs to be exported?
07:02 TimToady well, but it's in the same file
07:03 TimToady we don't have a policy about in-file imports
07:03 moritz_ right
07:04 moritz_ but that's a problem with the other tests too, no?
07:04 moritz_ just not a syntax problem
07:04 moritz_ because they reuse `is'
07:05 TimToady but the parser already knows about trait_auxiliary:<is>, so there's no problem
07:07 moritz_ that's what I meant with "just not a syntax problem"
07:08 moritz_ but if you'd actually run the code, you wouldn't get a proper dispatch to multi trait_auxiliary:<is>
07:08 moritz_ in the first test, for example
07:09 TimToady that's correct, it wouldn't be in the candidate list
07:16 DemoFreak joined #perl6
07:20 donaldh joined #perl6
07:21 TimToady zzz &
07:30 sri_kraih joined #perl6
07:43 ejs joined #perl6
07:51 payload joined #perl6
07:53 payload joined #perl6
07:56 payload1 joined #perl6
08:26 Matt-W Good morning
08:30 wollmers Matt-W: Guten Morgen
08:33 masak joined #perl6
08:36 H1N1[S] joined #Perl6
08:39 jferrero joined #perl6
08:41 masak ahoj, pumpkins.
08:41 lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
08:41 masak @messages
08:41 lambdabot TimToady said 15h 58m 46s ago: no, 'augment' only requires MONKEY_PATCHING when you're modifying something global, and a sublanguage is by definition lexically scoped
08:41 masak aye. makes sense.
08:42 masak @clear
08:42 lambdabot Messages cleared.
09:02 pugs_svn r26801 | wollmers++ | [t/spec] added test
09:04 masak wollmers: in commit comments, it's often a good thing to say what test you added, and where.
09:04 H1N1[A] joined #Perl6
09:07 jnthn H H
09:08 moritz_ good morning jnthn
09:08 masak salutations, jnthn.
09:10 jnthn wow, backlog was short today
09:10 moritz_ aye
09:11 moritz_ but with an unsolved problem nonetheless
09:11 masak o rly?
09:11 * masak backlogs
09:11 jnthn env.t on Windows
09:12 jnthn I'll take a look.
09:12 jnthn and see what I can do
09:13 * moritz_ meant the problem with the trait_auxiliary subs not being exported
09:13 masak that must have been from yesterday.
09:13 moritz_ http://irclog.perlgeek.de/perl6/2009-05-12#i_1135510
09:13 moritz_ (it's not a Rakudo problem right now)
09:14 moritz_ but it will be once jnthn++ implements traits
09:14 payload joined #perl6
09:14 masak ok.
09:18 masak TimToady: for what it's worth, I like the 'OK $foo, &[==], $bar, "message";' syntax better than the ':ok<message>' syntax. I think testing mostly works already in Perl, so I prefer reforms rather than revolutions.
09:18 * moritz_ agrees fully
09:18 moritz_ rakudo: &[==]
09:19 p6eval rakudo feca3f: OUTPUT«Syntax error at line 1, near "&[==]"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
09:19 masak std: &[==]
09:19 p6eval std 26801:  ( no output )
09:19 masak no output? is that good or bad?
09:19 moritz_ masak: care to submit as a TODO bug?
09:20 moritz_ masak: it means that something's wrong on the server side
09:20 masak moritz_: TODO bug -- you got it.
09:20 moritz_ s/bug/(ticket|masak)/ :-)
09:20 masak aye, the (ticket|masak) meme.
09:21 moritz_ std: 1
09:21 p6eval std 26801: OUTPUT«ok 00:02 35m␤»
09:21 moritz_ std: [==]
09:21 masak for aeons to come, people will automatically ask "masak? wasn't that the ticket guy?"
09:21 p6eval std 26801: OUTPUT«##### PARSE FAILED #####␤Unable to parse array composer; couldn't find final ']' at /tmp/ifwjhyWuvj line EOF:␤------> [32m[31m[0m␤    expecting noun␤FAILED 00:02 37m␤»
09:21 moritz_ std: [==] 1, 2
09:21 p6eval std 26801: OUTPUT«ok 00:03 38m␤»
09:21 moritz_ std: &[==]
09:21 p6eval std 26801: OUTPUT«ok 00:03 49m␤»
09:21 moritz_ masak: it was just temporary load on the server, or STD.pm rebuild or so
09:22 masak ack.
09:22 moritz_ sh: line 1:  1274 CPU time limit exceeded /usr/bin/perl tryfile ..
09:23 jnthn moritz_: I think I need more coffee before I understand the traits issue. :-)
09:23 pugs_svn r26802 | wollmers++ | [t/spec] added charcter and grapheme tests
09:23 Fuad joined #perl6
09:23 mberends joined #perl6
09:24 Fuad mberends:hello,my friend
09:24 Fuad Hello folks
09:24 * masak bows elaborately
09:24 * Fuad waves at masak
09:25 mberends Fuad, camel-butterflies: good morning one and all.
09:25 moritz_ jnthn: I can try to explain... traits are specified by multi subs, so 'my $x is foo' does a multi dispatch on trait_auxiliary:<is>. So that means that the multi that defines the new trait has to be in the candidate list at the point of the trait application
09:25 masak mberends: let me just implement the recursion thing, then I'll let go of the pumpkin, ok? :)
09:25 moritz_ jnthn: however in the test files, the multi only lives in the namespace of the role, and thus isn't part of the candidate list
09:26 mberends masak: :) go for it! having a go at S32-Temporal and time.t, fighting with infix:
09:26 masak sounds nice.
09:27 masak for anyone who's interested, I made a couple of significant updates to pun yesterday. it again has no known bugs.
09:27 * mberends git-pulls pun
09:28 masak anyone who'd care to implement prefix .= would make me very happy.
09:28 masak oh, do we have a ticket for that, by the way?
09:28 masak I think we only discussed it during NPW...
09:30 explorer__ joined #perl6
09:30 jnthn moritz_: I'd guess you'd have to write 'is export' on it; that said, I guess the next issue is "yeah but what imports it?"
09:30 jferrero joined #perl6
09:31 moritz_ jnthn: right
09:31 moritz_ maybe we have to call role_name.IMPORT() or something?
09:32 jnthn Maybe that.
09:32 payload1 joined #perl6
09:33 mberends masak: the RAKUDO comments in perl6n and perl6p should be removed now that perl6x contains the refactored $*IN.eof
09:33 masak mberends: oh! right.
09:33 masak thanks.
09:33 mberends nit, nit
09:34 masak pushed.
09:36 mberends updated. make.log complains about a non-existent projects dir
09:37 masak that's been a problem with proto for over a month.
09:37 masak same for all projects.
09:37 * mberends will look, a bit later
09:37 masak what's worse, proto doesn't pick it up as a build failure, but reports success.
09:38 mberends :( had that a few times, yes, it's related
09:38 mberends we do not get child process status back from run()
09:39 masak correct.
09:40 mberends bash knows the status as $? afair, we could echo that into Yet Another Temp File
09:40 masak bleuch, but yes.
09:40 mberends bleuch indeed. Rakudo backtick would be so nice...
09:41 moritz_ they'd be spelled qx/.../ or qqx/.../
09:41 mberends oh, that would not get status either :(
09:41 jnthn rakudo: class A { method m { say "hai" } }; class B is A { method m { say "oh "; nextsame() } }; my $x = B.new; my @c = $x.WALK(:name<m>); $x.@c();
09:41 p6eval rakudo feca3f: OUTPUT«oh ␤hai␤»
09:41 masak shouldn't run() return the status?
09:42 mberends moritz_: RAKUDO CAN HAZ QX//? W00T!
09:42 moritz_ mberends: I said that *would* be spelled...
09:42 * mberends gasps
09:42 moritz_ mberends: which implies "if it were implemented"
09:42 moritz_ there are no backticks in Perl 6
09:42 * mberends gulps
09:43 * masak writes evil code
09:43 masak I'm using a trick I call return-eval-sprintf-do-given.
09:43 masak makes for fairly compact code.
09:44 moritz_ (g++)++ # giving me index-out-of-bounds warnings at compile time
09:45 mberends moritz_, who is g?
09:45 mberends @karma g
09:45 lambdabot g has a karma of 58
09:46 masak gotta love that g.
09:46 jnthn @karma c
09:46 lambdabot c has a karma of 1
09:46 masak c--
09:46 masak c--
09:46 jnthn g is a much better letter than g.
09:46 masak c--
09:46 jnthn erm
09:46 jnthn than c
09:46 masak jnthn: they used to be the same letter.
09:46 moritz_ @karma g++
09:46 lambdabot g++ has a karma of 0
09:46 jnthn orly?
09:46 mberends @karma (g++)
09:46 lambdabot (g++) has a karma of 1
09:47 moritz_ g++++
09:47 moritz_ @karma g++
09:47 lambdabot g++ has a karma of 1
09:47 masak jnthn: http://en.wikipedia.org/wiki/C#History
09:47 masak jnthn: hence 'aleph, beth, gimel...'
09:48 jnthn Heh, wehn I said the "Classical Greek
09:48 jnthn Gamma"
09:48 jnthn I saw a Russian char before I read it was the Greek one. :)
09:48 masak oh, right.
09:48 masak jnthn: there is a certain similarity, yes. :)
09:48 jnthn erm, when it said...
09:49 jnthn masak: Also I'm used to seeing Russian much more than Greek. :-)
09:49 mberends @karma charlie
09:49 lambdabot charlie has a karma of 0
09:49 mberends @karma golf
09:49 lambdabot golf has a karma of 0
09:50 * mberends slightly surprised
09:50 masak jnthn: me too.
09:50 masak but the Greek alphabet fascinates me.
09:50 masak it doesn't seem _that_ hard to learn.
09:50 jnthn Nah, probably not.
09:51 jnthn I found the Russian alphabet pretty easy to leanr.
09:51 mberends when you lose your way in Athens, you learn fast
09:51 masak that was certainly true for Venice.
09:51 jnthn The rest of the language is proving less easy though. :-)
10:04 masak mberends: this page about Kwalitee has a lot of similarities to how I imagine WTOP might work. http://cpants.perl.org/kwalitee.html
10:12 eternaleye joined #perl6
10:12 * mberends recalls kwalitee discussions by audreyt and others several years ago
10:12 spx2_ joined #perl6
10:13 mberends then along came Perl Best Practices and its policeman, Perl::Critic
10:15 * mberends prefers perldoc perlstyle, particularly the last sentence.
10:15 masak :)
10:18 mberends programming under Devel::Cover and Perl::Critic felt almost like writing in Java :S
10:18 masak some people are drawn towards being bossed around.
10:19 masak there's a thin border between giving advice and making rules.
10:19 mberends submissive types don't frequent this channel, methinks
10:19 masak they might be lurkers here :)
10:23 mberends lurkers: hi
10:24 * masak lunches
10:36 alexn_org joined #perl6
10:50 Matt-W I think this channel is generally full of people who like to argue their opinions
10:51 jnthn No it's not.
10:51 rjc_ joined #perl6
10:51 jnthn ;-)
10:52 sbp yes it is
10:52 Matt-W ...plus a few people who are just contrary for the sake of it
10:52 jnthn \o/
10:53 sbp cue Buttons
10:54 mberends I would contend that There Is More Than One Way To...
10:54 Matt-W argue about Perl 6? Of course
10:56 mberends cue John Cleese
11:05 eternaleye joined #perl6
11:20 donaldh joined #perl6
11:33 meppl joined #perl6
11:41 * jnthn -> die Nomplatz, bbiab
11:41 masak so, is there a platz actually called "die Nomplatz", or was that a metaphor of some kind?
11:42 * mberends hopes it's a German 'die', not an English one
11:43 masak the platz where nom goes to die...?
11:45 mberends jnthn, come back! it's a trap!
11:49 payload joined #perl6
11:50 masak std: "foo" ~~ /foo $/[0] $/
11:50 p6eval std 26802: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/QsA5HOGXgj line 1:␤------> [32m"foo" ~~ /foo $/[0] [31m$/[0m␤    expecting any of:␤   infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED 00:04 36m␤»
11:51 masak is there any way to refer to $/ within a regex?
11:52 moritz_ std: "foo" ~~ m{ foo $/[0] }
11:52 p6eval std 26802:  ( no output )
11:52 moritz_ of course you can use $0 in this case
11:52 moritz_ std: "foo" ~~ m{ foo $/[0] }
11:52 p6eval std 26802: OUTPUT«ok 00:04 38m␤»
11:53 masak I'm not 100% clear on why LTM doesn't solve this for me, making it possible to refer to $/ even within a /.../-style regex.
11:54 moritz_ masak: because the /^...$/ pattern is too common
11:54 moritz_ masak: iirc TimToady actually hard-coded that somehow
11:54 masak moritz_: aye.
11:54 masak he discovered it when running STD on November.
11:59 amoc joined #perl6
11:59 masak moritz_: but "because the /^...$/ pattern is too common" has nothing to do with the abstract workings of the LTM.
12:00 * jnthn survived die Nomplatz. ;-)
12:00 jnthn (yes, it was an attempt at loldeutsch)
12:00 masak my question was more in the line of, if this wasn't special-cased, wouldn't the LTM allow me to refer to $/ without ambiguity?
12:01 jnthn std: "foo" ~~ /foo $/[0] /
12:01 p6eval std 26802: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/754cBhmBzD line EOF:␤------> [32m[31m[0m␤    expecting prefix or noun␤FAILED 00:04 36m␤»
12:01 Lolwat joined #perl6
12:01 jnthn Hmm.
12:03 dalek rakudo: b6c0eaf | jnthn++ | src/ (2 files):
12:03 dalek rakudo: A couple of minor fixes to get wrappers working a bit better. Wins us +20 tests we never passed before in wrap.t.
12:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b6c0eaf451b3cb8f50f04b1d595dfcd2e3469103
12:03 dalek rakudo: 0bfbc44 | jnthn++ | src/builtins/guts.pir:
12:03 dalek rakudo: Make sure we hand back return values when invoking with a candidate list.
12:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0bfbc44ac71b8cb1c8a0f5075cc3c8699438e387
12:04 pugs_svn r26803 | jnthn++ | [t/spec] Unfudge multiple wrapping tests, which we now pass.
12:06 pugs_svn r26804 | jnthn++ | [t/spec] Correct tests for $foo.@candidates, which made wrong assumptions about the deferal mechanism, and unfudge it.
12:07 pugs_svn r26805 | jnthn++ | [t/spec] Unfudge test for .signature on a sub that had been stored in an array, now that bug is fixed.
12:08 jnthn Well, that's 27 more passes at least...
12:09 masak jnthn++
12:09 dalek rakudo: 1df5839 | jnthn++ | src/ (3 files):
12:09 dalek rakudo: Factor sub cloning stuff into a macro so we don't have to spread it everywhere; also added it to array stores, so @a = &foo will now work properly.
12:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1df5839a51a2f4f3c6e9ae750fa550e50b487eca
12:10 jnthn rakudo: sub foo() { return 42 }; my %h = a => &foo; say %h<a>
12:10 p6eval rakudo feca3f: OUTPUT«foo␤»
12:10 moritz_ masak: you're right
12:11 masak moritz_: which particular case where I'm right are you referring to? :P
12:11 jnthn rakudo: my @foo; @foo>>.bar;
12:11 p6eval rakudo feca3f: OUTPUT«Statement not terminated properly at line 1, near ">>.bar;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
12:11 jnthn std: my @foo; @foo>>.bar;
12:11 p6eval std 26805: OUTPUT«ok 00:02 36m␤»
12:12 moritz_ masak: LTM and $/
12:17 abra joined #perl6
12:17 pmichaud good morning, #perl6
12:18 jnthn morning pmichaud
12:19 jnthn std: my @foo; @foo>>>>.bar;
12:19 p6eval std 26805: OUTPUT«ok 00:02 36m␤»
12:20 jnthn std: my @foo; @foo>>>>>>.bar; # oh rly?
12:20 p6eval std 26805: OUTPUT«ok 00:02 36m␤»
12:22 abra joined #perl6
12:23 lichtkind joined #perl6
12:25 abra joined #perl6
12:25 moritz_ oh hai pmichaud
12:26 ejs1 joined #perl6
12:28 masak morn', pmichaud.
12:32 finanalyst joined #perl6
12:33 jnthn moritz_: On env.t
12:34 jnthn It appears to run OK not under the harness.
12:34 jnthn Under the harness we fail
12:34 jnthn ok 7 - Environment gets propagated to child.
12:34 jnthn ok 10 - Environment gets propagated to child.
12:36 fridim joined #perl6
12:38 masak pmichaud, jnthn: I'm thinking of writing a Hague grant application. have two drafts and no real way to choose between them. would be interesting to get your feedback. http://gist.github.com/110397
12:39 moritz_ jnthn: my $command = qq!$*EXECUTABLE_NAME -e "\%*ENV.perl.say" $redir $tempfile!;
12:39 moritz_ jnthn: can you check if $command is something that runs on windows?
12:39 jnthn moritz_: That's *exactly* the line I'm looking at.
12:39 jnthn moritz_: My current suspicion is that $*EXECUTABLE_NAME comes out different under the harness.
12:40 jnthn in t/harness we have
12:40 jnthn $ENV{'HARNESS_PERL'} = './perl6';
12:40 jnthn Do you know how that gets used?
12:40 jnthn Is there any way that $*EXECUTABLE_NAME could be ending up with ./perl6 in it?
12:41 jnthn If so, that'll be the problem...
12:41 moritz_ jnthn: just insert an $*ERR.say($command) and run it through the harness
12:43 pmichaud my guess is that Test::Harness is taking the "./perl6" and switching it to a backslash.
12:43 jnthn moritz_: This patch fixes it.
12:43 jnthn http://gist.github.com/110460
12:43 pmichaud Whereas Rakudo's run() function doesn't.
12:43 payload joined #perl6
12:43 jnthn pmichaud: Actually, it seems the problem is that Test::Harness was *not* switching it. :-)
12:44 jnthn Though arguably Rakudo (probably Parrot though) coulda fixed it too...
12:44 pmichaud Note  Test::Harness, not t/harness
12:44 jnthn oh
12:44 jnthn t/harness
12:44 jnthn I patched t/harness
12:44 pmichaud if Test::Harness didn't switch it, then either (1)  "./perl6" would be valid, or (2) the programs wouldn't run at all.
12:45 pmichaud I'm fine with jnthn++'s patch
12:45 jnthn pmichaud: It's somehow managing to do (2), but end up putting ./perl6 as the name the program thinks it is run under.
12:45 pmichaud oh, wait.
12:45 jnthn Erm, it's managing to not fail (2)
12:45 pmichaud that's..... odd.
12:45 jnthn Yeah, I know.
12:46 moritz_ masak: there are teses for typed hashes in the test suite
12:46 masak moritz_: oh, ok.
12:46 masak fixing.
12:46 jnthn masak: reading
12:46 pmichaud masak:  which set of features would you envision as being more immediately useful to people writing Perl 6 programs ?
12:47 masak pmichaud: good question.
12:47 moritz_ masak: I think your first proposal is more likely to be accepted (because it's actual implementation, not "just" tests)
12:47 pmichaud Whichever that is, that's the one we should prioritize first.
12:47 masak the Set/Bag/etc thing has a lot of potential, but hard to say what exactly. Buf would be immediately useful in Web.pm.
12:48 moritz_ masak: and IMHO in the first one you should also mention the relation and conversion between Buf and Str
12:48 masak the S09 stuff could easily attract people to Perl 6 by its relative coolness.
12:48 moritz_ ie decoding a Buf becomes a Str, and the ohter way round
12:48 masak moritz_: indeed. I'll add that.
12:48 moritz_ things like sized arrays mostly give you speed benefit
12:49 moritz_ but whoever wants speed now won't pick rakudo.
12:49 masak moritz_: I also agree that the second one is more difficult to sell. I didn't add implementation, because I didn't want to take work away from jnthn :)
12:49 jnthn masak: Take it! Take it!
12:49 masak :)
12:49 pmichaud at least for Rakudo, the second one is significantly more difficult to implement, I think.
12:49 masak aye.
12:49 masak the former one is relatively easy work.
12:49 masak ok, that settles it.
12:50 jnthn masak: Having read through S09, there's a lot more than "reasonably complicated syntactic sugar" going on there too. :-)
12:50 masak I'll flesh out the first one, and maybe come back to the second one if no-one beats me to it.
12:50 masak jnthn: aye, that might have been an unfortunate way of putting it... :)
12:50 jnthn masak: I'd say your first proposal looks like a more realistic and sensible one.
12:51 masak but to me most of S09 actually seems like sugar, in a very wide sense.
12:51 * masak goes with the first one
12:51 masak moritz_, jnthn, pmichaud: thanks for your feedback. it was just what I needed.
12:51 jnthn masak: Some of S09 basically will be, but there's a lot of really hard stuff in there too.
12:52 masak indubitably.
12:52 wollmers joined #perl6
12:52 pmichaud compact structs and adverb-adorned indexes come to mind as being challenging.
12:52 masak even the 1..* slice problem is hard :)
12:53 pmichaud as will native sized types
12:53 jnthn masak: It's interesting you mention the Java collection types. I remember playing with some of those years ago and quite liking having a Set-ish type available.
12:53 jnthn compact structs will be really hard.
12:53 masak rakudo: my @a = <0 1 2 3>; say @a[1..*].perl
12:53 p6eval rakudo 1df583: OUTPUT«["1", "2", "3", undef]␤»
12:53 jnthn masak: Ah, I think we know how to fix that one. :-)
12:54 pmichaud did we ever nail that down, precisely?
12:54 masak jnthn: I really like the Java collections, especially after reading that tutorial.
12:54 pmichaud anyway, yes, we have good ideas about how to deal with the 1..* ranges.
12:54 masak not saying Perl should mimic Java in any big way, just that there are neat ideas in there.
12:54 jnthn pmichaud: IIRC, 1..* goes to multi infix:<..>(Int $start, Whatever) { ... }
12:54 jnthn And constructs a range object.
12:55 jnthn That is, it does _not_ generate a closure { 1..$_ }
12:55 jnthn Which is what *-1 does.
12:55 pmichaud jnthn: I was thinking of the   1..(*-1)   case
12:56 jnthn pmichaud: Oh, that one is harder.
12:56 pmichaud :-)
12:56 pmichaud aha!  I know how we can finish Perl 6!  Let's just skip the "harder" cases!  :-P
12:56 jnthn pmichaud: I think this ended with TimToady pondering that we may need a different type for Whatever-Closures.
12:56 pmichaud jnthn: right.  Which worries me just a bit, because often when things are left with TimToady ponderances, we come back with complete refactors of what has already been done.  :-)
12:57 jnthn True. :-|
12:57 jnthn It is the downside of finding edge cases.
12:58 pmichaud Today I feel like working on operator overloading.
12:58 Matt-W Wooooooooo
12:58 jnthn Yay!!! :-D
12:58 moritz_ a worthy goal.
12:58 pmichaud or at least defining Rakudo operators in Perl 6.
12:58 * Matt-W likes operator overloading
12:58 jnthn pmichaud: BTW, we now pass all of wrap.t (including the annoying closure-y tests we failed before) apart from the bits that relate to temp.
12:58 masak dang, I never got far enough to faking them. :P
12:59 pmichaud jnthn: \o/
12:59 Matt-W jnthn++
12:59 moritz_ deal: you give me custom operator and lazy lists, and I'll implement infix:<...>, the coolest Perl 6 operator ever :-)
12:59 moritz_ afk&
12:59 pmichaud I still need to fix @_ and %_.... but I think I'll do operators first (slightly more -Ofun)
12:59 jnthn Yes, do. :-)
12:59 jnthn I'm procrastinating the p6object refactor too.
13:00 pmichaud I'm fine with procrastinating p6object for as long as you want :-)
13:00 jnthn By doing parallel dispatch...
13:00 Matt-W That is slightly disturbing
13:00 jnthn pmichaud: OK, but I either do it, or need another hack in Rakudo.
13:00 ruoso joined #perl6
13:00 jnthn pmichaud: Where said hack involves a dynop that v-table-swaps every object we create.
13:01 jnthn ...so I might just do the refactor. :-)
13:02 ruoso HellO!
13:02 lichtkind ruoso: moin
13:05 masak moritz_: I might regret asking, but what does infix:<...>, the coolest Perl 6 operator ever, do?
13:07 dalek rakudo: 7cc0b68 | jnthn++ | src/parser/grammar.pg:
13:07 dalek rakudo: Parse @foo>>.bar in a pretty STD.pm-ish kinda way.
13:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7cc0b688ef413f04bf5d49f42b7a878e47b64d26
13:07 dalek rakudo: 85e5b9c | jnthn++ | t/harness:
13:07 dalek rakudo: Twiddle the test harness patch to perl6 on Win32 so env.t works under the harness. I'm still a little bewildered how we ever managed to run any tests...
13:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/85e5b9c425db1d20386aec3fef152f72a4fe66d4
13:25 dalek rakudo: 7d6bc0a | pmichaud++ | docs/spectest-progress.csv:
13:25 dalek rakudo: spectest-progress.csv update: 387 files, 11187 passing, 0 failing
13:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7d6bc0a9b2a17291d6a01731ce357ec2e49f3bd8
13:47 skids joined #perl6
13:48 exodist joined #perl6
13:51 alester joined #perl6
14:00 masak frew|work: I can't help thinking that the Dallas.p6m are more on-topic on p6u than on p6l... I'm not bothered though, just pointing it out.
14:00 masak s/p6m/p6m announcements/
14:01 mizioumt joined #perl6
14:03 nihiliad joined #perl6
14:11 moritz_ masak: it constructs lists accordiing to closures (or magic)
14:12 moritz_ masak: 1, 1 ... { $^a + $^b} # fibonacci numbers
14:12 masak oh, right.
14:12 jnthn scary :-)
14:13 * jnthn looks forward to operator overloading
14:13 * masak too
14:15 masak I've promised to make a set operations module for Rakudo when that happens.
14:15 jnthn :-)
14:17 frew|work masak: p6u?
14:17 frew|work ah
14:17 frew|work users
14:17 frew|work got it
14:18 frew|work I didn't even know there was such a thing
14:18 masak frew|work: the p6l is mostly for language discussion.
14:18 frew|work yeah, I understand
14:18 frew|work someone did complain, so I removed p6l from the list
14:18 LadyLunacy joined #perl6
14:19 frew|work what we need to do is set up the actual web space (dallas.p6m.org) but we haven't had the chance
14:19 masak frew|work: great work with getting the p6m going, by the way. it'll be fun to follow the fruits of that group.
14:19 frew|work it's been fun
14:20 drbean joined #perl6
14:20 masak frew|work: get people to publish the things they write, so we can look at them, and add them to the growing list of projects!
14:20 frew|work definitely
14:20 frew|work most of the people who came last time didn't know hardly anything about p6
14:20 masak I understand.
14:20 masak sometimes I feel that way, too. :)
14:20 frew|work but yeah, I'm sure that as things progress we'll do our best to publish stuff
14:21 jnthn What, you mean if I attend I'll get to understand Perl 6?
14:21 jnthn :-)
14:21 frew|work s1n's working on something, but he doesn't really want to announce it yet it seems
14:22 frew|work jnthn: I didn't say we'd make you understand it; just that most people don't :-)
14:22 masak frew|work: a module that confuses subs with methods, perhaps? :)
14:22 frew|work hahaha
14:22 jnthn harsh!
14:22 jnthn :-)
14:22 masak hm, that was a bit mean. I don't wish to be mean. ;)
14:23 masak sorry, s1n. :)
14:23 frew|work I can see where he's coming from with that argument
14:23 masak me too.
14:23 moritz_ that reminds me, I wanted to write a blog post about the differences between subs and methods
14:23 frew|work it makes sense for a java dev; but to me, a p5 dev, I'm glad to have the differentiation
14:24 frew|work btw are any of you in the iron man list?  because if not and you already blog you might as well join
14:24 payload joined #perl6
14:24 frew|work (http://www.shadowcat.co.uk/blog/matt-s-trout/iron-man/)
14:24 * masak is on the list
14:25 moritz_ frew|work: I tried, but they took my RSS feed out because it had no dates in it; then I implemented dates in the RSS feed, and mst stopped responding to my mails
14:25 masak moritz_: did your mails have dates in them? :)
14:25 moritz_ masak: I think so :-)
14:26 frew|work haha, weird
14:26 frew|work he is in Perl/#dbix-class all day
14:26 frew|work so if you really want to talk to him he won't ignore you there
14:27 masak he's on #catalyst all day as well.
14:27 * frew|work is glad he can use IRC at work
14:31 jnthn aw, ffs, why won't the unicode version of the parallel dispatch op parse...
14:31 Matt-W Hmm blogging about Perl 6, eh
14:31 Matt-W I should do that again
14:31 frew|work the more people to do it the better really
14:31 frew|work we need more....perlvangelists?
14:31 masak indeed.
14:31 Matt-W Well I do evangelism at work
14:31 Matt-W for Perl 5 and Perl 6
14:32 Matt-W but that's only one office
14:34 jnthn rakudo: token sigh { '»' }; say ('$foo».bar' ~~ /<sigh>/)
14:34 p6eval rakudo 7d6bc0: OUTPUT«»␤»
14:34 jnthn hmm
14:34 jnthn rakudo: token sigh { '»' | '>>' }; say ('$foo».bar' ~~ /<sigh>/)
14:34 p6eval rakudo 7d6bc0: OUTPUT«»␤»
14:35 jnthn :-S
14:35 masak looks fine to me.
14:35 jnthn yeah, until I do the same in grammar.pg...
14:35 masak :-S
14:35 jnthn oh
14:36 jnthn I think my editor screwed up my copy-paste of it from S12.
14:36 kimtaro joined #perl6
14:36 * masak wisely suppresses snarky comments that might start an editor war
14:36 jnthn ah, yes
14:37 jnthn masak: Oh, it's visual studio, bring it on!
14:37 masak jnthn: nah. too easy. :P
14:37 jnthn I mean, uh, uh, it was emacs!
14:37 jnthn ;-)
14:37 masak jnthn: now you're just making stuff up. :)
14:37 frew|work well, I think for p6 evangelism should be to people who care
14:37 jnthn yeah (really (really really (I am)))
14:37 frew|work not at work
14:47 mberends t/spec/S32-Temporal/time.t tests a times() function, presumably Pugs has it, but Rakudo doesn't, and S32-Temporal doesn't spec it. Fudge, Skip or Delete times() test?
14:49 moritz_ mberends: delete.
14:49 mberends :) thanks moritz_
14:55 [particle]1 joined #perl6
14:56 jferrero joined #perl6
15:07 nbrown_ joined #perl6
15:11 ejs joined #perl6
15:13 [1]nbrown joined #perl6
15:16 pmurias joined #perl6
15:17 pugs_svn r26806 | jnthn++ | [t/spec] Unfudge some parallel dispatch tests in S03-operators/hyper.t and remove a stray :todo.
15:18 pugs_svn r26807 | jnthn++ | [t/spec] Fix up syntax (wrong type of indirect dispatch) in parallel-dispatch.t and fudge it for Rakudo.
15:20 moritz_ jnthn: sorry about those, I had my mind elsewhere it seems
15:20 dalek rakudo: ee9d917 | jnthn++ | src/parser/grammar.pg:
15:20 dalek rakudo: Fix parsing of parallel dispatch unicode form.
15:20 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/ee9d917829a13aad05bab0b4a453525659abdea7
15:20 dalek rakudo: 65102d2 | jnthn++ | src/ (2 files):
15:20 dalek rakudo: Implement parallel dispatch (>>. and unicode variant). Handles most cases.
15:20 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/65102d223d7a72ff5c2df066888cf8faa47dfb8e
15:20 iblechbot joined #perl6
15:20 jnthn moritz_: No worries, wasn't a big deal. :-)
15:20 donaldh joined #perl6
15:20 jnthn Thanks for writing the tests!
15:21 jnthn We pass all but six.
15:21 jnthn 2 are for reasons unreated to parallel dispatch.
15:22 moritz_ is grammar.pg actually latin-1?
15:22 jnthn moritz_: I ain't sure...
15:23 jnthn moritz_: I just did what worked. :-)
15:23 jnthn I think it's meant to be UTF-8...
15:26 dalek rakudo: f3d2dab | jnthn++ | t/spectest.data:
15:26 dalek rakudo: Add S12-methods/parallel-dispatch.t to spectest.data.
15:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f3d2dab6361b748f0dc2c38fff5979c8100a8fe9
15:26 dalek rakudo: b670f01 | jnthn++ | t/spectest.data:
15:26 dalek rakudo: Add missing #icu to various tests that now need it.
15:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b670f015d495f66f88836605c5c94aef051c0d27
15:29 pmurias jnthn: i don't think latin-1 should be used in the test suit except when explicitly testing latin-1 decoding/encoding
15:29 lambdabot pmurias: You have 1 new message. '/msg lambdabot @messages' to read it.
15:30 moritz_ pmurias: the changes were in rakudo, not in the test suite
15:30 M_o_C joined #perl6
15:30 moritz_ 0xc2 0xab -> 0xbb
15:30 moritz_ that looks very much like UTF-8 -> Latin1 to me
15:31 jnthn moritz_: I think it's consistent with what's elsewhere in grammar.pg - or at least, what works.
15:31 moritz_ rakudo: say chr(:16('bb'))
15:31 p6eval rakudo 7d6bc0: OUTPUT«»␤»
15:31 moritz_ jnthn: I don't mind, I was just surprised
15:31 mhsparks joined #perl6
15:31 jnthn moritz_: I didn't know either way, tbh.
15:32 jnthn boo, >>.= doesn't work.
15:32 moritz_ rakudo: say <a bc defg>>>.chars
15:33 p6eval rakudo 7d6bc0: OUTPUT«9␤»
15:33 moritz_ rakudo: say (<a bc defg>)>>.chars
15:33 p6eval rakudo 7d6bc0: OUTPUT«9␤»
15:33 moritz_ rakudo: say (<a bc defg>)>>.chars.perl
15:33 p6eval rakudo 7d6bc0: OUTPUT«9␤»
15:33 jnthn > say <a bc defg>>>.chars
15:33 moritz_ ERAKUDOTOOOLD
15:33 jnthn 124
15:33 lambdabot Not in scope: `say'Not in scope: `bc'Not in scope: `defg'Not in scope: `>>>...
15:34 jnthn Yeah
15:37 moritz_ rakudo: say (<a bc defg>)>>.chars.perl
15:38 p6eval rakudo b670f0: OUTPUT«[1, 2, 4]␤»
15:38 moritz_ it's so nice to be root :-)
15:39 jnthn Also locally now
15:39 jnthn > $_ = -1; .=abs; .say;
15:39 jnthn 1
15:39 lambdabot <no location info>: parse error on input `$'
15:39 jnthn I think somebody even asked for that recently...
15:39 moritz_ masak++ did
15:39 jnthn masak++ may be happy then :-)
15:40 moritz_ rakudo: my @a = <b a c>; say @a.=sort;
15:40 jnthn rakudo: my @a = { say 1 }, { say 2 }; @a>>.();
15:40 p6eval rakudo b670f0: OUTPUT«abc␤»
15:40 p6eval rakudo b670f0:  ( no output )
15:41 masak is that .= I see?
15:41 masak \o/
15:41 moritz_ bug!
15:41 jnthn masak: No
15:41 masak oh. :/
15:41 jnthn masak: well yes, but nothing new
15:41 jnthn rakudo: $_ = -1; .=abs; .say; # is what you wanted, no?
15:41 p6eval rakudo b670f0: OUTPUT«Syntax error at line 1, near ".=abs; .sa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
15:41 masak yes...
15:41 jnthn yes, that works locally now.
15:41 jnthn spectesting.
15:42 jnthn Also @a>>.=abs for example works.
15:42 masak \o/
15:42 jnthn my @a = [1,2,3],[4,5,6]; say (@a>>.[1]).perl
15:42 jnthn rakudo: my @a = [1,2,3],[4,5,6]; say (@a>>.[1]).perl
15:42 p6eval rakudo b670f0: OUTPUT«Unimplemented or invalid use of parallel dispatch at line 1, near ").perl"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
15:43 jnthn Guessed so.
15:45 moritz_ rakudo: say <a b c>>>.+uc.perl
15:45 p6eval rakudo b670f0: OUTPUT«["A", "A", "A", "B", "B", "B", "C", "C", "C"]␤»
15:45 moritz_ should that flatten?
15:46 moritz_ I don't think so
15:46 Psyche^ joined #perl6
15:46 moritz_ oh, and why do we have two matching 'uc' multis?
15:46 jnthn moritz_: No, I don't think it should.
15:46 moritz_ rakudo: say <a b c>>>.+ucfirst.perl
15:46 p6eval rakudo b670f0: OUTPUT«["A", "A", "A", "B", "B", "B", "C", "C", "C"]␤»
15:46 moritz_ rakudo: say <a b c>>>.+chars.perl
15:46 jnthn moritz_: Which is why the tests relating to that are still fudged in parallel-dispatch.t. :_)
15:46 p6eval rakudo b670f0: OUTPUT«[1, 1, 1, 1, 1, 1, 1, 1, 1]␤»
15:46 moritz_ jnthn: ah.
15:47 jnthn Huh? Why are we calling so many methods...
15:47 jnthn rakudo: 'a'.WALK(:name<chars>).perl.say
15:47 p6eval rakudo b670f0: OUTPUT«Null PMC access in find_method()␤current instr.: 'parrot;P6metaclass;parents' pc 251324 (src/gen_actions.pir:0)␤»
15:47 jnthn rakudo: 'a'.WALK(:name<chars>)
15:47 p6eval rakudo b670f0: OUTPUT«Null PMC access in find_method()␤current instr.: 'parrot;P6metaclass;parents' pc 251324 (src/gen_actions.pir:0)␤»
15:47 moritz_ is it .WALK or .^WALK?
15:48 jnthn rakudo: 42.WALK(:name<chars>)
15:48 p6eval rakudo b670f0:  ( no output )
15:48 moritz_ afk
15:48 jnthn rakudo: 42.WALK(:name<abs>).perl.say
15:48 jnthn moritz_: .WALK.
15:48 p6eval rakudo b670f0: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'␤current instr.: 'parrot;P6metaclass;dispatch' pc 251618 (src/gen_actions.pir:23173)␤»
15:48 jnthn According to S12
15:48 masak mberends: http://gist.github.com/110547 # look ma, recursive dependencies
15:49 jnthn masak: nice!
15:50 mikehh joined #perl6
15:51 masak jnthn: proto is getting pretty decent. :)
15:51 jnthn masak: Working up to another nobel prize? :-)
15:52 masak I keep telling you folks, that prize was due to an unfortunate misunderstanding!
15:52 jnthn Well, there could always be another one.
15:52 jnthn ;-)
15:53 masak hm, Economy perhaps...
15:54 mncharity joined #perl6
15:55 mncharity rakudo: sub postfix:<km> ($n) {3}; say 4 km;
15:55 p6eval rakudo b670f0: OUTPUT«Malformed routine definition at line 1, near "postfix:<k"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
15:55 mikehh joined #perl6
15:56 mncharity sub postfix:km ($n) {3}; say 4 km;
15:56 jnthn std: sub postfix:km ($n) {3}; say 4 km;
15:56 TimToady std: sub postfix:<km> ($n) {3}; say 4\km
15:56 p6eval std 26807: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/OSwupQmts1 line 1:␤------> [32msub postfix:km ($n) {3}; say 4 [31mkm;[0m␤    expecting any of:␤       infix or meta-infix␤      infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤FAILED
15:56 p6eval ..00:02 37m␤»
15:56 p6eval std 26807: OUTPUT«ok 00:03 44m␤»
15:56 jnthn :-)
15:56 TimToady absolute rule, postfixes may not have whitespace without \
15:57 TimToady std: sub postfix:<km> ($n) {3}; say 4\ km
15:57 p6eval std 26807: OUTPUT«ok 00:03 44m␤»
15:57 masak ok, heading home. there'll be a November hackathon tonight. see y'all then.
15:57 TimToady rakudo: say 1\i
15:57 p6eval rakudo b670f0: OUTPUT«Statement not terminated properly at line 1, near "\\i"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
15:57 TimToady rakudo: say 1\ i
15:57 p6eval rakudo b670f0: OUTPUT«0+1i␤»
15:57 TimToady okay, rakudo doesn't allow \-only yet
15:57 jnthn rakudo: say 1i
15:57 p6eval rakudo b670f0: OUTPUT«0+1i␤»
15:58 TimToady yes, but $xi doesn't work
15:58 justatheory joined #perl6
15:58 TimToady std: $x\i
15:58 p6eval std 26807: OUTPUT«Potential difficulties:␤  Variable $x is not predeclared at /tmp/DG6NBBPxLV line 1:␤------> [32m$x[31m\i[0m␤ok 00:02 36m␤»
15:58 jnthn TimToady: Oooh, I was in the bit of the grammar that might need tweaking for Rakudo to handle that not long ago...
15:59 TimToady at the same time we decided that $x.i was just a method call, not postfix:<i>
15:59 jnthn *nod*
15:59 jnthn rakudo: 1.i
15:59 p6eval rakudo b670f0: OUTPUT«Method 'i' not found for invocant of class 'Int'␤current instr.: 'parrot;P6metaclass;dispatch' pc 251808 (src/gen_actions.pir:0)␤»
15:59 jnthn Yay. :-)
15:59 TimToady rakudo: 1.1.i
15:59 p6eval rakudo b670f0: OUTPUT«Method 'i' not found for invocant of class 'Num'␤current instr.: 'parrot;P6metaclass;dispatch' pc 251808 (src/gen_actions.pir:0)␤»
16:00 TimToady rakudo: 1.1.1.i  # :)
16:00 p6eval rakudo b670f0: OUTPUT«Statement not terminated properly at line 1, near ".1.i  # :)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
16:00 mncharity re absolute rule, any idea how much breaks if a module tweaks the grammar to permit a space?  "3 km" is SI, "3\km" not so much.
16:00 TimToady std: 1.1.1.i  # :)
16:00 jnthn std: 1.1.1.i
16:00 p6eval std 26807: OUTPUT«##### PARSE FAILED #####␤Number contains two decimal points (missing 'v' for version number?) at /tmp/A1lSldHkIG line 1:␤------> [32m1.1.[31m1.i  # :)[0m␤FAILED 00:02 35m␤»
16:00 p6eval std 26807: OUTPUT«##### PARSE FAILED #####␤Number contains two decimal points (missing 'v' for version number?) at /tmp/syclKJd3wj line 1:␤------> [32m1.1.[31m1.i[0m␤FAILED 00:02 35m␤»
16:00 TimToady there you go :)
16:01 jnthn std is such a show-off in the errors department. :-)
16:01 mncharity lol
16:01 TimToady :D
16:02 ruoso joined #perl6
16:03 TimToady but that absolute rule is based on the absolute rule that Perl 6 always knows whether it's expecting a term or an infix, and there is ambiguity betwen prefixes and postfixes there
16:03 _mg_ joined #perl6
16:03 * ruoso back from lunch
16:03 TimToady (if you allow space before postfix)
16:04 TimToady it's very important to extensibility and error reporting
16:04 TimToady it's the way in which the Perl 6 syntax is "self clocking"
16:04 TimToady like a good barcode
16:05 TimToady it's like there's a parity check built right into the syntax
16:06 TimToady postfixes have to be affixed, not wandering :)
16:07 TimToady (we're not so picky about prefixes, admittedly)
16:07 jnthn un doubtably.
16:08 jnthn std: sub prefix:<un>($what) { }; un $dead;
16:08 p6eval std 26807: OUTPUT«Potential difficulties:␤  Variable $dead is not predeclared at /tmp/sE01VKpLHp line 1:␤------> [32msub prefix:<un>($what) { }; un $dead[31m;[0m␤ok 00:03 41m␤»
16:09 ruoso std: sub prefix:<un>($what) { }; sub un { }; un $dead;
16:09 p6eval std 26807: OUTPUT«Potential difficulties:␤  Variable $dead is not predeclared at /tmp/EcXJKiSSOQ line 1:␤------> [32mix:<un>($what) { }; sub un { }; un $dead[31m;[0m␤ok 00:03 41m␤»
16:11 ruoso std: sub un { }; un $dead;
16:11 p6eval std 26807: OUTPUT«Potential difficulties:␤  Variable $dead is not predeclared at /tmp/nmppEfp2tK line 1:␤------> [32msub un { }; un $dead[31m;[0m␤ok 00:02 36m␤»
16:11 ruoso TimToady, I guess there should be some checking to avoid declaring a sub name that would clash with a prefix...
16:12 mncharity re postfix, ok, thanks.  i'll wait for grammar mod'ing, then get back to doing SI.
16:18 mncharity rakudo: sub postfix:<⁴> ($n){3}; say 2⁴;
16:18 p6eval rakudo b670f0: OUTPUT«Malformed routine definition at line 1, near "postfix:<\u2074"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
16:19 mncharity std: sub postfix:<⁴> ($n){3}; say 2⁴;
16:19 p6eval std 26807: OUTPUT«ok 00:03 43m␤»
16:20 mncharity rakudo: sub infix:<∙> ($a,$b) {3}; sub m (){4}; sub s (){5}; say m∙s;
16:20 p6eval rakudo b670f0: OUTPUT«Malformed routine definition at line 1, near "infix:<\u2219> "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
16:21 jnthn mncharity: Operator overloading is still being implemented in Rakudo.
16:21 mncharity overloading?
16:21 jnthn well, overloading/defining a new operator...it's similar enough.
16:22 mncharity ah, ok.  thanks
16:22 jnthn Just that one already has an entry in the tokenizer and the other doesn't. :-)
16:22 jnthn But either way it's a new multi candidate.
16:22 mncharity well, not with sub, but nod.
16:23 jnthn Ah, yes, true.
16:23 mncharity delights to look forward to.  :)
16:23 jnthn std: sub postfix:< km>($n) { }; 4 km;
16:24 p6eval std 26807: OUTPUT«ok 00:03 43m␤»
16:24 jnthn LOL!!
16:24 TimToady gah
16:24 mncharity lol :)
16:24 jnthn Well, that's one way to do it. :-)
16:24 mncharity it works! :)
16:25 * moritz_ amused
16:25 mncharity rakudo: macro foo () returns Str {"3"}; say foo;
16:25 p6eval rakudo b670f0: OUTPUT«Statement not terminated properly at line 1, near "returns St"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
16:25 moritz_ no macros in rakudo.
16:25 mncharity ah, ok.  thanks
16:27 TimToady okay, it's because the add_macro cheater method turns < km> into qr/ km/
16:27 TimToady well, qr< km> actually
16:28 jnthn TimToady: Awww...you mean you're going to break^Wfix it?
16:28 jnthn ;-)
16:28 TimToady actually, just q< km>
16:28 TimToady you bet I am
16:29 TimToady it's antithetical to the spirit of <...>
16:29 moritz_ at the very least it shoould be something like macro postfix:sym<km> is parsed { \s+ <sym } ...
16:30 TimToady I'd do \s? <sym> myself
16:30 TimToady as long as I was cheating that badly
16:30 moritz_ ok ;-)
16:35 mncharity re macro postfix:sym<km> is parsed, ah, nifty.
16:36 TimToady of course, nobody implements that yet :)
16:36 mncharity not sure how STD will implement that, but nm
16:36 mncharity nod
16:37 TimToady thinking about macros for STD, but really need to convert gimme5 to viv first so I can compile bits of code back to perl 5 more easily
16:38 moritz_ is STD.pm purely recursively descending? or does it also use an optable parser (like rakudo/PGE)?
16:39 pmichaud moritz_: EXPR is STD.pm's optable parser
16:39 moritz_ pmichaud: ah, thought so (but wasn't sure)
16:41 gbacon joined #perl6
16:45 pmichaud grammar.pg really ought to be utf8, not latin-1.  Fixing.
16:48 pugs_svn r26808 | jnthn++ | [t/spec] Test parallel dispatch to privates and mutating parallel dispatch.
16:48 jnthn pmichaud: ooh, I just pushed to it...
16:48 jnthn pmichaud: So you'll probably need to grab latest.
16:49 pmichaud now grabbed latest.  I'm getting a build error.
16:49 pmichaud (so trying again without local changes)
16:49 jnthn can haz info?
16:49 jnthn ah, ok
16:50 jnthn I thought you meant straight from the repo.
16:50 moritz_ git-stash ftw
16:50 jnthn yeah
16:50 jnthn I use that quite a bit. :-)
16:50 moritz_ (for trying a clean checkout if you haven't committed yet)
16:50 pmichaud what's a good test file for the ». syntax?
16:50 jnthn But I hate to imagine by now what's sat in my stash.
16:50 jnthn pmichaud: S12-methods/parallel-dispatch.t
16:50 pmichaud okay, thanks.
16:51 jnthn Erm, it's got a few fudges in it.
16:51 jnthn So the .rakudo
16:51 pmichaud oh, I just do  "make t/spec/S12-methods/parallel-dispatch.t"
16:51 pmichaud which handles any fudging needed.
16:51 jnthn lucky you
16:51 jnthn not on Windows it doesn't!
16:52 jnthn 't\spec\S12-methods\parallel-dispatch.t' is up-to-date
16:52 dalek rakudo: 89539a9 | jnthn++ | src/ (3 files):
16:52 dalek rakudo: Implement parsing of $foo.=bar to work as STD.pm does, rather than falling back to infix:<.=> as we did before. This means that .=foo alone is now a mutating call on $_ and also that >>.= now works.
16:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/89539a978b121ce9f6b92ded383b2f783fd47642
16:52 pmichaud on windows, perhaps:   make t\spec\S12-methods\parallel-dispatch.t   ?
16:52 jnthn ok, I did that.
16:52 jnthn (assumed I'd need to)
16:52 jnthn never tried it without that actually...
16:52 moritz_ # Run a single test
16:52 moritz_ t/*.t t/*/*.t t/*/*/*.t: all Test.pir
16:53 jnthn No, same issue with forward slashes too.
16:53 moritz_ maybe all those / need to be replaced with \ on windows?
16:53 mizioumt1 joined #perl6
16:53 jnthn moritz_: maybe
16:53 pmichaud they aren't already?
16:53 pmichaud I thought the makefile generation replaced / with \
16:53 moritz_ dunno, I can't test it
16:53 jnthn moritz_: oh, they are
16:54 jnthn t\\*.t t\\*\\*.t t\\*\\*\\*.t: all Test.pir @$(HARNESS_WITH_FUDGE) --verbosity=1 $@
16:54 PewPew joined #perl6
16:54 pmichaud oops!
16:54 moritz_ is double backslashes right?
16:54 pmichaud I bet those need to be single slashes.
16:54 pmichaud $otherfix FAIL
16:54 pmichaud $maketext =~ s{\\\*}{\\\\*}g;
16:55 jnthn pmichaud: Just tried makign them single in the makefile
16:55 jnthn and it doesn't help either.
16:55 pmichaud okay, possibly not worth worrying about then.
16:55 jnthn no, it's not bothered me so far.
16:55 jnthn masak can haz .=foo now :-)
16:55 jnthn Now, does we have any tests...
16:56 moritz_ not really :(
16:56 moritz_ ack '\s\.=\w' t/spec/
16:56 moritz_ finds one in a test description :/
16:56 jnthn moritz_: Is S03-operators\inplace.t a sensible place?
16:56 jnthn I can add one.
16:56 moritz_ jnthn: it is indeed
16:56 alester left #perl6
16:57 alester joined #perl6
16:57 moritz_ I can simplify some of tests in there
16:57 moritz_ and add it to spectest.data
16:58 jnthn oh, it's not in spectest.data?
16:58 jnthn it's fudged...
16:58 moritz_ that doesn't mean we run it ;-)
16:58 jnthn heh, you're right too!
16:59 jnthn oh, and it has parse errors...
16:59 jnthn moritz_: I'll ci a test and leave the rest for you. :-)
16:59 moritz_ jnthn: ok.
17:00 pugs_svn r26809 | jnthn++ | [t/spec] Test for .= on $_.
17:00 jnthn Thanks. moritz++ :-)
17:01 jnthn rakudo: class A { method m { 1 } }; class B is A { method m { 2 } }; B.new.*m.perl.say
17:01 p6eval rakudo b670f0: OUTPUT«[2, 1]␤»
17:01 jnthn rakudo: class A { method m { 1 } }; class B is A { method m { 2 } }; B.new.*m.WHAT.say
17:01 p6eval rakudo b670f0: OUTPUT«List()␤»
17:01 jnthn Is List correct or should it be Array?
17:02 moritz_ it says "List" in the spec
17:02 jnthn ah, yes, I misseed that
17:02 jnthn OK
17:02 moritz_ (at least it did when last I looked ;-)
17:03 jnthn So when we do >>.* for example we need to .Scalar what comes back from .+ perhaps.
17:03 jnthn Yeah, it does say list...just found it.
17:03 jnthn erm, from .*
17:03 moritz_ sounds sensible
17:03 payload joined #perl6
17:03 jnthn At the moment it's flattening into the results which isn't what's meant to happen, as far as I can see (and as far as what the tests want).
17:04 pmichaud Oh, ick!
17:05 jnthn pmichaud: ick?
17:05 mberends jnthn: re: Windows directory separator, Microsoft insists that '/' is equivalent to '\' nowadays, so some of the worrying above is unnecessary. I cannot prove that, but you could give it a try and perhaps save lots of hassle.
17:06 araujo joined #perl6
17:06 jnthn mberends: I think it's not just about / and \, I played with that a bit.
17:06 pmichaud switching the file to utf8 encoding is messing up all of the  infix:«>»  etc. definitions
17:06 jnthn :-(
17:08 pugs_svn r26810 | moritz++ | [t/spec] some inplace.t hacking/fudging
17:08 pmichaud oh my
17:08 pmichaud okay, I'm a bit confused.
17:09 pmichaud src/parser/grammar.pg is latin-1 (after jnthn++'s latest changes).  src/parser/grammar-oper.pg is utf8.
17:09 pmichaud how in the world could that have even worked!??!
17:09 pmichaud (since those two files are compiled as a set)
17:09 moritz_ ugh.
17:09 TimToady in fact, .* should probably even be lazy
17:10 moritz_ TimToady: should it return a list of lists, or a list of captures?
17:10 moritz_ currently the former is specced
17:10 TimToady list of capture, I'd think
17:10 TimToady they're just ordinary returns, only more of 'em
17:11 TimToady and in the absence of a return declaration return always returns Capture
17:11 moritz_ jnthn: I'm a bit confused... $f .= uc parses, $b .= WHAT doesn't
17:11 rocket_guatemala joined #perl6
17:11 pmichaud WHAT isn't a method.
17:12 pugs_svn r26811 | rocket++ | Added more smartlinks.
17:12 moritz_ rakudo: class A { method WHAT { "foo" } }; A.new.WHAT.say
17:12 p6eval rakudo 89539a: OUTPUT«foo␤»
17:12 moritz_ pmichaud: that looks very much like a method to me, at least in Rakudo
17:12 pmichaud that's a rakudobug.
17:12 pmichaud yes, the parse also shows a discrepancy there.
17:13 spooneybarger joined #perl6
17:13 pugs_svn r26812 | moritz++ | [t/spec] further inplace.t improvements
17:14 pmichaud I suspect that .= is being misparsed.
17:14 moritz_ anyway, if you look at inplace.t, the first block of tests is also skipped
17:14 moritz_ because it doesn't parse right
17:14 jnthn moritz_: Hmm. I'm getting the right thing back from @a».+mul(2)
17:14 pmichaud proto infix:<.=> is equiv(infix:<:=>) { ... }
17:14 jnthn moritz_: But then the .map({ .sort }) is flattening it.
17:14 pmichaud needs to be removed.
17:15 jnthn pmichaud: From?
17:15 pmichaud oh wait, no.
17:15 moritz_ jnthn: feel free to change that to .map({[.sort]})
17:15 pmichaud never mind.
17:15 moritz_ jnthn: I'm not sure what the right semantics are
17:15 pmichaud I'm misreading stuff.
17:16 pugs_svn r26813 | moritz++ | [t/spec] corrected a test description
17:16 jnthn pmichaud: It's kinda fun because .= gets parsed in two different ways.
17:16 pmichaud jnthn: right, I was confusing term/infix
17:17 jnthn pmichaud: We only parsed it one way until this afternoon, which is why >>.= and .= as mutating $_ didn't work before now.
17:18 pmichaud Yes.  I worked on this at NPW (but got distracted on other tasks)
17:18 pmichaud we only had infix .= until now.
17:18 jnthn *nod*
17:19 * jnthn is on a crusade to implement all of the section Parallel dispatch
17:19 nbrown_ joined #perl6
17:19 jnthn One which seems to be over now. Yay. :-)
17:19 jnthn (Only tests skipped now are interaction of .*/.+ with callsame)
17:19 jnthn (in parallel-dispatch.t)
17:19 cdarroch joined #perl6
17:20 TimToady .* and .+ are not parallel dispatch; they're serial dispatch
17:21 jnthn TimToady: >>.+
17:21 TimToady >>. is parallel dispatch
17:21 TimToady right
17:21 pmichaud waaaaaah.   imcc FAIL
17:21 jnthn TimToady: But the issue is that the method being called with .+ then goes and does a callsame.
17:21 moritz_ do .+ and .* guarantuee order?
17:21 jnthn TimToady: Which I know is nothing to do with the list of candidates the .+ operator is going thorugh.
17:21 jnthn moritz_: yes
17:22 moritz_ jnthn: then you can get rid of the .sort altogether
17:22 jnthn moritz_: The sort is needed because .+ is ordered, but the >> bit of >>.+ is not.
17:23 moritz_ jnthn: but it sorts the inner array, not the outer
17:23 jnthn moritz_: Ah.
17:23 TimToady yes, >> doesn't guarantee order evaluation, but it does guarantee order of return
17:23 moritz_ and what TimToady said
17:23 jnthn TimToady: Oh, yes.
17:23 TimToady s/ / of /
17:23 jnthn OK, you're right.
17:24 pmichaud jnthn: http://nopaste.snit.ch/16527   imcc FAIL
17:24 moritz_ (except that he typed faster than me ;-)
17:24 jnthn moritz_: I'll yank the sort out then. Thanks. :-)
17:24 jnthn pmichaud: oh noes why show me?! ;-)
17:24 pmichaud jnthn: so you can comiserate.  :-)
17:24 pmichaud I don't expect a fix.
17:25 jnthn pmichaud: Unfortunately, you managed to nopaste it somewhere that, at least for me, doesn't display the chars properly!
17:25 TimToady biab &
17:25 jnthn Well, unicode fail all around.
17:25 pmichaud well, the point is simply that <<'XYZ' parses "malformed strings", while "..." doesn't
17:26 nihiliad joined #perl6
17:26 jnthn They should both give an error?
17:26 pmichaud probably
17:26 moritz_ aren't both heredocs?
17:26 * moritz_ no clue
17:26 pmichaud No
17:26 pmichaud only the first is a heredoc
17:26 pmichaud Oh, I see, it's the difference between ' and " here
17:28 pmichaud IMCC accepts '«' but treats it as two latin-1 chars, it appears.
17:28 pmichaud $S0 = '«'
17:28 pmichaud $I0 = length $S0
17:28 pmichaud say $I0
17:28 pmichaud 2
17:28 jnthn $S0 = unicode:'«' # would work though?
17:28 jnthn Or something like that.
17:28 pmichaud Sure.
17:28 pmichaud But the problem is that Perl6Grammar has been getting it wrong from the start
17:28 jnthn oh
17:29 pmichaud so that grammar-oper.pg, which contains utf8 chars that have been read as latin-1
17:29 jnthn so it's consistnetly wrong everywhere and thus seemed right?
17:29 pmichaud will now fail if I tell Perl6Grammar to read unicode
17:29 pmichaud er, utf8
17:29 pmichaud because that rule is incorrect
17:29 rocket_guatemala left #perl6
17:30 pmichaud in other words, I now have to modify Perl6Grammar so that it understands « both when it's encoded as utf8 and when it's mis-encoded as two latin-1 bytes.
17:30 jnthn Ugh.
17:30 jnthn Nasty.
17:30 jnthn btw #ps is in 1 hour, right?
17:30 pmichaud yes
17:31 jnthn OK, I'm going to take dinner before it then.
17:31 moritz_ pmichaud: why not convert everything to UTF-8, and work with thatß
17:31 moritz_ s/ß/?/
17:33 mncharity moritz_: re +o, tnx
17:35 mncharity left #perl6
17:37 pugs_svn r26814 | jnthn++ | [t/spec] Parallel dispatch test tweak and unfudge for Rakudo.
17:38 dalek rakudo: 62773e0 | jnthn++ | src/builtins/guts.pir:
17:38 dalek rakudo: Make sure we don't get unwanted flattening going on when forming the result list from a parallel dispatch.
17:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/62773e09f2aeea52c744996616e3f1f7fec515d4
17:39 moritz_ rakudo: say [].WHAT === [].WHAT
17:39 p6eval rakudo 89539a: OUTPUT«1␤»
17:43 * jnthn -> pizzeria to nom a pizza and beer, be back for #ps
17:45 pmichaud moritz_: I have to deal with Parrot deprecation cycles.
17:45 moritz_ pmichaud: eek
17:45 pmichaud there are likely to be other languages that are relying on the existing misbehavior.
17:52 sri_kraih joined #perl6
18:05 meppl joined #perl6
18:06 masak joined #perl6
18:08 mberends masak: reading http://cpants.perl.org/kwalitee.html and not taking it too literally, we should consider each of its points for WTOP.
18:09 masak mberends: nod.
18:09 mberends do you like the idea of a 'conformance rating'? I'm not sure.
18:09 masak mberends: I think I'll be doing a disfactor of Installer.pm soon that'll enable WTOP to piggyback on it.
18:10 masak mberends: I haven't read it that closely. I don't know what conformance rating is.
18:10 masak mberends: to be honest, I'm not 100% sure what I want WTOP to accomplish, community-wise.
18:11 masak it should definitely not have opinions on code style, as we talked about before today.
18:11 moritz_ it would be quite cool if it could judge the consistency of code style, without judging the actual style
18:11 masak it should have advise of the kind 'if you're doing A, it is in your best interest to do B. here's why: ...'
18:11 mberends interface style is most valuable, internal style does not have to be laid down
18:12 masak for example: 'if you have a lib/ dir with .pm modules, it is in your best interest to have a build system. here's why: when you precompile your modules, they start faster'
18:12 viklund joined #perl6
18:13 masak (proto currently fails that one)
18:13 barney joined #perl6
18:15 masak mberends: good news. :)
18:16 masak mberends: a guy forked ihrd's uri... so now there are two projects called 'uri'...
18:16 masak proto explicitly doesn't support this.
18:17 mberends :auth<ihrd> hrrrmmm.
18:18 mberends proto being dragged out of YAGNI mode
18:18 masak quoting from the README: "It is not a full-fledged module installation system."
18:18 mberends but it's adapt or die
18:18 masak :)
18:19 masak I like your attitude. :P
18:19 masak we might be in luck. maybe this fork is consistently better than ihrd's, so there's no reason to keep the old one.
18:20 mberends moritz_: there are metrics for code clarity, I don't remember where. Things like number of functions versus lines of code, comment density etc. Know anything about those?
18:20 moritz_ mberends: not really. The only good quality metric I know is "WTFs per minute", and afaik it's not automatically measurable
18:21 mberends :)
18:21 masak mberends: viklund deems that the uri fork is significantly better. I say we take the easy way out.
18:22 mberends only this time. let's plan a bit for future forks.
18:22 masak aye.
18:22 masak but no extra features!
18:22 masak :P
18:23 * jnthn back
18:23 mberends S11 Versioning is the endgame for this.
18:24 masak sure, sure. but proto has already resigned in that battle.
18:24 masak it's just a prototype.
18:24 mberends pmichaud++ indicated an August timeframe, so around YAPC::EU time.
18:24 masak again, as the readme says: "Proto -- making your life slightly easier". not solving all your worries. :)
18:25 mberends if it was a prototype car, with a free clone option, I'd run it into the ground
18:25 moritz_ masak: there's no reason why a prototype shouldn't evolve into a fully fledged solver-all-your-problems solution ;-)
18:25 jnthn mberends/masak: What is WTOP?
18:26 * jnthn tries to keep on top of his Perl 6 acronyms
18:26 pmichaud I'm not sure what I indicated, but I think my intent was to give an August timeframe to begin planning its implementation, not to complete it.
18:26 masak jnthn: World-Takeov... I mean Well-Thought-Out Practices.
18:26 mberends World Tak^H^
18:26 jnthn :-D
18:27 masak moritz_: ack. but I'll cross that bridge when I have to, not sooner.
18:27 * ruoso posts his daily nag asking about contextual variables .... ;)
18:28 moritz_ ruoso: can't you just work around them for now?
18:28 jnthn ruoso: Shhh...don't spoil our potential to get operator overloading!
18:28 ruoso moritz_, not really
18:28 moritz_ ruoso: "not really" is a "yes", right? ;-)
18:28 masak ruoso: what jnthn said :)
18:28 ruoso moritz_, it would require me to pass them over though all the calls
18:28 moritz_ "them" can easily reduced to "one"
18:28 moritz_ where one is a hash holding them all
18:29 ruoso nah...
18:29 ruoso maybe the workaround would be to use them as rakudo think they are now
18:29 ruoso i.e.: globals
18:29 * ruoso try something...
18:29 masak ruoso++ # working around
18:29 pmichaud ruoso: contextuals are still high on my list, yes.
18:30 pmichaud ruoso: I needed to get a few other variable-handling things correct yesterday, and I still need to get @_ and %_ working properly.
18:30 ruoso pmichaud, thanks (I know... I am boring...)
18:30 jhorwitz joined #perl6
18:30 pmichaud no, not boring, nor annoying.  I'm eager to see them implemented as well.  :-)
18:30 mberends btw, the time.t spectests are so out of sync with the S32 that it's probably better to scrap them and begin again.
18:31 moritz_ mberends: feel free.
18:31 mberends :)
18:31 mikehh joined #perl6
18:32 nsh joined #perl6
18:33 ruoso yay... the workaround works
18:33 jnthn .oO( remember to join #ps on the correct server )
18:34 ruoso I'll just use context vars as globals in the meanwhile...
18:36 moritz_ s1n: http://perlgeek.de/blog-en/perl-6/subs-vs-methods.writeback hope this is of interest for you
18:39 moritz_ pmichaud: your #ps reports seem to have a decreasing number of parrot and PGE reports... which looks like a good thing to me ;-)
18:40 pmichaud moritz_: that will change when I get heavily into LTM and protoregexes, though.
18:40 moritz_ pmichaud: I know
18:40 pmichaud I'm satisfied as long as we're making good progress in the areas where we need progress.  :-)
18:40 jnthn pmichaud: We need progress everywhere! ;-)
18:41 pmichaud Well, one person's "gotta have it" is often someone else's "gratuitous feature"  :-P
18:46 justatheory joined #perl6
18:52 jferrero joined #perl6
19:05 [particle]1 joined #perl6
19:06 payload joined #perl6
19:18 ZuLuuuuuu joined #perl6
19:20 donaldh joined #perl6
19:23 nbrown joined #perl6
19:25 eMaX joined #perl6
19:39 masak rakudo: sub foo(Str $s where { $s eq "foo" }) { say "OH HAI" }; foo("foo")
19:40 p6eval rakudo 62773e: OUTPUT«OH HAI␤»
19:40 masak oh, I didn't know one could refer to the param by name inside the closure.
19:40 jnthn masak: Just don't try it in a multi in Rakudo. :-)
19:40 jnthn masak: I've tended to discourage the practice because it doesn't work there atm and it's hard to fix. ;-)
19:40 masak jnthn: oh, that's what we did!
19:41 masak rakudo: multi sub foo(Str $s where { $s eq "foo" }) { say "OH HAI" }; foo("foo")
19:41 p6eval rakudo 62773e: OUTPUT«Null PMC access in get_string()␤current instr.: 'infix:eq' pc 16396 (src/builtins/cmp.pir:88)␤»
19:41 masak jnthn: is this in RT?
19:41 jnthn surely
19:42 masak ok, good.
19:42 jnthn I've known about this for months.
19:42 jnthn I'm sure it's come up before.
19:42 masak rakudo: multi sub foo(Str $s where { $_ eq "foo" }) { say "OH HAI" }; foo("foo")
19:42 p6eval rakudo 62773e: OUTPUT«OH HAI␤»
19:42 masak jnthn: don't worry, it's workaroundable.
19:42 masak hence not urgent.
19:42 jnthn Right, that's what I figured. :-)
19:42 pmichaud it should be much more fixable now than before.
19:43 pmichaud after the refactors I did yesterday.
19:43 pmichaud rakudo: multi sub foo(Str $s where $s eq "foo" ) { say "OH HAI" }; foo("foo")
19:43 p6eval rakudo 62773e: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near "eq \"foo\" )"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
19:44 pmichaud where requires a term?  okay.
19:45 jnthn pmichaud: No, no, it's a hard fix.
19:45 jnthn pmichaud: It's the "we don't bind positionals inside the multi-dispatcher" one.
19:46 pmichaud jnthn: right -- which means that SIGNATURE_BIND throws a "no, not me" exception, yes?
19:46 kbrandt joined #perl6
19:46 jnthn pmichaud: We never get there yet.
19:47 masak hah! found a bug in Match.ast :)
19:47 pmichaud okay.
19:47 masak rakudo: class I {}; grammar G { regex TOP { <foo> }; regex foo { foo {*} } }; class A { method foo($/) { make I.new } }; my $result = G.parse("foo", :action(A.new)); say $result.perl; sub t(Match $m) { say $m.ast.perl }; t($result)
19:47 jnthn We aren't running the candidates in the multi-dispatcher.
19:47 p6eval rakudo 62773e: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "foo",␤ Str => "foo",␤ from => 0,␤ to   => 3,␤ named => {␤  'foo' => Match.new(␤    ast  => I.new(),␤    Str => "foo",␤    from => 0,␤    to   => 3,␤   ),␤ },␤)␤"foo"␤»
19:47 pmichaud I'm simply saying that when we do, things will be easier now than they were previously.  :-)
19:47 masak that's not consistent. :)
19:47 * masak submits rakudobug
19:47 jnthn pmichaud: OK. I'm holding off until I see what the bigger picture on signature binding will be, tbh.
19:48 pmichaud fair enough
19:48 jnthn And that depends on Parrot.
19:48 pmichaud I just eliminated all of the special handling that was on the where blocks
19:48 pmichaud so that it's identical to other circumfix:<{ }> expressions.
19:48 jnthn What special handling did we have?
19:48 pmichaud about 100 lines worth :-)
19:48 jnthn Oh, about $_ as a parameter?
19:48 pmichaud it was checking for a parameter, .... yes
19:49 jnthn How does it handle this now?
19:49 pmichaud the same as circumfix:<{ }>
19:49 pmichaud or any other block
19:49 pmichaud the problem is that  circumfix:<{ }> wasn't getting a .signature
19:49 jnthn Ah, so it works in general now. OK. The code for where blocks to handle it specially probably pre-dated that. :-)
19:49 pmichaud s/is/was/
19:51 moritz_ masak: what exactly is inconsequent about that?
19:51 masak moritz_: .ast is shown twice in that code, yes?
19:51 masak and it's different from one time to another.
19:51 moritz_ masak: each sub match has its own .ast
19:52 masak moritz_: yes.
19:52 moritz_ ... and?
19:52 masak oh, I see what you mean now.
19:52 masak yes, that example does not show our bug.
19:52 * masak goes to make a new attempt
19:54 masak we're experiencing _something_ here...
19:57 jnthn The Force.
19:59 masak jnthn: a disturbance in it, possibly...
19:59 masak rakudo: my $m = "foo" ~~ /foo/; $m<greeting> = "OH HAI"; say $m.perl
19:59 p6eval rakudo 62773e: OUTPUT«Method '!_perl' not found for invocant of class 'Str'␤current instr.: 'parrot;P6metaclass;dispatch' pc 251857 (src/gen_actions.pir:0)␤»
20:00 masak ok, so that's another bug, but still.
20:00 * masak submits rakudobug
20:00 jnthn !_perl ?
20:01 masak it's an internal method, IIRC.
20:01 masak in the setting.
20:02 moritz_ masak: assigning to a Match object is evil, and should be an error
20:02 masak moritz_: well, it isn't. :)
20:02 moritz_ masak: in TimToady's head, Matches are immutable
20:03 mberends Gisle Aas replied today that he himself has no plans make a Perl 6 version of LWP and does not object if someone else does. He did suggest using a different name if necessary to avoid confusion, and that names like HTTP::Daemon are quite obvious in a generic sense. It will be a nice project to migrate LWP(5) applications to a new LWP6, and report the results at YAPC::EU.
20:03 masak moritz_: we're toying around with ways to pass around information in the hitomi draft.
20:05 moritz_ masak: IMHO the way to go is to transform .chunks to arrays of chunks...
20:05 masak moritz_: I'm not familiar enough with .chunks to understand what that meant.
20:05 moritz_ masak: and chunks are either strings (literals), arrays or objects with special behavioiur
20:05 masak moritz_: you might be right. I'll keep it in mind.
20:06 moritz_ masak: .chunks is just a list of pairs of both Match objects and strings, in the order they appear in the matched text
20:06 masak moritz_: I'm not sure we need to traverse .chunks that much.
20:07 moritz_ rakudo: "abc" ~~ m/a(.)./ && say $/.chunks.perl
20:07 masak we're operating more on the XML structure built by the tree of Match objects.
20:07 p6eval rakudo 62773e: OUTPUT«["~" => "a", 0 => Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "b",␤ Str => "b",␤ from => 1,␤ to   => 2,␤), "~" => "c"]␤»
20:08 moritz_ masak: if you give a copy of your current code, I can try to come up with something simple to illustrate my ideas
20:08 moritz_ rakudo: "abc" ~~ m/a(.)./ && say $/.chunks.map(*.value).WHAT; say $/.chunks.map({~.value})
20:08 p6eval rakudo 62773e: OUTPUT«List()␤abc␤»
20:09 masak moritz_: it's on viklund's computer. not sure it's in a committable state right now...
20:09 moritz_ rakudo: "abc" ~~ m/a(.)./ && say $/.chunks.map({.value.WHAT}); say $/.chunks.map({~.value})
20:09 p6eval rakudo 62773e: OUTPUT«Str()Match()Str()␤abc␤»
20:09 moritz_ masak: a nopaste would do
20:09 masak viklund: if you please...
20:11 viklund 'ere you go: http://gist.github.com/110712
20:12 moritz_ and I assume the example input file is the one from the web repo?
20:13 viklund moritz_: currently there's only the string $str
20:13 moritz_ ok
20:13 masak aye, script is self-contained.
20:13 masak we basically threw everything out and started again with actions.
20:15 eMaX joined #perl6
20:27 nbrown joined #perl6
20:30 dalek rakudo: 19490ae | pmichaud++ |  (3 files):
20:30 dalek rakudo: Get src/parser/grammar.pg to be utf8 again.  This involves bumping
20:30 dalek rakudo: PARROT_REVISION to take advantage of Perl6Grammar changes.
20:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/19490ae782bb67db758ef517620dcbdcc2362504
20:33 ejs joined #perl6
20:36 minazo joined #perl6
20:37 moritz_ masak, viklund: http://gist.github.com/110725
20:37 moritz_ bug ridden, but it has a nice feature
20:38 moritz_ if you change method node($/) to be just like the other action methods, traverse() will reproduce the original XML exactly
20:38 masak moritz_++
20:38 masak we also reached some kind of result recently.
20:38 moritz_ $/.ast.perl will give you a tree made up of arrays, strings and If object
20:42 moritz_ note that rule node should allow <xmlcontent>* (not <xmlcontent>+)
20:42 pmurias joined #perl6
20:42 pmurias ruoso: hi
20:43 ruoso hi pmurias
20:43 moritz_ http://gist.github.com/110725 # updated
20:43 pmurias ruoso: what causes the infinite recurssion in tests?
20:43 moritz_ now with an example that shows how a non- "pl:if" tag is completely reproduced
20:43 ruoso pmurias, that is fixed already... it was a mispelling in p6opaque
20:46 pmurias ruoso: you are using the standard svn client?
20:46 ruoso iyes
20:48 dalek rakudo: fcf5d97 | pmichaud++ | src/parser/grammar.pg:
20:48 dalek rakudo: Clean up some places where latin1->utf8 conversion did the wrong thing.
20:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/fcf5d9791d21fe87a9dca20f84dccd226e65fdbf
20:48 pmurias ruoso: i can't see the commit in the repository...
20:48 ruoso hmmm...
20:48 ruoso interesting...
20:48 ruoso wait...
20:49 ruoso you're right... sorry... comitting
20:49 pugs_svn r26815 | ruoso++ | [re-smop/p6opaque] fix mispelling that causes infinite loops
20:53 pmurias ruoso++ # no infinite loops in make test
20:54 ruoso which is the p6 equivalent for the p5 reges /^ ([^\?])* \? (.+) $/ ?
20:54 moritz_ (<-[\=]>*) \? (.+) $ /
20:54 moritz_ / ^ (<-[\=]>*) \? (.+) $ /
20:54 moritz_ actually
20:55 moritz_ (I think you meant (...*), not (...)*)
20:55 ruoso yes... indeed
20:55 moritz_ the latter doesn't make much sense in Perl 5
20:55 pmurias shouldn't it be ^^ and $$?
20:56 moritz_ only if you want to match line endings
20:56 ruoso moritz_, why do you have \= inside the brackets, if '?' is the one I want to negate?
20:56 ruoso is that just a typo?
20:56 pmurias moritz_: but that's the default in p5
20:56 moritz_ pmurias: no.
20:56 moritz_ ruoso: [^\?] in perl 5 also exclude the backslash
20:57 pmichaud /^ (<-[?]>)* '?' (.+) $/
20:57 moritz_ buubot: eval: '\\' =~ /[^\?]/
20:57 buubot moritz_:  1
20:57 moritz_ oops.
20:57 * ruoso --
20:57 moritz_ ok, then without the \ in the char class ;-)
20:58 payload joined #perl6
20:58 pmurias buubot: print "bar\nfoo\n" =~ /^foo/;
20:59 pmurias buubot: eval: print "bar\nfoo\n" =~ /^foo/;
20:59 buubot pmurias:  1
20:59 eMaX_ joined #perl6
21:00 * moritz_ surprised agian
21:00 pmurias buubot: eval: print "there",("bar\nfoo\n" =~ /^foo/);
21:00 buubot pmurias:  there1
21:01 pmurias buubot: eval: print "there",("bar\nfoo\n" =~ /^foo/),"x";
21:01 buubot pmurias:  therex1
21:01 PerlJam having perl 5 code on a perl 6 channel is sometimes confusing :)
21:02 pmurias moritz_: so ^ is ^^ in perl5
21:03 PerlJam p6 ^ == p5 \A,  p6 $ == p5 \z
21:03 moritz_ I can't reproduce that result locally
21:03 [particle]- pmurias: in p5, ^ depends on context
21:03 moritz_ $perl -wE 'say "foo\nbar" ~~ /^bar/'
21:03 moritz_ # empty line
21:03 moritz_ with /m, it says 1
21:04 [particle]- er, context isn't the right word... on regex modifiers
21:04 pmurias [particle]-: i knew that
21:04 PerlJam moritz_: what's the result you're trying to reproduce?
21:06 moritz_ PerlJam: that /m is the default (see pmurias's eval's above)
21:06 PerlJam /m is not the default.
21:06 moritz_ "bar\nfoo\n" =~ /^foo/ matched in buubot
21:06 PerlJam no it didn't.
21:06 PerlJam the 1 is the return value of print
21:07 moritz_ ah
21:07 ruoso rakudo: my &rx1 = / ^  /; my &rx2 = / \/ $ /; '/' ~~ / <rx1> <rx2> /; say $/.perl
21:07 p6eval rakudo fcf5d9: OUTPUT«Unable to find regex 'rx1'␤Null PMC access in invoke()␤current instr.: 'parrot;PGE;Grammar;' pc 684 (EVAL_21:276)␤»
21:07 ruoso rakudo: our &rx1 = / ^  /; our &rx2 = / \/ $ /; '/' ~~ / <rx1> <rx2> /; say $/.perl
21:07 p6eval rakudo fcf5d9: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "/",␤ Str => "/",␤ from => 0,␤ to   => 1,␤ named => {␤  'rx1' => Match.new(␤    ast  => "",␤    Str => "",␤    from => 0,␤    to   => 0,␤   ),␤  'rx2' => Match.new(␤    ast  =>
21:07 p6eval .."/",␤ ...
21:07 moritz_ ruoso: try to construct regexes with rx/..../
21:07 PerlJam buubot: eval: [ "bar\nfoo\n" =~ /^foo/ ]
21:07 buubot PerlJam:  []
21:07 PerlJam buubot: eval: [ "bar\nfoo\n" =~ /^foo/m ]
21:07 buubot PerlJam:  [1]
21:08 ruoso rakudo: our &rx1 = / ^  /; our &rx2 = / \/ $ /; '/' ~~ / <rx1> <rx2> /; say $/
21:08 p6eval rakudo fcf5d9: OUTPUT«/␤»
21:08 ruoso hmm...
21:08 pmichaud rakudo:  my &rx1 = / ^ /;  my &rx2 = / \/ $/;  '/' ~~ token / <rx1> <rx2> /;  say $/.perl;
21:08 p6eval rakudo fcf5d9: OUTPUT«Malformed regex definition at line 1, near "/ <rx1> <r"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
21:09 pmichaud rakudo:  my &rx1 = / ^ /;  my &rx2 = / \/ $ /;  '/' ~~ token { <rx1> <rx2> };  say $/.perl;
21:09 p6eval rakudo fcf5d9: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "/",␤ Str => "/",␤ from => 0,␤ to   => 1,␤ named => {␤  'rx1' => Match.new(␤    ast  => "",␤    Str => "",␤    from => 0,␤    to   => 0,␤   ),␤  'rx2' => Match.new(␤    ast  =>
21:09 p6eval .."/",␤ ...
21:09 ruoso somehow a very similar regex is failing in Faz
21:10 pmichaud using 'token' or not?
21:10 pmichaud I know that lexical regexes will fail for non-tokens
21:10 pmichaud because we lose the outer scope chain
21:10 ruoso no... not failing in finding the closures ,no...
21:10 ruoso failing in matching...
21:10 ruoso the workarounds you showed me are indeed workign
21:12 * PerlJam hadn't considered that ~~ would immediately eval token/rule/regex before.
21:13 pmichaud ~~ against any Regex does a smart match of the regex.  :-)
21:13 raiph joined #perl6
21:14 PerlJam aye, until just a minute ago, I'd only been thinking in terms of  ~~ //  or ~~ m//  or  ~~ $some_regex
21:14 PerlJam it just never occured to me to put a token decl on the RHS of ~~
21:23 raiph hi all. i'm trying to build rakudo on feather. make fails with "virtual memory exhausted". this has been the case for all git clones/pulls for the last month or so. i'd really appreciate help... :)
21:24 moritz_ raiph: that's probably due to pbc_to_exe eating up lots of memory during complilation...
21:24 moritz_ raiph: the parrot folks are working on a fix for that
21:24 moritz_ (actually that had one, but it didn't work with MSVC)
21:25 pmichaud maybe we should have completely separate pbc_to_exe; one for unix, one for MSVC
21:26 moritz_ that's what I tried to suggest at #ps
21:26 moritz_ but I think Util misunderstood me
21:27 Whiteknight joined #perl6
21:28 pmichaud well, I kinda of -1'd it, but I think I'd +1 it now
21:28 pmichaud I didn't realize rakudo wasn't building on *feather*.  That's kinda bad.
21:29 [particle]- well, you can up the memory on the vm
21:29 ejs joined #perl6
21:29 moritz_ that's only fixing the symptoms, not the problem
21:30 raiph ulimit -v --> 524288
21:30 [particle]- yep
21:31 pmichaud is that blocks or bytes?
21:31 pmichaud must be blocks
21:31 moritz_ looks like kB
21:31 [particle]- kB
21:31 raiph kbytes
21:31 pmichaud 524 meg ought to be enough.  But yes, there's gcc-bug that gets triggered, I think.
21:32 [particle]- too bad there's no lcache for linking
21:32 pugs_svn r26816 | pmurias++ | [re-smop] fix PrototypeHOW.lookup_fail - idconsts don't always have a NULL
21:35 raiph thanks for responses. do you think it's worth asking juerd to up vmem for me to X for a while? or wait Y weeks? or...?
21:36 pmichaud asking on #parrot
21:37 ruoso pmichaud, ohkay... I think I had hit some weird bug that is really hard to reproduce...
21:37 ruoso pmichaud, let me push to github...
21:37 pmichaud ruoso: I'm leaving in about 3 mins, alas.
21:37 pmichaud (have to take daughter to fencing lesson)
21:37 moritz_ raiph: I'm root on feather as well, let me see if I can do anything for you
21:38 pmichaud does p6eval get additional space for compiling or something?
21:38 pmichaud Or is that not on feather?
21:38 moritz_ it's not on feather
21:38 pmichaud okay.
21:38 ruoso pmichaud, ok...
21:38 ruoso pmichaud, http://github.com/ruoso/faz/blob/6db6cb42f538ed997f19f430cbd1cb6ccac3d947/example.pl
21:39 moritz_ now if only I could remember where it's configured
21:39 dalek rakudo: 3412a2f | pmichaud++ | src/parser/grammar.pg:
21:39 dalek rakudo: Enable parsing and limited processing of � quotes � .
21:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3412a2f1bdefa2f11e667f845419863eba9bb9ba
21:39 raiph afk 5 mins
21:39 ruoso pmichaud, if I run that script the way it is, one of the regex fail... if I comment line 47, the other one fails...
21:39 ruoso it seems that there's some kind of caching
21:40 moritz_ raiph: I've temporarily increased your vm limit...
21:41 moritz_ raiph: please log in again and re-try
21:41 pmichaud the only caching that PGE does is of embedded PIR closures
21:41 ruoso pmichaud, that's it then
21:41 pmichaud but I can't imagine that would make much of a difference.
21:41 ruoso I use pir closures
21:41 ruoso it does
21:41 pmichaud Because the code should compile the same regardless.
21:41 mib_sfmrne joined #perl6
21:41 ruoso because my closures are acessing lexical variables
21:41 mib_sfmrne oioi lads
21:42 ruoso that are only valid at that specific run
21:42 pmichaud you're doing set_outer, or ... ?
21:42 ruoso no... actually... it's not a PIR closure...
21:42 pmichaud then there's no caching.
21:42 ruoso I'm accessing lexical subs
21:42 mib_sfmrne how  do u make your own chanle
21:42 ruoso with <foo>
21:42 pmichaud only PIR closures are cached.
21:42 raiph exit
21:43 ruoso pmichaud, doesn't it cache references to subs or something like that?
21:43 pmichaud no.
21:43 mib_sfmrne HOW DO YOU MAKE YOUR OWN CHANLE ?
21:43 moritz_ mib_sfmrne: don't shout please
21:43 pmichaud mib_sfmrne: /join #new_channel_and_now_go_away_please
21:43 mib_sfmrne well answer me
21:44 ruoso like in: my &sub = sub { 1; }; return token { <sub> };
21:44 ruoso pmichaud, doesn't the above cause any kind of caching?
21:44 mib_sfmrne it  dnt work
21:44 was kicked by jnthn: jnthn
21:44 moritz_ jnthn++ thanks
21:44 pmichaud ruoso: caching, no.
21:44 jnthn Gotta use the op for something.
21:44 chav joined #perl6
21:44 ruoso pmichaud, any possible cause for weirdness?
21:45 pmichaud however, any lexicals inside of &sub will have been captured at the point of the assignment
21:45 raiph pmichaud: bingo
21:45 chaav123 joined #perl6
21:45 chaav123 hii
21:45 ruoso pmichaud, it looks like the fact that I run some regexes alter the result of others...
21:45 pmichaud ruoso: I suspect it has to do with captured lexical environments, yes.
21:46 pmichaud but no, PGE itself doesn't do any caching here.
21:46 ruoso pmichaud, I couldn't get the problem narrowed down...
21:46 raiph chaav123: hey
21:46 chaav123 gota do wot i do nd stay a cruckid nigga 2  u cnt fuck with the crew
21:46 chaav123 2 pac owns
21:46 was kicked by pmichaud: pmichaud
21:46 mibit567 joined #perl6
21:47 ruoso pmichaud, but I think the script I sent (you probably need to clone the repo) show odd behavior...
21:47 ruoso when you enable one of the regexes, others stop working
21:47 john15 joined #perl6
21:47 ruoso I must say that I do generate a lot of closures in a sub
21:47 ruoso so I guess it can be related to that
21:47 john15 hi
21:48 ruoso I generate the closures in a loop...
21:48 pmichaud ruoso: alas, I have to leave now.
21:48 ruoso pmichaud, the relevant part is in lib/Faz/Dispatcher.pm at method register-action
21:48 john15 has any1 been in a canale caled gamerdna
21:48 pmichaud I'll backlog and look at it a bit later
21:49 ruoso i'd appreciate that
21:49 ruoso http://github.com/ruoso/faz/ fwiw
21:49 pmurias john15: hi
21:49 pmurias self in a sub is a compile tim error?
21:50 ruoso pmichaud, sorry... actually method compile...
21:51 jnthn pmurias: If it's a sub enclosed in a method, I guess it'd find the self of the method.
21:51 jnthn I figure if we know there's no outer method at all we can flag an error at compile time just fine though.
21:51 * jnthn bbiab
21:52 john15 how do you join other chat rooms on this or is this the only chanle
21:53 pmurias lol
21:53 jnthn john15: I think you're looking in the wrong place.
21:54 john15 wot u meen
21:54 john15 by that
21:54 jnthn This is not a place to find a chat room.
21:54 john15 isnt dis a chat room
21:55 * PerlJam wonders how john15 got here of all places with so little knowledge of thing.
21:55 PerlJam john15: /join #some_other_channel
21:55 jnthn Not if you want to talk about anything other than the topic of the channel...
21:55 jnthn ...or lolcats...
21:55 john15 what is the topic of this chanle
21:55 jnthn perl6
21:56 john15 wich is ?
21:56 antiphase You mean I'm not in #swingers?
21:56 meppl good night
21:56 jnthn antiphase: /join #swingers for that
21:56 [particle]- jnthn: don't feed trolls, /ignore them
21:56 jnthn antiphase: Erm, if it exists. ;-)
21:56 antiphase :)
21:57 ruoso but you still can join if it doesn't
21:57 jnthn It'll be a lonely swing.
21:57 ruoso until someone else tries to join the same non-existant channel
21:57 john15 so igranant :(
21:58 * ruoso decommute &
21:58 john15 is anyone from england?
22:01 bacek joined #perl6
22:03 LadyLuna1y joined #perl6
22:13 lichtkind_ joined #perl6
22:18 raiph john15: i'm from there, but been here (usa) for 17 year
22:19 hercynium joined #perl6
22:23 wknight8111 joined #perl6
22:42 PhatEddy joined #perl6
23:06 skids joined #perl6
23:08 nbrown joined #perl6
23:17 s1n moritz_: i will respond to your writeback after our p6m meeting tonight
23:21 donaldh joined #perl6
23:21 s1n moritz_: the last paragraph is telling, i see now where we differ on understanding. i think this may be more a matter of miscommunication (for the most part, i'm in agreement with the idea, just not the implementation), i'll explain later tonight
23:24 skids Wow, who do we karma for the 40% rakudo runtime speedup?
23:27 frew joined #perl6
23:58 meppl joined #perl6

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

Perl 6 | Reference Documentation | Rakudo