Camelia, the Perl 6 bug

IRC log for #perl6, 2012-08-20

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:13 tokuhiro_ joined #perl6
00:34 ObseLeTe joined #perl6
00:39 larks joined #perl6
00:58 quietfanatic p6: my rule foo { a }; say 'a' ~~ rx/<foo>/
00:58 p6eval rakudo 763b85: OUTPUT«「a」␤ foo => 「a」␤␤»
00:58 p6eval ..niecza v19-29-ge441498: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"foo" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>␤»
00:58 quietfanatic oh it does work
00:59 quietfanatic which means rule subcalls are lexical, which means you don't need a grammar
00:59 quietfanatic which will make implementing <foo>-type subrules in formats so much easier.
01:03 scott__ joined #perl6
01:06 diakopter p6: my rule foo { a <foo> }; say 'aaa' ~~ rx/<foo>/
01:06 p6eval niecza v19-29-ge441498: OUTPUT«Match()␤»
01:06 p6eval ..rakudo 763b85: OUTPUT«#<failed match>␤»
01:07 am0c joined #perl6
01:11 quietfanatic why does niecza match that
01:11 diakopter it doesn't
01:11 quietfanatic oh
01:11 diakopter why don't they?
01:11 quietfanatic right
01:11 quietfanatic they don't match it because it infinitely recurses, requiring one more 'a' each iteration.
01:11 diakopter oh oops :)
01:12 diakopter p6: my rule foo { a <foo>? }; say 'aaa' ~~ rx/<foo>/
01:12 p6eval niecza v19-29-ge441498: OUTPUT«Match()␤»
01:12 p6eval ..rakudo 763b85: OUTPUT«#<failed match>␤»
01:12 quietfanatic p6: my rule foo { | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
01:12 p6eval rakudo 763b85: OUTPUT«「」␤ foo => 「」␤␤»
01:12 p6eval ..niecza v19-29-ge441498: OUTPUT«#<match from(0) to(0) text() pos([].list) named({"foo" => #<match from(0) to(0) text() pos([].list) named({}.hash)>}.hash)>␤»
01:12 quietfanatic that one with the ? I have no idea why it doesn't match
01:12 quietfanatic also shouldn't mine ltm?
01:13 diakopter token?
01:13 quietfanatic oh, right, rule introduces sigspace and that doesn't like tlmming.
01:13 quietfanatic oh, that too
01:13 diakopter p6: my token foo { | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
01:13 p6eval niecza v19-29-ge441498: OUTPUT«#<match from(0) to(3) text(aaa) pos([].list) named({"foo" => #<match from(0) to(3) text(aaa) pos([].list) named({"foo" => #<match from(1) to(3) text(aa) pos([].list) named({"foo" => #<match from(2) to(3) text(a) pos([].list) named({"foo" => #<match from(3)…
01:13 p6eval ..rakudo 763b85: OUTPUT«No such method 'foo' for invocant of type 'Cursor'␤  in regex foo at /tmp/xJfAngPkOS:1␤  in method INTERPOLATE at src/gen/CORE.setting:9884␤  in regex  at /tmp/xJfAngPkOS:1␤  in method ACCEPTS at src/gen/CORE.setting:9941␤  in block  at /tmp/xJfAngPkOS:1␤␤»…
01:13 quietfanatic the rule is wanting the space because a and a are alphanumeric
01:13 quietfanatic silly me
01:14 diakopter well, nieczxa liked it but rakudo didn't
01:14 quietfanatic that's odd
01:14 quietfanatic p6: my token foo { a }; say 'a' ~~ rx/<foo>/
01:14 p6eval rakudo 763b85: OUTPUT«「a」␤ foo => 「a」␤␤»
01:14 p6eval ..niecza v19-29-ge441498: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"foo" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>␤»
01:16 quietfanatic Rakudo can't recurse in a token?
01:16 diakopter p6: my token foo { | '' | a <&foo> }; say 'aaa' ~~ rx/<foo>/
01:16 p6eval rakudo 763b85: OUTPUT«「aaa」␤ foo => 「aaa」␤␤»
01:16 p6eval ..niecza v19-29-ge441498: OUTPUT«#<match from(0) to(3) text(aaa) pos([].list) named({"foo" => #<match from(0) to(3) text(aaa) pos([].list) named({}.hash)>}.hash)>␤»
01:17 diakopter go figure
01:17 quietfanatic oh
01:17 quietfanatic p6: my rule foo { | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
01:17 p6eval rakudo 763b85: OUTPUT«「」␤ foo => 「」␤␤»
01:17 p6eval ..niecza v19-29-ge441498: OUTPUT«#<match from(0) to(0) text() pos([].list) named({"foo" => #<match from(0) to(0) text() pos([].list) named({}.hash)>}.hash)>␤»
01:17 quietfanatic p6: my rule foo {|''|a<foo>}; say 'aaa' ~~ rx/<foo>/
01:17 p6eval niecza v19-29-ge441498: OUTPUT«#<match from(0) to(3) text(aaa) pos([].list) named({"foo" => #<match from(0) to(3) text(aaa) pos([].list) named({"foo" => #<match from(1) to(3) text(aa) pos([].list) named({"foo" => #<match from(2) to(3) text(a) pos([].list) named({"foo" => #<match from(3)…
01:17 p6eval ..rakudo 763b85: OUTPUT«No such method 'foo' for invocant of type 'Cursor'␤  in regex foo at /tmp/CsQfUokcsi:1␤  in method INTERPOLATE at src/gen/CORE.setting:9884␤  in regex  at /tmp/CsQfUokcsi:1␤  in method ACCEPTS at src/gen/CORE.setting:9941␤  in block  at /tmp/CsQfUokcsi:1␤␤»…
01:17 quietfanatic it didn't get to foo because the sigspace failed it
01:17 quietfanatic and it's only failing at runtime.
01:18 quietfanatic fail[0] = failed match, fail[1] = failed execution
01:18 diakopter p6: my rule foo { | | | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
01:18 p6eval rakudo 763b85: OUTPUT«「」␤ foo => 「」␤␤»
01:18 p6eval ..niecza v19-29-ge441498: OUTPUT«#<match from(0) to(0) text() pos([].list) named({"foo" => #<match from(0) to(0) text() pos([].list) named({}.hash)>}.hash)>␤»
01:18 diakopter y u no reject | | |
01:18 quietfanatic That shouldn't parse, should it?
01:19 quietfanatic yeah
01:19 diakopter std: my rule foo { | | | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
01:19 p6eval std 235f71b: OUTPUT«[31m===[0mSORRY![31m===[0m�Null pattern not allowed at /tmp/H1yPN6ubCD line 1:�------> [32mmy rule foo { | [33m�[31m| | '' | a <foo> }; say 'aaa' ~~ rx/<foo[0m�Parse failed�FAILED 00:00 41m�»
01:19 diakopter weird, I could've sworn I'd seen that error from niecza before
01:19 quietfanatic I thought niecza used std
01:25 colomon quietfanatic: it uses a hacked version of std
01:26 colomon it's closer than Rakudo, but it's not quite std
01:27 quietfanatic ah
01:30 dalek perl6-roast-data: 7dba696 | coke++ | / (3 files):
01:30 dalek perl6-roast-data: today
01:30 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7dba696354
01:30 dalek perl6-roast-data: 26dd75c | coke++ | p (2 files):
01:30 dalek perl6-roast-data: today
01:30 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/26dd75c63a
01:36 cognominal joined #perl6
01:42 zhutingting1 joined #perl6
01:55 thou joined #perl6
02:06 zhutingting joined #perl6
02:07 zhutingting left #perl6
02:08 dayangkun joined #perl6
02:48 gongyiliao joined #perl6
03:28 jaldhar joined #perl6
03:30 popl joined #perl6
03:54 kst joined #perl6
04:40 telex joined #perl6
05:09 birdwindupbird joined #perl6
05:26 Exodist joined #perl6
05:38 fgomez joined #perl6
05:53 wtw joined #perl6
05:57 xinming_ joined #perl6
06:18 tarch joined #perl6
06:22 benabik joined #perl6
06:22 dbr joined #perl6
06:23 bavisb joined #perl6
06:23 crab2313 joined #perl6
06:25 bavisb joined #perl6
06:29 bavisb_ joined #perl6
06:33 bavisb_ perl6: say 3;
06:33 p6eval rakudo 763b85, niecza v19-29-ge441498: OUTPUT«3␤»
06:35 tadzik japhb: I would rather not touch bootstrap.pl if it's not broken. It's very fragile, and painful when it breaks
06:35 phenny tadzik: 19 Aug 22:24Z <japhb> ask tadzik Did you mean that you agree with keeping DESTDIR out of PERL6LIB during bootstrap, but are nervous about keeping the original PERL6LIB out?  Or do you mean you agree on both counts, but are nervous about both as well?
06:35 tadzik good morning #perl6
06:36 sorear good morning #perl6
06:37 shachaf good morning perl6
06:40 masak good morning #perl6
06:41 bonsaikitten good afternoon slackers ;)
06:42 diakopter O
06:46 * masak works some more on slides
06:47 masak hm. the next morning, $dt.ymd and $dt.hms still feels like an OK idea.
06:47 masak it's just a shorthand for a common type of formatting.
06:48 quietfanatic good morning masak
06:48 diakopter masak: ymd
06:49 diakopter er.
06:49 diakopter I'm not sure what I meant to say there. it's late.
06:49 masak :D
06:49 masak well, 'ymd' is the ISO way.
06:49 quietfanatic good ymd, masak
06:49 masak I think we should only have 'hms', but for the 'ymd' permutations we might go with all the ones CPAN's DateTime has.
06:50 quietfanatic actually that should be hms, huh
06:50 masak quietfanatic: it's a good ymd indeed, quietfanatic. first day of YAPC::Europe.
06:50 quietfanatic ooh, nice
06:50 * masak .oO( no, Frankfurt ) :P
06:51 quietfanatic good hms, happy ymd
06:51 * masak .oO( Nice is the other way )
06:51 quietfanatic there we go :)
06:51 quietfanatic I...see.
06:51 SamuraiJack joined #perl6
06:53 diakopter all I can think of when I see .hms is Her Majesty's Ship
06:53 diakopter or whatever it is
06:54 quietfanatic well good night everyone
06:54 masak 'night, q.
06:55 quietfanatic 'q', I like that :)
06:55 masak :)
07:01 masak I found https://gist.github.com/355605 in the IRC logs.
07:01 masak .ymd and .hms aren't in there.
07:02 masak that makes it easier to think that it might have been just an omission.
07:06 * masak is kinda glad we didn't end up with "hextime" in the Temporal spec: https://github.com/perl6/specs/commit/fd5dd​3715e2e99d5f18df1e6432e6b2afc17596a#L0R151
07:12 brrt joined #perl6
07:12 sorear *blink*
07:15 masak well, it was good that that version got pushed, I think. for me, it was a wake-up call; the Temporal spec could be changed from something bad to something even worse. but it could also be improved through focused effort.
07:16 masak I think the current spec has stood the test of time.
07:16 masak well, apart from the parts that have drastically changed, of course ;)
07:16 masak but the original intent is still there: a simple, sane, subset of CPAN's DateTime.
07:17 jnthn mornin'
07:17 Khisanth joined #perl6
07:17 tarch joined #perl6
07:18 tarch left #perl6
07:26 GlitchMr joined #perl6
07:27 moritz \o
07:28 masak good UGT, jnthn, moritz
07:28 sorear o/
07:28 masak jnthn: we've been up for a while in room 607. we're planning to depart in about 12 minutes.
07:29 jnthn OK, I'll be ready around then
07:30 masak cool.
07:34 sorear hrm.  I wonder if p6 could use something for incremental/state-preserving encode/decode operations
07:35 masak spec it, and they will come.
07:36 sorear heh
07:37 sorear I have, in IO::Socket::INET, a use case for something resembling http://msdn.microsoft.com/en-us/library/h6w985hz
07:38 masak commute &
07:41 * jnthn will head down to the lobby
07:41 jnthn &
07:51 cognominal joined #perl6
07:54 MayDaniel joined #perl6
08:01 mathw Morning
08:11 uniejo joined #perl6
08:11 uniejo joined #perl6
08:18 Psyche^ joined #perl6
08:21 spider-mario joined #perl6
08:23 domidumont joined #perl6
08:26 sergot joined #perl6
08:27 sergot hi! o/
08:27 fhelmberger joined #perl6
08:33 tadzik oh hai
08:37 bbkr joined #perl6
08:42 moritz lol it's tadzik!
09:36 SamuraiJack_ joined #perl6
09:44 simcop2387 joined #perl6
09:57 dayangkun joined #perl6
09:58 moritz tadzik: https://rt.perl.org/rt3/Tic​ket/Display.html?id=114510
10:04 moritz pmichaud: did you have local changes to docs/ROADMAP? if yes, please commit them :-)
10:05 brrt left #perl6
10:17 tadzik oh noes, a bug I have to fix /o\
10:31 flussence rn: given 6 { fail('foo') unless 'abcdefg' ~~ / \w ** {0..$_} /; }
10:31 p6eval niecza v19-29-ge441498: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'fail' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at /hom…
10:31 p6eval ..rakudo 763b85: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 2, near " {0..$_} /"␤»
10:31 flussence writing cross-platform modules is hard :/
10:36 crab2313 joined #perl6
10:40 jaldhar joined #perl6
11:03 jferrero joined #perl6
11:04 ObseLeTe joined #perl6
11:12 crab2313 joined #perl6
11:15 moritz flussence: rakudo doesn't do ** plus closure yet :(
11:33 xinming joined #perl6
12:11 tadzik masak: https://gist.github.com/3403611 :)
12:11 dalek rakudo/nom: bf1521c | pmichaud++ | docs/ROADMAP:
12:11 dalek rakudo/nom: Some ROADMAP updates (moritz++ for reminding me).
12:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf1521c8d7
12:15 jsj joined #perl6
12:24 tokuhiro_ joined #perl6
12:28 [Coke] roadmap says, "as things stood in December 2011", which reads to me that it's out of date.
12:30 [Coke] r: my \foo =3; say foo;
12:30 p6eval rakudo 763b85: OUTPUT«3␤»
12:30 [Coke] moritz: can we remove "sigiless variables" from the roadmap now?
12:31 [Coke] *sigilles
12:31 [Coke] *sigilless !
12:35 krunen We wantss it, we needss it. Must have the preciouss ssigillssess.
12:36 * colomon thinks he meant $$igi||$$e$$
12:38 krunen But Gollum can't pronounce that...
12:48 ObseLeTe joined #perl6
12:52 PacoAir joined #perl6
12:54 moritz [Coke]: yes. I thought pmichaud++ had removed that already, thanks for the remainder
12:54 jaldhar joined #perl6
12:55 dalek rakudo/nom: 4b54647 | moritz++ | docs/ROADMAP:
12:55 dalek rakudo/nom: [ROADMAP] sigilless variables are done
12:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b546479d5
12:55 [Coke] colomon: my kids love her music.
12:55 [Coke] moritz: sadly, that is my level of contribution to the roadmap at hte moment. ;)
12:56 moritz [Coke]: no worries, we need hacker at every level
12:56 moritz including testing and rosettacoding etc.
12:58 shachaf joined #perl6
12:59 colomon joined #perl6
12:59 colomon [Coke]: her who?
13:00 atrodo joined #perl6
13:02 [Coke] colomon: Ke$ha, of course.
13:02 colomon [Coke]: ah.
13:02 [Coke] https://rt.perl.org/rt3/Tic​ket/Display.html?id=114250 looks appliable, no?
13:02 * colomon probably listens to more (digitzied) 78 rpm recordings than he does modern popular music.
13:03 colomon *digitized
13:04 [Coke] ... except for that fact that the patch is inlined in rt and therefore screwily formatted
13:06 moritz I notice that I've never received an email for that ticket
13:10 [Coke] http://perlcabal.org/syn/S29.html - bad pod near "run" ?
13:10 moritz aye
13:10 sirrobert hey
13:11 moritz \o sirrobert
13:11 _jaldhar joined #perl6
13:12 [Coke] did some hand rolled testing with run locally, seems like it works.
13:12 moritz I'm cleaning up the patch now, and will commit it
13:13 [Coke] moritz++
13:13 [Coke] much easier to test things things now that core compiles so much faster. :)
13:13 moritz it should really use p6box_i for the result from spawnw__IP
13:19 dalek rakudo/nom: 0093252 | GlitchMr++ | src/core/control.pm:
13:19 dalek rakudo/nom: Implement &run
13:19 dalek rakudo/nom:
13:19 dalek rakudo/nom: Currently does not distinguish between a failure to launch a program
13:19 dalek rakudo/nom: and a program that returns with a non-zero exit status. Seems that parrot
13:19 dalek rakudo/nom: doesn't support that distinction :(
13:19 dalek rakudo/nom:
13:19 dalek rakudo/nom: With some cleanups from moritz. Closes RT #114250.
13:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00932520b6
13:19 GlitchMr :)
13:19 phenny GlitchMr: 19 Aug 21:31Z <raiph> tell GlitchMr http://www.equinoxbase.com/p5p6regconv/ is a p5 to p6 regex converter (last updated 2009?)
13:21 ObseLeTe joined #perl6
13:23 sftp joined #perl6
13:25 tadzik jnthn++ has presented a Perl 6 debugger in his talks
13:25 tadzik about 700 lines of awesome, and makes Perl 6 jealoius
13:25 tadzik erm Perl 5 jealous that is
13:26 colomon Perl 6 debugger?!
13:26 tadzik yeah
13:26 tadzik it totally kicks ass
13:26 colomon jnthn++
13:26 colomon is it on github yet?  ;)
13:26 tadzik Perl 5 folks were like "I CAN HAS?"
13:27 tadzik nope, will be
13:27 pmichaud jnthn++ promises to push the debugger soon
13:27 hoelzro what's so cool about this debugger?
13:27 pmichaud we expect to include it in the 2012.08 R* release
13:27 pmichaud it's interactive
13:27 pmichaud it's like tracing code from the REPL
13:27 tadzik it has colours
13:27 pmichaud it comes with batteries
13:27 moritz hoelzro: we didn't have a debugger before
13:27 moritz \o/ jnthn++
13:28 * moritz wonders how exactly it relates to the "exceptions" topic
13:28 hoelzro moritz: well, that's a definite advantage =)
13:28 hoelzro I guess what I mean to ask is what makes it superior to Perl 5's debugger =)
13:28 pmichaud moritz: he was able to use the debugger to introspect the exceptions at the point they were thrown
13:28 tadzik it helps you debug when you have an exception, obviously :)
13:28 pmichaud i.e., in the debugger one can say "run until breakpoint or exception"
13:28 tadzik hoelzro: the awesome
13:28 skids joined #perl6
13:29 pmichaud when an exception is thrown, the debugger takes over, displays where you are, and you can introspect the exception and other things at the point of the throw
13:29 hoelzro pmichaud: I'm guessing you can filter on exception type?
13:29 pmichaud hoelzro: I don't know about that.
13:29 pmichaud I suspect that might be possible.
13:29 moritz probably just a SMOP :-)
13:29 hoelzro or even a generic predicate? ex. break exception { $^ex.can('method') }
13:29 moritz that's basically just a type
13:30 pmichaud the code is only ~800 lines of NQP+Perl 6 code, so it should be very very hackable
13:30 moritz subset CanMethod of Any where .can('method');
13:30 gfldex so i could see not only what exception was thrown where, but also the state (and therefore variables) at the point where it was thrown?
13:30 pmichaud gfldex: yes, that's what it looked like
13:30 * moritz wants to see the code
13:30 gfldex do want!
13:31 gfldex i found it always a little silly to have a stacktrace but not the parameters of the top function in that trace
13:31 gfldex you can get that with setting breakpoints, but you have to run the program twice for that
13:31 moritz well, there's always the question on how to represent objects
13:32 moritz you don't want a .perl output that spans 50 screen pages in a backtrace
13:33 * [Coke] eager awaits the commit. jnthn++
13:33 [Coke] *eagerly
13:33 pmichaud it's a separate module, atm
13:34 pmichaud at least I understand it to be that way
13:34 hoelzro I think it'd be cool if you could write debugging profiles as roles
13:34 pmichaud https://twitter.com/pmichau​d/status/237542903138881536
13:34 hoelzro so do something like \load Profile.pm6
13:34 hoelzro which would contain a role that would be applied to the debugger object, so you can automatically set breakpoints and such
13:37 * [Coke] has an idea for a bot!
13:37 * [Coke] has a $DAYJOB. dammit!
13:38 [Coke] Do we have any existing written-in-perl6 irc bots?
13:38 drbean joined #perl6
13:38 hoelzro I have a Perl6 XMPP bot
13:38 hoelzro (which is unfinished)
13:40 hoelzro which reminds me...I should really try to fix that bug that's blocking my bot for the next R*
13:41 pmichaud note that the rakudo compiler release is scheduled for Thursday.
13:41 hoelzro well, I'm not going to make it =P
13:44 * [Coke] wonders if JSON::RPC::Client can be told to follow 3xx responses.
13:46 [Coke] can we invoke methods with "."
13:46 [Coke] er... with "." in the method name?
13:47 fridim_ joined #perl6
13:48 flussence after trying to sift through >1MB of dump output full of DBIC at $dayjob for the millionth time, I'm thinking a hidden_from_{gist,perl} like the hidden_from_backtrace trait we've got might be useful at some point
13:49 [Coke] aw, http::client isn't in star.
13:49 tadzik [Coke]: doesn't p6rd run on perl 6?
13:49 tadzik p6rd: next
13:49 p6rd parrot 2012-08-21, rakudo 2012-08-23, niecza 2012-08-27
13:49 [Coke] p6rd: source?
13:49 [Coke] p6rd: help
13:49 p6rd Perl 6 release dates. Usage: p6rd: [ 'next' | 'next month' | YYYY-MM | YYYY-MM-DD ]
13:50 [Coke] so, with star, are there any modules other than "JSON::RPC" that I can use to download a web page?
13:50 tadzik [Coke]: https://github.com/moritz/p6-release​-dates/blob/master/release-dates.pl
13:51 jnthn https://github.com/jnthn/rakudo-debugger/
13:51 [Coke] tadzik: nifty, danke.
13:52 moritz star: use LWP::Simple; say LWP::Simple.get('http://perl6.org/').substr(0, 10)
13:52 p6eval star 2012.07: OUTPUT«<?xml vers␤»
13:52 moritz [Coke]: see above
13:52 [Coke] moritz: ah. it would be helpful if lwp had a description that made it more amenable to searching on modules.perl6.org, thanks!
13:53 tadzik pardon my offtopic, but https://p.twimg.com/A0u20JfCMAAGWQD.jpg is just too awesome
13:53 sirrobert heh
13:53 tadzik [Coke]: stay tuned :)
13:53 tadzik there's a fork of modules.perl6.org that has readmes included and other stuff
13:54 MayDaniel joined #perl6
13:54 sirrobert I would love to see user tagging (always wanted that for the CPAN).
13:54 tadzik so arbitrary users can tag modules?
13:54 sirrobert to allow a soft tie between modules that play well together
13:54 sirrobert in a sort of stackoverflow way
13:55 sirrobert tadzik: yeah
13:55 hoelzro so someone (I think jnthn) recommended I use nqp::findmethod($!pun, $name)($inv, |@pos, |%named) to fix qualified method calls to a method in a Role.  I tried this, but it doesn't seem to work (type check failure).  Any recommendations on how to fix qualified method calls?
13:55 sirrobert like... adding a module to a collection (tag) or something
13:55 hoelzro s/$/ with roles/
13:55 tadzik sirrobert: could you open an issue on https://github.com/sergot/modules.perl6.org ?
13:55 sirrobert tadzik: sure
13:57 sirrobert tadzik: I don't seem to be able to access the issues section
13:57 tadzik huh, hold on
13:59 sirrobert I'd love to contribute to the modules.perl6.org development.  It didn't even occur to me that it was an open project =)
13:59 flussence star: my $s = IO::Socket::INET.new(:host<perl6.org>, port => 80); $s.send(qq{GET / HTTP/1.1\r\nHost: perl6.org\r\n\r\n}); $s.recv.chars.say; # who needs LWP? :)
13:59 p6eval star 2012.07: OUTPUT«Could not find symbol 'IO::Socket::&INET'␤  in block <anon> at /tmp/j5Ey3EawG3:1␤␤»
14:00 flussence star: use IO::Socket::INET; my $s = IO::Socket::INET.new(:host<perl6.org>, port => 80); $s.send(qq{GET / HTTP/1.1\r\nHost: perl6.org\r\n\r\n}); $s.recv.chars.say; # who needs LWP? :)
14:00 p6eval star 2012.07: OUTPUT«===SORRY!===␤Could not find IO::Socket::INET in any of: /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot​/4.6.0/languages/perl6/lib␤»
14:00 flussence works on the repl :(
14:00 jnthn flussence: it's just the p6eval protection
14:01 flussence oh, makes sense.
14:02 tadzik jnthn: can has debugger patch
14:03 jnthn tadzik: You want a commit bit?
14:03 jnthn tadzik: You got one
14:04 tadzik jnthn: pull req... thanks
14:04 * jnthn is curious what it'll be :)
14:04 tadzik ^D was broken
14:04 tadzik I hope I didn't just break windows
14:05 tadzik sirrobert: issues are up
14:05 sergot joined #perl6
14:05 sergot hi o/! :)
14:06 tadzik ohai
14:06 jnthn tadzik: er
14:06 jnthn It breaks stuff it seems
14:06 tadzik oh
14:06 sirrobert tadzik: ok, thanks =)  will do in a few (off to a meeting)
14:06 tadzik sure
14:06 tadzik jnthn: in what way?
14:06 jnthn yeah, it ignores all the commands...
14:06 tadzik uh, crap
14:06 tadzik stupid me
14:06 tadzik lemmee fix it
14:07 tadzik "it's the heat, of course"
14:07 jnthn when Str { # eof
14:07 jnthn duh :P
14:07 jnthn I see what you wanted to do :)
14:07 tadzik ok, fixed
14:08 jnthn pusehd?
14:08 tadzik yep
14:08 tadzik oh, my repo
14:08 jnthn was gonna say... :)
14:09 tadzik ok it's up
14:11 jnthn fixed things :)
14:11 tadzik there'll be another thing to fix mebbe
14:11 tadzik isn't that masak who doesn't like REPLs not exiting with "say \n"? :)
14:13 att joined #perl6
14:15 japhb tadzik, I have to change bootstrap.pl at least a little to fix the "DESTDIR shouldn't go into a subdir of cwd" problem -- the first of my questions comes down to "fix or delete".  The second question (re: external PERL6LIB) we can table, no problem.
14:15 tadzik japhb: ok cool, go ahead
14:16 * japhb chuckles ... er, are you saying I should fix or delete?  ;-)
14:16 tadzik oh :)
14:16 tadzik it's hot in here, I'm thinking slowly
14:16 japhb It's quite alright, I understand completely.  :-)
14:16 fhelmberger joined #perl6
14:17 Moukeddar joined #perl6
14:17 * tadzik slowly starts to understand his code
14:17 Moukeddar left #perl6
14:17 tadzik okay, I suspect that the whole DESTDIR case is just me being stupid in the first place
14:18 tadzik so you may want to try removing that {cwd}/DESTDIR thing and seeing if that works
14:18 tadzik if it doesn't then I think it's better to remove it instead of having it wrong, I can try to recreate that later on
14:19 tokuhiro_ joined #perl6
14:19 domidumont joined #perl6
14:19 japhb OK, I'll nuke those lines then and test.  (In a couple hours, have to take kids to first day of school.)
14:20 tadzik sure, family goes first :)
14:20 tadzik have fun
14:20 japhb thx
14:25 kaare_ joined #perl6
14:27 mtk joined #perl6
14:31 JimmyZ joined #perl6
14:34 jeffreykegler joined #perl6
14:35 * [Coke] wishes that feather automatically had the latest star installed every time instead of the very old 2010.08
14:37 raiph joined #perl6
14:37 [Coke] do folks have a perl6 twitter search that is more interesting than "#perl6" ?
14:38 tadzik "perl 6" sometimes has more stuff
14:38 [Coke] sorry, "#perl6 OR #p6p5"
14:39 [Coke] so, '#perl6 OR #p6p5 OR "perl 6"'
14:40 * moritz would love to have some default searches merged into his "home" twitter stream
14:40 tadzik yeah
14:40 tadzik there are some third-party web clients which allow that
14:40 tadzik or that's what I seem to recal
14:42 mtk joined #perl6
14:46 PerlJam jnthn++  (that debugger is cool)
14:47 moritz needs a META.info
14:47 tadzik so panda needs makefiles after all
14:47 tadzik * support makefiles
14:47 tadzik or we need another mechanism to build non -perl67 stuff
14:48 tadzik I'll talk to Module People of Perl 5 about that
14:48 moritz maybe an entry in META.info what command to launch
14:49 moritz (I like the default that pure p6 modules don't need any build commands themselvs to work under panda, we should preserve that)
14:52 [Coke] star: use Net::Bot::IRC; #awww.
14:52 p6eval star 2012.07: OUTPUT«===SORRY!===␤Could not find Net::Bot::IRC in any of: /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot​/4.6.0/languages/perl6/lib␤»
14:53 [Coke] so, if I have several local installs of rakudo, can I use panda in each of them, or is panda tied to my home dir?
14:53 moritz [Coke]: currently it's tied to the home dir :-)
14:53 moritz erm, :-(
14:53 moritz that annoys me as well
14:54 flussence .oO( you could always use multiple home dirs... )
14:54 * PerlJam wonders if it's worth it to have perlbrew-like functionality built-in to perl 6
14:54 [Coke] so, if I use panda, I should have a separate dir I work in panda out of, and not try to use the various rakudo build dirs.
14:55 moritz what I sometimes do is   cp -r ~/.perl6/lib/* `perl6 -e 'say @*INC[1]`
14:55 moritz and then change $PATH to swap in another rakudo binary
14:56 raiph left #perl6
14:56 sirrobert tadzik: added feature request issue (modules.perl6.org)
14:56 moritz and then run 'repanda', which is my script to blank out ~/.perl6/lib and install panda and my most commonly used modules
14:56 [Coke] https://gist.github.com/3404935 #panda boostrap doesn't work
14:57 raiph joined #perl6
14:57 [Coke] did panda not work with rakudo-star 2012.07?
14:57 raiph std: my \f = 1; f = 2
14:57 p6eval std 235f71b: OUTPUT«ok 00:00 42m␤»
14:57 [Coke] (and if I use a newer rakudo compiler to boostrap panda, can I still use that panda with the older 2012.07?)
14:57 raiph r: my \f = 1; f = 2
14:57 p6eval rakudo 009325: OUTPUT«Cannot assign to a non-container␤  in block  at /tmp/xvcAJIh0xT:1␤␤»
14:58 moritz [Coke]: (no)
14:59 [Coke] moritz: ... so panda only ever works with one installed rakudo, no switchies?
14:59 moritz [Coke]: panda worked with 2012.07. But there's no need to run bootstrap together with star, because 'make install' installs panda too
14:59 moritz [Coke]: correct
14:59 [Coke] no need shouldn't == "BOOM"
15:00 [Coke] if I run ".../path/to/star/panda help" it dies with the same Shell::Command error.
15:00 [Coke] that is: ~/sandbox/cjsix/rakudo-star​-2012.07/install/bin/panda help
15:02 [Coke] there is a ~/.panda, but I cannot claim to know how old it is.
15:02 [Coke] .. and it's empty
15:02 sirrobert ls -l ?
15:03 sirrobert err, I guess -g =)
15:03 [Coke] sirrobert: Yes, I can do that. I mean, "I have no idea how the hell it got there, or if I ever used it."
15:03 sirrobert Coke: oh, I thought you meant it might give you a clue as to the origin =)
15:03 [Coke] so, at this point, I have no working panda (and therefore, cannot install Net::IRC::Bot)
15:03 sirrobert I've used panda's bootstrap successfully a number of times
15:04 sirrobert even a week ago
15:04 raiph std: my \f = 1; f =2; f := 3
15:04 [Coke] yes, but I'm not running bootstrap against a rakudo from a week ago.
15:04 p6eval std 235f71b: OUTPUT«ok 00:00 42m␤»
15:04 sirrobert ah
15:05 [Coke] so, my question is, with a fresh, local install of rakudo star 2012.07... how can I use panda?
15:06 raiph moritz: please note my p6evals of last few minutes
15:12 tadzik [Coke]: doesn't panda come with 2012.07?
15:14 raiph moritz: is rakudo going to allow "my \foo = 1; foo := 2"? "my \bar = 2; bar = 3"? "my \baz;"?
15:19 fhelmberger joined #perl6
15:22 crab2313 joined #perl6
15:24 thou joined #perl6
15:28 thelazydeveloper joined #perl6
15:33 moritz raiph: no
15:33 moritz erm wait, maybe "yes" to the binding
15:33 moritz r: my \foo = 1; foo := 2
15:33 p6eval rakudo 009325: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/hyI4o93nx9:1␤»
15:33 moritz n: my \foo = 1; foo := 2
15:33 p6eval niecza v19-29-ge441498:  ( no output )
15:34 moritz but not assignment
15:35 * moritz should read what the spec says to that, if it says something at all
15:35 moritz maybe we shouldn't call them variables
15:35 moritz "lexical terms"
15:56 bbkr r: grammar G { rule TOP { \%TES } }; G.parse(q{%TEST%}).say'
15:56 p6eval rakudo 009325: OUTPUT«===SORRY!===␤Confused␤at /tmp/Gyw3XiFuUC:1␤»
15:56 bbkr r: grammar G { rule TOP { \%TES } }; G.parse(q{%TEST%}).say
15:56 p6eval rakudo 009325: OUTPUT«#<failed match>␤»
15:56 bbkr r: grammar G { rule TOP { \%TEST } }; G.parse(q{%TEST%}).say
15:56 p6eval rakudo 009325: OUTPUT«「%TEST」␤␤»
15:57 bbkr who can explain this? :)
15:58 att joined #perl6
15:58 PerlJam bbkr: whitespace.
15:59 PerlJam (okay, not an explanation, but rather a guess; and it looks like the guess may be wrong)
16:00 bbkr grammar G { rule TOP { \% } }; G.parse(q{%TEST%}).say # and it gets even more weird
16:00 bbkr above one matches
16:01 PerlJam r: grammar G { token { \%TEST } }; G.parse(q{%TEST%}).say
16:01 p6eval rakudo 009325: OUTPUT«No such method 'TOP' for invocant of type 'G'␤  in method parse at src/gen/CORE.setting:9937␤  in block  at /tmp/vmI5LYK2Cf:1␤␤»
16:01 PerlJam r: grammar G { token TOP  { \%TEST } }; G.parse(q{%TEST%}).say
16:01 p6eval rakudo 009325: OUTPUT«「%TEST」␤␤»
16:01 PerlJam r: grammar G { token TOP  { \%TES } }; G.parse(q{%TEST%}).say
16:01 p6eval rakudo 009325: OUTPUT«「%TES」␤␤»
16:02 PerlJam r: grammar G { token TOP  { :sigspace \%TES } }; G.parse(q{%TEST%}).say
16:02 p6eval rakudo 009325: OUTPUT«#<failed match>␤»
16:02 PerlJam r: grammar G { token TOP  { :sigspace \%TEST } }; G.parse(q{%TEST%}).say
16:02 p6eval rakudo 009325: OUTPUT«「%TEST」␤␤»
16:04 am0c joined #perl6
16:04 * bbkr is confused, there is no space between last "T" and "%" so why sigspace matters?
16:05 moritz because the implicit <.ws> at the end of rule TOP does not match between two alphanumeric chars
16:05 moritz nr: say so 'ab' ~~ /a <.ws> b/'
16:05 p6eval niecza v19-29-ge441498: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/s7_IB23zGv line 1:�------> [32msay so 'ab' ~~ /a <.ws> b/[33m�[31m'[0m��Parse failed��»
16:05 p6eval ..rakudo 009325: OUTPUT«===SORRY!===␤Confused␤at /tmp/0mwYWYUO_Y:1␤»
16:05 moritz nr: say so 'ab' ~~ /a <.ws> b/
16:05 p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«False␤»
16:06 moritz nr: say so 'a' ~~ /a <.ws> /
16:06 p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«True␤»
16:06 moritz nr: say so 'ab' ~~ /a <.ws> /
16:06 p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«False␤»
16:07 PerlJam moritz++
16:08 bbkr I didn't know about implicit <.ws> , everything works now, tahnks. moritz++ PerlJam++
16:08 moritz bbkr: that's what 'rule' adds over 'token'
16:09 moritz http://faq.perl6.org/#rule
16:13 jeffreykegler joined #perl6
16:17 dbr joined #perl6
16:17 PerlJam Looks like that FAQ entry should be modified slightly for the new :sigspace semantics.
16:18 PerlJam (i.e. leading whitespace on the regex or alternations is not signficant)
16:19 dalek features: 2c59021 | moritz++ | features.json:
16:19 dalek features: require in rakudo does arglists; $=POD is now spelled $=pod
16:19 dalek features: review: https://github.com/perl6/f​eatures/commit/2c59021c45
16:21 dalek faq: 856e7a1 | moritz++ | answers.md:
16:21 dalek faq: [rule] mention that leading whitespace is ignored, PerlJam++
16:21 dalek faq: review: https://github.com/perl6/faq/commit/856e7a1d6b
16:21 [Coke] tadzik: yes, panda comes with 2012.07. it doesn't work.
16:22 [Coke] whenever I run it, I get an error about "Shell::Command"
16:22 [Coke] tadzik: https://gist.github.com/3405487
16:24 [Coke] now, I did try to run bootstrap at some point. Could that have sabotaged a working panda?
16:24 [Coke] hurm. I can always reinstall and check, I suppose.
16:25 moritz something is odd with that installation
16:25 moritz the install location is ./rakudo-star-2012.07/install
16:25 moritz but it has /home/ingy/local/lib/parrot​/2.7.0/languages/perl6/lib in @*INC
16:25 [Coke] arrrgh.
16:25 [Coke] I just cd'd to rakudo-star-2012.07, rm -rf install, make install... "nqp is too old"
16:26 [Coke] moritz: I just did "perl Configure.pl --gen-parrot; make; make install" in that dir.
16:26 [Coke] bah. I'll remove the whole build and try again.
16:27 moritz hm, maybe some part of the star installation uses the perl6 from $PATH, not the right one
16:28 [Coke] that would suck.
16:28 moritz it would indeed
16:29 [Coke] ... I'll kill this and redo it again, capturing the output.
16:40 [Coke] I wonder if it's the installed panda that's the issue.
16:40 * [Coke] will check the shebang once this monster finishes.
16:40 hoelzro pmichaud: do you happen to know if your YAPC::NA lightning talk was recorded at all?
16:44 Circlepuller_ joined #perl6
16:46 Circlepuller__ joined #perl6
16:47 Circlepuller__ joined #perl6
16:47 raiph joined #perl6
16:49 Circlepuller joined #perl6
16:55 [Coke] http://feather.perl6.nl/~c​oke/star-install-bad-panda
16:55 [Coke] aye: panda's shebang is: #!/usr/bin/env perl6
16:55 [Coke] when we install perl scripts with star, we should probably change their shebang to the perl6 doing the installing.
16:56 moritz +1
16:57 colomon +1
16:57 [Coke] so, to make it work, I can either change my path, or edit panda. I edited panda.
16:57 [Coke] (my local installed copy)
16:59 [Coke] urk. panda error messages very verbose.
17:00 bonifatio joined #perl6
17:07 [Coke] bah. Net::IRC::Bot doesn't build with panda on 2012.07-star
17:07 jeffreykegler joined #perl6
17:07 [Coke] is this why it wasn't included, perhaps? moritz, what version of Net::IRC::Bot and rakudo are you using on your bot
17:07 [Coke] ?
17:09 [Coke] colomon: I would expect it to return the number 2. no?
17:09 [Coke] (re issue # 145)
17:15 colomon [Coke]: are we supposed to handle any numeric system that Unicode recognizes?
17:20 moritz I think so, yes
17:21 moritz [Coke]: I use some rakudo after 2012.07 and the latest Net::IRC::Bot commit 99e638df1ec548aab32d1e6f756301400f487237
17:22 [Coke] bah.
17:22 [Coke] arglebargle. I will delay this project until I have a star/panda/net::bot::irc combo that works.
17:25 moritz pmichaud: any objections to adding Net::IRC::Bot to star?
17:25 colomon moritz: is there a guide to doing that anywhere?  does rakudo manage it?
17:26 [Coke] r: ೨.say
17:26 p6eval rakudo 009325: OUTPUT«===SORRY!===␤'೨' is not a valid number at line 2, near ".say"␤»
17:26 colomon what happens if you mix digits from different number systems?
17:26 [Coke] r: ೨;
17:26 p6eval rakudo 009325: OUTPUT«===SORRY!===␤'೨' is not a valid number at line 2, near ";"␤»
17:26 [Coke] std: ೨;
17:26 p6eval std 235f71b: OUTPUT«ok 00:00 40m␤»
17:27 moritz colomon: there are two files to which you have to add the module URL in the rakudo/star repo, Makefile and skel/tools/build/Makefile.in
17:27 * colomon 's interaction in this issue is not helped by the fact that none of his software displays that digit as anything but a box.
17:32 moritz you "just" need a hash with all digit characters and their integer values
17:34 * [Coke] supposes he could try to fix the build failure on net::bot::irc so that it /does/ work with 2012.07; that seems like the path of least resistance.
17:34 diakopter Unicode's DerivedNumericValues.txt
17:35 diakopter http://unicode.org/Public/UNIDATA/​extracted/DerivedNumericValues.txt
17:35 diakopter the 4th field could be split by "/" to get numerator and denominator for Rats
17:36 colomon diakopter: I am looking, believe me.
17:40 [Coke] u .0f32
17:40 diakopter .u 0f32
17:40 moritz .u 0f32
17:40 phenny U+0F32 TIBETAN DIGIT HALF NINE (༲)
17:40 phenny U+0F32 TIBETAN DIGIT HALF NINE (༲)
17:40 * colomon is hacking on niecza
17:40 diakopter I'll half nine you
17:41 * [Coke] wonders how long until someone requests that we ignore TTIAR for roman numerals.
17:41 moritz U+XXXXX STAR TREK DIGIT SEVEN OF NINE
17:42 diakopter haha
17:42 [Coke] or would that even bee TTIAR? what do we expect to happen if someone has 4 numbers in a row from 3 different numeric systems.
17:42 diakopter that'd be one curvy character
17:43 diakopter [Coke]: I don't know. that file doesn't specify the base or RTL/LTR direction of the numbers
17:43 sirrobert hey, why would I want to use rakudo over niecza or vice versa?
17:43 sirrobert besides implementation of particular features, which I don't care about right now.
17:44 [Coke] sirrobert: it passes slightly more spec tests than niecza, and has a star release that includes several modules from modules.perl6.org
17:44 [Coke] then you'd have to care about speed and or back end platform.
17:44 sirrobert ok, great -- thanks =)
17:44 [Coke] niecza is MONO/.NET, rakudo is parrot
17:45 sirrobert ohh, I didn't realize
17:45 sirrobert good to know
17:45 [Coke] std: say \x301f
17:46 p6eval std 235f71b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'x301f' used at line 1�Check failed�FAILED 00:00 41m�»
17:46 [Coke] std: say "\x301f"
17:46 p6eval std 235f71b: OUTPUT«ok 00:00 41m␤»
17:46 [Coke] std: say \x0AE6
17:46 p6eval std 235f71b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'x0AE6' used at line 1�Check failed�FAILED 00:00 41m�»
17:46 [Coke] std: say +"\x0AE6"
17:46 p6eval std 235f71b: OUTPUT«ok 00:00 41m␤»
17:47 [Coke] how can I make that a literal number without having to cut and paste the codepoint in or trick my keyboard?
17:48 diakopter colomon: it would be nice if we knew the base and left/right direction of those number chars
17:49 diakopter and non-arabic number layouts/syntaxes
17:49 diakopter I guess most are base 10
17:50 diakopter all?
17:50 colomon there's no clue in the Numeric values file that it might be anything other than base 10
17:51 * colomon loves the fact that half zero is -0.5
17:51 diakopter do you see the pattern?
17:52 * [Coke] was reading those "halfs" kind of like "quarter to" on a clock.
17:52 colomon to the tibetan half digits?  it's minus .5 from the normal digits
17:52 moritz sirrobert: I guess I should write an FAQ entry about that
17:53 sirrobert =)
17:53 colomon it seems like niecza isn't handling the Numeric_Value table properly (or I just haven't figure out how to use it), so adding other digits will not be trivial.
17:54 colomon or possibly I am a numbskull
17:55 colomon both possibilities may be true.
17:55 tokuhiro_ joined #perl6
17:56 colomon niecza> "\x0F2E".unicode_digit
17:56 colomon 9/2
17:57 colomon .u 0F2E
17:57 phenny U+0F2E TIBETAN DIGIT HALF FIVE (༮)
17:57 colomon :)
17:57 moritz n: class A { has $.x }; my $a = A.new; $a.x = 42; say $a.x
17:57 p6eval niecza v19-29-ge441498: OUTPUT«42␤»
17:58 moritz https://gist.github.com/3406172 # my very first and very subjective comparison
17:59 moritz since I'm a regular rakudo contributor and user (more so than niecza), I'm very biased
17:59 moritz so I'd like to hear from others ( colomon, sorear, [Coke], masak, * ) what they have to add
17:59 diakopter might point out included in the library support is threading
18:00 GlitchMr .u 0F2D
18:00 phenny U+0F2D TIBETAN DIGIT HALF FOUR (༭)
18:00 GlitchMr Those numbers look for me like squares. Lack of font, I guess
18:00 GlitchMr ༭ is 3.5?
18:01 moritz diakopter: added
18:01 moritz + heredocs
18:01 colomon GlitchMr: let's ask niecza.
18:01 GlitchMr niecza: print +༭
18:01 p6eval niecza v19-29-ge441498: OUTPUT«[31m===[0mSORRY![31m===[0m��Prefix requires an argument at /tmp/Mh9wQpMfRm line 1:�------> [32mprint +[33m�[31m༭[0m��Parse failed��»
18:01 colomon niecza> "༭".unicode_digit
18:01 colomon 7/2
18:02 colomon GlitchMr: my local copy of niecza is the only one that shows any knowledge of these digits.  (see above)
18:02 GlitchMr So, Text::Unidecode is correct :)
18:02 diakopter moritz: what's the difference between "development pool" and "developer pool" under rakudo?
18:03 moritz diakopter: I meant to only put in "developer pool"
18:03 moritz double entries are double
18:03 moritz fixed.
18:03 moritz diakopter++
18:03 diakopter might add ability to precompile modules to rakudo
18:04 moritz niecza precompiles its setting
18:04 diakopter oh oops
18:04 moritz can't that be used for modules too?
18:04 * moritz has no idea
18:04 diakopter yes I'm sure you're right
18:04 diakopter my brain cut out for a second
18:04 nodmonkey joined #perl6
18:05 diakopter on second thought.. colomon do you know how to precompile a module on niecza and then use it?
18:06 * geekosaur quick google search indicates the half digits are dubious at best
18:06 colomon diakopter: I believe niecza automatically precompiles modules the first time you try to use them.
18:06 colomon it's got some sort of cache for them.
18:07 diakopter oh
18:07 colomon yup
18:08 colomon in my Niecza/obj directory I see files with names like Run.ABC.Grammar.dll and Run.ABC.Grammar.ser.
18:11 diakopter I'm curious whether anyone has systematically studied performance of regexes on either niecza or rakudo... getting basic rates such as "eat any character", "repeat one character", "alternate between a ton of alternatives", "backtrack geometrically"
18:13 hoelzro I have good news and bad^H^H^Hnews
18:14 hoelzro The good news is I implemented my first Rakudo bugfix =)
18:14 hoelzro the other news is I had to turn off nominal type checking to do it =/
18:14 hoelzro is it possible to check what roles an object's class consumes from C?
18:15 moritz from what kind of C code?
18:15 moritz C-in-the-Rakudo-source code?
18:16 hoelzro yes
18:16 hoelzro binder.c
18:16 hoelzro iirc
18:16 hoelzro er, src/binder/bind.c
18:17 moritz are you looking into the typed array thing?
18:17 hoelzro I'm looking at line 419
18:21 takadonet joined #perl6
18:22 moritz r: class A { }; role R { }; say (A but R) ~~ (A but R)
18:22 p6eval rakudo 009325: OUTPUT«False␤»
18:23 xinming joined #perl6
18:24 moritz iirc jnthn++ said that the fix is to cache those mixins
18:24 moritz r: class A { }; role R { }; say (A but R) === (A but R)
18:24 p6eval rakudo 009325: OUTPUT«True␤»
18:24 moritz oh WTF
18:24 benabik r: class A {}; roll R {}; say (A but R) ~~ A; say (A but R) ~~ R
18:24 p6eval rakudo 009325: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&R' called (lines 1, 1, 1, 1)␤»
18:25 benabik :-/
18:25 benabik r: class A { }; role R { }; say (A but R) ~~ A; say (A but R) ~~ R
18:25 p6eval rakudo 009325: OUTPUT«True␤True␤»
18:26 fhelmberger joined #perl6
18:30 hoelzro moritz: jnthn said something like this:
18:30 hoelzro nqp::findmethod($!pun, $name)($inv, |@pos, |%named)
18:30 hoelzro which works
18:30 hoelzro but it doesn't pass the typecheck
18:35 fibo joined #perl6
18:39 tokuhiro_ joined #perl6
19:15 moritz so of what type is $inv, and what type is expected?
19:17 hoelzro moritz: my test is in S12-methods/qualified.t
19:17 hoelzro $inv is a Consumer object, which consumes R
19:18 hoelzro self is expected to be something that consumes R
19:19 moritz so, pure speculation
19:19 moritz R is generic in its invocant type
19:19 moritz so the R composed into Consumer is really R[Consumer]
19:20 moritz and R[Consumer] doesn't typecheck against R
19:20 hoelzro that sounds about right.
19:20 hoelzro it seems that the Rakudo C stuff doesn't check roles when typechecking
19:20 hoelzro which, from my limited understanding of the internals, makes sense
19:21 moritz erm
19:21 moritz sub f(@a) { }; f 'foo'
19:21 moritz r: sub f(@a) { }; f my $ = 'foo'
19:21 p6eval rakudo 009325: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Str instead␤  in sub f at /tmp/Kgt4DbmsLw:1␤  in block  at /tmp/Kgt4DbmsLw:1␤␤»
19:21 hoelzro huh.
19:21 moritz that's a type check against a role
19:21 * hoelzro wonders why he can't find a single reference to roles in src/*/*.c
19:22 moritz nr: role R { method me() { } }; class Consumer does R { }; say Consumer ~~ R
19:22 p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«True␤»
19:23 moritz nr: role R[$x] { method me() { } }; class Consumer does R[Int] { }; say Consumer ~~ R
19:23 p6eval niecza v19-29-ge441498: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤No value for parameter '$x' in 'role-R'â�¤  at /tmp/x527Q_Ode0 line 0 (role-R @ 1) â�¤  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/x527Q_Ode0 line 1:â�¤------> [32m() { } }; class Consumer does R[Int] { }[33mâ��[31m; say Cons…
19:23 p6eval ..rakudo 009325: OUTPUT«True␤»
19:26 colomon joined #perl6
19:27 hoelzro the failure I'm seeing is happening with qualified method calls
19:28 hoelzro and I'm not sure how to check role consumption from C...
19:30 moritz I guess that's what the STABLE(...)->type_check does
19:30 hoelzro yeah, that's what I would think
19:31 hoelzro although it doesn't seem to work
19:31 hoelzro I'll try some other stuff out...
19:37 DreamingInCode joined #perl6
19:50 hoelzro ok
19:50 hoelzro here's the deal
19:50 hoelzro $inv.does($obj), but $inv doesn't have a relationship to the pun object
19:50 hoelzro so Rakudo tries to typecheck Consumer against Any+{R}, which fails
19:59 arnsholt IIRC there're some issues with roles in Rakudo. It's a problem for Zavolaj as well
20:00 arnsholt Could be something related to parametrized roles if your code above is representative
20:00 hoelzro my test doesn't use parameterized roles at all
20:08 hoelzro is there a way to get the code for a Role's method other than nqp::findmethod?
20:14 nich0s joined #perl6
20:14 stopbit joined #perl6
20:14 nich0s left #perl6
20:21 moritz sure
20:21 moritz YourRole.^find_method
20:22 hoelzro that's implemented via RolePunning, right?
20:25 moritz you can also look into the various files in src/Perl6/Metamodel/ and see if you find some low level access
20:28 birdwindupbird joined #perl6
20:29 spaceships joined #perl6
20:29 sirrobert joined #perl6
20:30 spaceships left #perl6
20:33 sirrobert r: class A is Array { has $.str = "foo"; }; say A.new.str;
20:33 p6eval rakudo 009325: OUTPUT«Any()␤»
20:35 sirrobert That seems to work if I do something like "does Positional", but then I don't get Iterable
20:35 sirrobert any tips for making an array-like thing?
20:36 moritz is that related to Array.new doing funky stuff?
20:36 sirrobert hmmm dunno
20:36 sirrobert how could I check?
20:36 moritz r: class A is Array { has $.str = "foo"; submethod BUILD(:$!str) {} }; say A.new.str
20:37 p6eval rakudo 009325: OUTPUT«Any()␤»
20:37 moritz sirrobert: see what List.new and Array.new do
20:37 sirrobert ok, one sec
20:37 moritz maybe it doesn't go through bless
20:37 * hoelzro wishes the build cycle for Rakudo were a little shorter...
20:39 sirrobert yeah, array has its own new method... it doesn't seem to use bless, but I don't know what it does do =)
20:39 sirrobert some nqp and pir stuff
20:39 pmichaud good evening, #perl6
20:39 hoelzro o/ pmichaud
20:39 sirrobert hi pmichaud
20:39 sirrobert moritz: same with List
20:40 moritz sirrobert: it's bless that is (indirectly) responsible for attribute initialization
20:40 pmichaud I might be able to get List.new and Array.new to go through bless.
20:41 sirrobert out of curiosity, why wouldn't they go through bless?
20:41 pmichaud speed
20:41 sirrobert ah
20:41 sirrobert I'm trying to make an List-like thing
20:41 pmichaud lists are fundamental and used by a lot of internals; you don't always want things going through the extra work of bless and the BUILDALL sequence
20:41 sirrobert yeah
20:41 moritz r: class A is Array { has $.str = "foo"; method new(*@elems, *%attrs) { my $cand = self.Array::new(@elems); self.bless($cand, |%attrs) } }; say A.new.str
20:41 p6eval rakudo 009325: OUTPUT«foo␤»
20:42 moritz sirrobert: that should fix it
20:42 sirrobert moritz++
20:42 sirrobert thanks
20:42 moritz r: class A is Array { has $.str = "foo"; method new(*@elems, *%attrs) { my $cand = self.Array::new(@elems); self.bless($cand, |%attrs) } }; say A.new(<a b c>)[1]
20:42 p6eval rakudo 009325: OUTPUT«b␤»
20:42 pmichaud the internals don't use .new very much, though, so it wouldn't surprise me if I could refactor (Array|List).new to use BUILD and work with bless
20:43 moritz that's the first time that the candidate argument to bless is actually useful
20:43 moritz I mean, that I find it useful for stuff
20:43 sorear [Coke]: to test the numeric literal parser, I suggest evanl
20:44 sirrobert thanks, that's super helpful guys.
20:46 * moritz now tests a local patch that changes the shebang lines of ufo and panda upon installing
20:49 sorear diakopter: seems relevant, http://www.unicode.org/reports/tr44/ search for "Numeric_Type"
20:50 diakopter eh?
20:50 diakopter what question are you answering
20:51 diakopter oh, base/syntax of numbers
20:56 dalek star: 089584d | moritz++ | skel/tools/build/ (2 files):
20:56 dalek star: adapt shebang line on installing
20:56 dalek star: review: https://github.com/rakudo/star/commit/089584d357
21:06 diakopter .u HEXAGRAM
21:06 phenny U+4DCA HEXAGRAM FOR PEACE (䷊)
21:06 diakopter .u HEXAGRAM HEAVEN
21:06 phenny U+4DC0 HEXAGRAM FOR THE CREATIVE HEAVEN (䷀)
21:07 jnthn evening o/
21:09 colomon .u HEXAGRAM HELL
21:09 phenny colomon: Sorry, no results for 'HEXAGRAM HELL'.
21:09 jnthn hoelzro: For raw method table access there's .^method_table
21:09 hoelzro oooo
21:09 hoelzro jnthn: thanks!
21:13 jnthn hoelzro: oh, I see you asked something about how role type checking works
21:14 jnthn The answer is that the ->type_check stuff is implemented in the 6model core
21:14 jnthn (thus in the nqp repo)
21:14 jnthn but the interesting logic of what types are accepted is held completely in src/Perl6/Metamodel
21:16 hoelzro yeah, I've spent the last couple of hours wrapping my head around both of those =)
21:16 jnthn :)
21:16 hoelzro but at least now I have a (slightly) better idea of how Rakudo works
21:16 hoelzro which will make future work easier =)
21:20 [Coke] moritz++ #shebanginatorinator
21:20 jnthn Yes, it can take a little getting into :)
21:23 japhb_ joined #perl6
21:23 hoelzro be back later
21:36 japhb_ phenny, ask tadzik, Can panda GitHub issue #15 "install for windows, Could not find Shell::Command" be closed now?
21:36 phenny japhb_: I'll pass that on when tadzik is around.
21:37 * jnthn -> sleep
21:38 masak evening, #perl6
21:38 japhb_ o/ jnthn
21:38 japhb_ o/ masak
21:39 japhb_ (I love the symmetry of waving, like "Aloha!")
21:39 masak colomon: I believe that the Chinese have a notion of "hell", but it's not nearly as popular as the notion of "heaven".
21:40 japhb_ There is more than one way to read that ...  :-)
21:40 masak colomon: ...the latter which seems to mean more "the awesome place that decides over us all" than "desirable destination".
21:40 masak though I'm not a scholar in these matters, just an amateur.
21:47 kst joined #perl6
21:53 colomon masak: I guess I was just being optimistic.  ;)
21:57 bruges_ joined #perl6
22:29 skids joined #perl6
22:34 sergot good night! :)
22:35 masak 'branoc, sergocie
22:47 Moukeddar joined #perl6
22:51 popl joined #perl6
23:06 Tene joined #perl6
23:06 Tene joined #perl6
23:09 masak 'night, #perl6
23:10 japhb_ o/
23:10 sorear 'night.
23:13 bluescreen10 joined #perl6
23:14 am0c joined #perl6
23:25 dalek perl6-roast-data: 7b45cd4 | coke++ | p (2 files):
23:25 dalek perl6-roast-data: today
23:25 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7b45cd4119
23:25 Pleiades` joined #perl6
23:35 dalek panda: 984edf3 | (Geoffrey Broadwell)++ | TODO:
23:35 dalek panda: Add open GitHub issues to TODO as a quick reference
23:35 dalek panda: review: https://github.com/tadzik/panda/commit/984edf347f
23:35 dalek panda: a540262 | (Geoffrey Broadwell)++ | bin/panda:
23:35 dalek panda: Narrow the installed for dependency marker in 'panda list'
23:36 japhb_ Boom!  Take that, dalek!
23:36 dalek joined #perl6
23:38 dalek panda: 7d693fc | (Geoffrey Broadwell)++ | TODO:
23:38 dalek panda: Remove completed TODO
23:38 dalek panda: review: https://github.com/tadzik/panda/commit/7d693fc800
23:39 bluescreen10 joined #perl6
23:40 ObseLeTe joined #perl6
23:41 [Coke] tadzik: why is muEvent not in modules.perl6.org?

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs