»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 thou left 00:10 spider-mario left 00:13 tokuhiro_ joined 00:24 raiph left 00:29 mtk left 00:34 ObseLeTe joined 00:39 larks left, larks joined
quietfanatic p6: my rule foo { a }; say 'a' ~~ rx/<foo>/ 00:58
p6eval rakudo 763b85: OUTPUT«「a」␤ foo => 「a」␤␤»
..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)>␤»
quietfanatic oh it does work
which means rule subcalls are lexical, which means you don't need a grammar 00:59
which will make implementing <foo>-type subrules in formats so much easier.
01:03 scott__ joined
diakopter p6: my rule foo { a <foo> }; say 'aaa' ~~ rx/<foo>/ 01:06
p6eval niecza v19-29-ge441498: OUTPUT«Match()␤»
..rakudo 763b85: OUTPUT«#<failed match>␤»
01:07 am0c joined 01:08 popl left
quietfanatic why does niecza match that 01:11
diakopter it doesn't
quietfanatic oh
diakopter why don't they?
quietfanatic right
01:11 tokuhiro_ left
quietfanatic they don't match it because it infinitely recurses, requiring one more 'a' each iteration. 01:11
diakopter oh oops :)
p6: my rule foo { a <foo>? }; say 'aaa' ~~ rx/<foo>/ 01:12
p6eval niecza v19-29-ge441498: OUTPUT«Match()␤»
..rakudo 763b85: OUTPUT«#<failed match>␤»
quietfanatic p6: my rule foo { | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
p6eval rakudo 763b85: OUTPUT«「」␤ foo => 「」␤␤»
..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)>␤»
quietfanatic that one with the ? I have no idea why it doesn't match
also shouldn't mine ltm?
diakopter token? 01:13
quietfanatic oh, right, rule introduces sigspace and that doesn't like tlmming.
oh, that too
diakopter p6: my token foo { | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
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)…
..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␤␤»…
quietfanatic the rule is wanting the space because a and a are alphanumeric
silly me
diakopter well, nieczxa liked it but rakudo didn't 01:14
quietfanatic that's odd
p6: my token foo { a }; say 'a' ~~ rx/<foo>/
p6eval rakudo 763b85: OUTPUT«「a」␤ foo => 「a」␤␤»
..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)>␤»
quietfanatic Rakudo can't recurse in a token? 01:16
diakopter p6: my token foo { | '' | a <&foo> }; say 'aaa' ~~ rx/<foo>/
p6eval rakudo 763b85: OUTPUT«「aaa」␤ foo => 「aaa」␤␤»
..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)>␤»
diakopter go figure 01:17
quietfanatic oh
p6: my rule foo { | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
p6eval rakudo 763b85: OUTPUT«「」␤ foo => 「」␤␤»
..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)>␤»
quietfanatic p6: my rule foo {|''|a<foo>}; say 'aaa' ~~ rx/<foo>/
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)…
..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␤␤»…
quietfanatic it didn't get to foo because the sigspace failed it
and it's only failing at runtime.
fail[0] = failed match, fail[1] = failed execution 01:18
diakopter p6: my rule foo { | | | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
p6eval rakudo 763b85: OUTPUT«「」␤ foo => 「」␤␤»
..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)>␤»
diakopter y u no reject | | |
quietfanatic That shouldn't parse, should it? 01:19
yeah
diakopter std: my rule foo { | | | '' | a <foo> }; say 'aaa' ~~ rx/<foo>/
p6eval std 235f71b: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/H1yPN6ubCD line 1:␤------> my rule foo { | ⏏| | '' | a <foo> }; say 'aaa' ~~ rx/<foo␤Parse failed␤FAILED 00:00 41m␤»
diakopter weird, I could've sworn I'd seen that error from niecza before
quietfanatic I thought niecza used std
colomon quietfanatic: it uses a hacked version of std 01:25
it's closer than Rakudo, but it's not quite std 01:26
quietfanatic ah 01:27
dalek rl6-roast-data: 7dba696 | coke++ | / (3 files):
today
01:30
rl6-roast-data: 26dd75c | coke++ | p (2 files):
today
01:36 cognominal joined 01:42 zhutingting1 joined 01:43 zhutingting left 01:47 att left 01:53 zhutingting1 left 01:55 thou joined 02:06 zhutingting joined 02:07 zhutingting left 02:08 dayangkun joined 02:30 nodmonkey left 02:48 gongyiliao joined 02:49 gongyiliao left 03:09 ObseLeTe left 03:20 jaldhar left 03:28 jaldhar joined 03:30 popl joined 03:36 kst left 03:37 sftp left 03:54 kst joined 04:26 am0c left 04:40 telex left, telex joined 04:53 vlixes left 05:09 birdwindupbird joined 05:26 Exodist joined 05:38 fgomez joined 05:49 cognominal left 05:53 wtw joined 05:58 xinming_ joined, fgomez left 06:00 xinming left 06:13 popl left 06:18 tarch joined 06:22 benabik joined, dbr joined 06:23 bavisb joined, crab2313 joined 06:24 bavisb left 06:25 bavisb joined, PacoAir left 06:29 bavisb_ joined 06:30 bavisb left
bavisb_ perl6: say 3; 06:33
p6eval rakudo 763b85, niecza v19-29-ge441498: OUTPUT«3␤»
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?
tadzik good morning #perl6
sorear good morning #perl6 06:36
shachaf good morning perl6 06:37
masak good morning #perl6 06:40
bonsaikitten good afternoon slackers ;) 06:41
diakopter O 06:42
06:44 bavisb_ left
masak works some more on slides 06:46
hm. the next morning, $dt.ymd and $dt.hms still feels like an OK idea. 06:47
it's just a shorthand for a common type of formatting.
quietfanatic good morning masak 06:48
diakopter masak: ymd
er. 06:49
I'm not sure what I meant to say there. it's late.
masak :D
well, 'ymd' is the ISO way.
quietfanatic good ymd, masak
masak I think we should only have 'hms', but for the 'ymd' permutations we might go with all the ones CPAN's DateTime has.
quietfanatic actually that should be hms, huh 06:50
masak quietfanatic: it's a good ymd indeed, quietfanatic. first day of YAPC::Europe.
quietfanatic ooh, nice
masak .oO( no, Frankfurt ) :P
quietfanatic good hms, happy ymd 06:51
masak .oO( Nice is the other way )
quietfanatic there we go :)
I...see.
06:51 SamuraiJack joined
diakopter all I can think of when I see .hms is Her Majesty's Ship 06:53
or whatever it is
quietfanatic well good night everyone 06:54
masak 'night, q.
quietfanatic 'q', I like that :) 06:55
masak :)
06:55 tarch left 06:56 Khisanth left
masak I found gist.github.com/355605 in the IRC logs. 07:01
.ymd and .hms aren't in there.
that makes it easier to think that it might have been just an omission. 07:02
masak is kinda glad we didn't end up with "hextime" in the Temporal spec: github.com/perl6/specs/commit/fd5d...96a#L0R151 07:06
07:12 brrt joined
sorear *blink* 07:12
07:13 hoelzro|away is now known as hoelzro
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:15
I think the current spec has stood the test of time. 07:16
well, apart from the parts that have drastically changed, of course ;)
but the original intent is still there: a simple, sane, subset of CPAN's DateTime.
jnthn mornin' 07:17
07:17 Khisanth joined, tarch joined 07:18 tarch left 07:26 GlitchMr joined
moritz \o 07:27
masak good UGT, jnthn, moritz 07:28
sorear o/
masak jnthn: we've been up for a while in room 607. we're planning to depart in about 12 minutes.
jnthn OK, I'll be ready around then 07:29
masak cool. 07:30
sorear hrm. I wonder if p6 could use something for incremental/state-preserving encode/decode operations 07:34
masak spec it, and they will come. 07:35
sorear heh 07:36
I have, in IO::Socket::INET, a use case for something resembling msdn.microsoft.com/en-us/library/h6w985hz 07:37
masak commute & 07:38
jnthn will head down to the lobby 07:41
&
07:44 thou left 07:51 cognominal joined 07:54 MayDaniel joined
mathw Morning 08:01
08:11 uniejo joined, uniejo left, uniejo joined 08:12 uniejo left 08:18 Psyche^ joined 08:21 spider-mario joined 08:22 Patterner left, Psyche^ is now known as Patterner 08:23 domidumont joined 08:26 sergot joined
sergot hi! o/ 08:27
08:27 fhelmberger joined 08:28 cognominal left
tadzik oh hai 08:33
08:37 bbkr joined
moritz lol it's tadzik! 08:43
09:36 SamuraiJack_ joined 09:39 SamuraiJack left 09:42 simcop2387 left 09:44 simcop2387 joined 09:51 sergot left, dayangkun left 09:57 dayangkun joined
moritz tadzik: rt.perl.org/rt3/Ticket/Display.html?id=114510 09:58
pmichaud: did you have local changes to docs/ROADMAP? if yes, please commit them :-) 10:04
10:05 brrt left 10:09 scott__ left
tadzik oh noes, a bug I have to fix /o\ 10:17
flussence rn: given 6 { fail('foo') unless 'abcdefg' ~~ / \w ** {0..$_} /; } 10:31
p6eval niecza v19-29-ge441498: OUTPUT«===SORRY!===␤␤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…
..rakudo 763b85: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 2, near " {0..$_} /"␤»
flussence writing cross-platform modules is hard :/
10:33 MayDaniel left 10:35 crab2313 left 10:36 crab2313 joined, dayangkun left 10:39 jaldhar left 10:40 jaldhar joined 10:47 jaldhar left 10:59 Patterner left 11:03 crab2313 left, jferrero joined 11:04 ObseLeTe joined 11:08 ObseLeTe left 11:12 crab2313 joined
moritz flussence: rakudo doesn't do ** plus closure yet :( 11:15
11:32 xinming_ left 11:33 xinming joined 11:45 crab2313 left 11:51 skids left
tadzik masak: gist.github.com/3403611 :) 12:11
dalek kudo/nom: bf1521c | pmichaud++ | docs/ROADMAP:
Some ROADMAP updates (moritz++ for reminding me).
12:15 jsj joined 12:24 tokuhiro_ joined
[Coke] roadmap says, "as things stood in December 2011", which reads to me that it's out of date. 12:28
r: my \foo =3; say foo; 12:30
p6eval rakudo 763b85: OUTPUT«3␤»
[Coke] moritz: can we remove "sigiless variables" from the roadmap now?
12:31 jsj left
[Coke] *sigilles 12:31
*sigilless !
krunen We wantss it, we needss it. Must have the preciouss ssigillssess. 12:35
colomon thinks he meant $$igi||$$e$$ 12:36
krunen But Gollum can't pronounce that... 12:38
12:48 ObseLeTe joined 12:52 PacoAir joined
moritz [Coke]: yes. I thought pmichaud++ had removed that already, thanks for the remainder 12:54
12:54 jaldhar joined
dalek kudo/nom: 4b54647 | moritz++ | docs/ROADMAP:
[ROADMAP] sigilless variables are done
12:55
[Coke] colomon: my kids love her music.
moritz: sadly, that is my level of contribution to the roadmap at hte moment. ;)
moritz [Coke]: no worries, we need hacker at every level 12:56
including testing and rosettacoding etc.
12:58 colomon left, shachaf left, shachaf joined 12:59 colomon joined
colomon [Coke]: her who? 12:59
13:00 atrodo joined
[Coke] colomon: Ke$ha, of course. 13:02
colomon [Coke]: ah.
[Coke] rt.perl.org/rt3/Ticket/Display.html?id=114250 looks appliable, no?
colomon probably listens to more (digitzied) 78 rpm recordings than he does modern popular music.
*digitized 13:03
[Coke] ... except for that fact that the patch is inlined in rt and therefore screwily formatted 13:04
moritz I notice that I've never received an email for that ticket 13:06
[Coke] perlcabal.org/syn/S29.html - bad pod near "run" ? 13:10
moritz aye
sirrobert hey
moritz \o sirrobert 13:11
13:11 _jaldhar joined
[Coke] did some hand rolled testing with run locally, seems like it works. 13:12
13:12 jaldhar left
moritz I'm cleaning up the patch now, and will commit it 13:12
[Coke] moritz++ 13:13
much easier to test things things now that core compiles so much faster. :)
moritz it should really use p6box_i for the result from spawnw__IP
dalek kudo/nom: 0093252 | GlitchMr++ | src/core/control.pm:
Implement &run

Currently does not distinguish between a failure to launch a program and a program that returns with a non-zero exit status. Seems that parrot doesn't support that distinction :(
With some cleanups from moritz. Closes RT #114250.
13:19
GlitchMr :)
phenny GlitchMr: 19 Aug 21:31Z <raiph> tell GlitchMr www.equinoxbase.com/p5p6regconv/ is a p5 to p6 regex converter (last updated 2009?)
13:21 ObseLeTe left, ObseLeTe joined 13:23 sftp joined
tadzik jnthn++ has presented a Perl 6 debugger in his talks 13:25
13:25 drbean left
tadzik about 700 lines of awesome, and makes Perl 6 jealoius 13:25
erm Perl 5 jealous that is
colomon Perl 6 debugger?! 13:26
tadzik yeah
it totally kicks ass
colomon jnthn++
is it on github yet? ;)
tadzik Perl 5 folks were like "I CAN HAS?"
nope, will be 13:27
pmichaud jnthn++ promises to push the debugger soon
hoelzro what's so cool about this debugger?
pmichaud we expect to include it in the 2012.08 R* release
it's interactive
it's like tracing code from the REPL
tadzik it has colours
pmichaud it comes with batteries
moritz hoelzro: we didn't have a debugger before
\o/ jnthn++
moritz wonders how exactly it relates to the "exceptions" topic 13:28
hoelzro moritz: well, that's a definite advantage =)
I guess what I mean to ask is what makes it superior to Perl 5's debugger =)
pmichaud moritz: he was able to use the debugger to introspect the exceptions at the point they were thrown
tadzik it helps you debug when you have an exception, obviously :)
pmichaud i.e., in the debugger one can say "run until breakpoint or exception"
tadzik hoelzro: the awesome
13:28 skids joined
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?
pmichaud hoelzro: I don't know about that.
I suspect that might be possible.
moritz probably just a SMOP :-)
hoelzro or even a generic predicate? ex. break exception { $^ex.can('method') }
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
moritz subset CanMethod of Any where .can('method');
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?
pmichaud gfldex: yes, that's what it looked like
moritz wants to see the code
gfldex do want!
i found it always a little silly to have a stacktrace but not the parameters of the top function in that trace 13:31
you can get that with setting breakpoints, but you have to run the program twice for that
moritz well, there's always the question on how to represent objects
you don't want a .perl output that spans 50 screen pages in a backtrace 13:32
[Coke] eager awaits the commit. jnthn++ 13:33
*eagerly
pmichaud it's a separate module, atm
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
pmichaud twitter.com/pmichaud/status/237542903138881536
hoelzro so do something like \load Profile.pm6
which would contain a role that would be applied to the debugger object, so you can automatically set breakpoints and such
[Coke] has an idea for a bot! 13:37
[Coke] has a $DAYJOB. dammit!
Do we have any existing written-in-perl6 irc bots? 13:38
13:38 drbean joined
hoelzro I have a Perl6 XMPP bot 13:38
(which is unfinished)
which reminds me...I should really try to fix that bug that's blocking my bot for the next R* 13:40
pmichaud note that the rakudo compiler release is scheduled for Thursday. 13:41
hoelzro well, I'm not going to make it =P
[Coke] wonders if JSON::RPC::Client can be told to follow 3xx responses. 13:44
can we invoke methods with "." 13:46
er... with "." in the method name?
13:47 fridim_ joined
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:48
[Coke] aw, http::client isn't in star. 13:49
tadzik [Coke]: doesn't p6rd run on perl 6?
p6rd: next
p6rd parrot 2012-08-21, rakudo 2012-08-23, niecza 2012-08-27
[Coke] p6rd: source?
p6rd: help
p6rd Perl 6 release dates. Usage: p6rd: [ 'next' | 'next month' | YYYY-MM | YYYY-MM-DD ]
[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]: github.com/moritz/p6-release-dates...e-dates.pl
jnthn github.com/jnthn/rakudo-debugger/ 13:51
[Coke] tadzik: nifty, danke.
moritz star: use LWP::Simple; say LWP::Simple.get('perl6.org/').substr(0, 10) 13:52
p6eval star 2012.07: OUTPUT«<?xml vers␤»
moritz [Coke]: see above
[Coke] moritz: ah. it would be helpful if lwp had a description that made it more amenable to searching on modules.perl6.org, thanks!
tadzik pardon my offtopic, but p.twimg.com/A0u20JfCMAAGWQD.jpg is just too awesome 13:53
sirrobert heh
tadzik [Coke]: stay tuned :)
there's a fork of modules.perl6.org that has readmes included and other stuff
13:54 MayDaniel joined
sirrobert I would love to see user tagging (always wanted that for the CPAN). 13:54
tadzik so arbitrary users can tag modules?
sirrobert to allow a soft tie between modules that play well together
in a sort of stackoverflow way
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?
sirrobert like... adding a module to a collection (tag) or something
hoelzro s/$/ with roles/
tadzik sirrobert: could you open an issue on github.com/sergot/modules.perl6.org ?
sirrobert tadzik: sure
tadzik: I don't seem to be able to access the issues section 13:57
tadzik huh, hold on
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? :)
p6eval star 2012.07: OUTPUT«Could not find symbol 'IO::Socket::&INET'␤ in block <anon> at /tmp/j5Ey3EawG3:1␤␤»
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␤»
flussence works on the repl :(
jnthn flussence: it's just the p6eval protection
flussence oh, makes sense. 14:01
tadzik jnthn: can has debugger patch 14:03
jnthn tadzik: You want a commit bit?
tadzik: You got one
tadzik jnthn: pull req... thanks 14:04
jnthn is curious what it'll be :)
14:04 domidumont left
tadzik ^D was broken 14:04
I hope I didn't just break windows
sirrobert: issues are up 14:05
14:05 sergot joined
sergot hi o/! :) 14:05
tadzik ohai 14:06
jnthn tadzik: er
It breaks stuff it seems
tadzik oh
sirrobert tadzik: ok, thanks =) will do in a few (off to a meeting)
tadzik sure
jnthn: in what way?
jnthn yeah, it ignores all the commands...
tadzik uh, crap
stupid me
lemmee fix it
"it's the heat, of course" 14:07
jnthn when Str { # eof
duh :P
I see what you wanted to do :)
tadzik ok, fixed
jnthn pusehd? 14:08
tadzik yep
oh, my repo
jnthn was gonna say... :)
tadzik ok it's up 14:09
jnthn fixed things :) 14:11
tadzik there'll be another thing to fix mebbe
isn't that masak who doesn't like REPLs not exiting with "say \n"? :)
14:13 att joined
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
japhb chuckles ... er, are you saying I should fix or delete? ;-) 14:16
14:16 fhelmberger left
tadzik oh :) 14:16
it's hot in here, I'm thinking slowly
japhb It's quite alright, I understand completely. :-)
14:16 fhelmberger joined 14:17 Moukeddar joined
tadzik slowly starts to understand his code 14:17
14:17 tokuhiro_ left, Moukeddar left
tadzik okay, I suspect that the whole DESTDIR case is just me being stupid in the first place 14:17
so you may want to try removing that {cwd}/DESTDIR thing and seeing if that works 14:18
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, domidumont joined
japhb OK, I'll nuke those lines then and test. (In a couple hours, have to take kids to first day of school.) 14:19
tadzik sure, family goes first :) 14:20
have fun
japhb thx
14:24 fhelmberger left, tokuhiro_ left 14:25 kaare_ joined 14:27 mtk joined 14:31 JimmyZ joined, mtk left 14:34 jeffreykegler joined
[Coke] wishes that feather automatically had the latest star installed every time instead of the very old 2010.08 14:35
14:37 raiph joined
[Coke] do folks have a perl6 twitter search that is more interesting than "#perl6" ? 14:37
tadzik "perl 6" sometimes has more stuff 14:38
[Coke] sorry, "#perl6 OR #p6p5"
so, '#perl6 OR #p6p5 OR "perl 6"' 14:39
moritz would love to have some default searches merged into his "home" twitter stream 14:40
tadzik yeah
there are some third-party web clients which allow that
or that's what I seem to recal
14:42 mtk joined
PerlJam jnthn++ (that debugger is cool) 14:46
moritz needs a META.info 14:47
tadzik so panda needs makefiles after all
* support makefiles
or we need another mechanism to build non -perl67 stuff
I'll talk to Module People of Perl 5 about that 14:48
moritz maybe an entry in META.info what command to launch
(I like the default that pure p6 modules don't need any build commands themselvs to work under panda, we should preserve that) 14:49
[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␤»
[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 :-)
erm, :-(
that annoys me as well
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
[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.
moritz what I sometimes do is cp -r ~/.perl6/lib/* `perl6 -e 'say @*INC[1]` 14:55
and then change $PATH to swap in another rakudo binary
14:56 raiph left
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
[Coke] gist.github.com/3404935 #panda boostrap doesn't work
14:57 raiph joined
[Coke] did panda not work with rakudo-star 2012.07? 14:57
raiph std: my \f = 1; f = 2
p6eval std 235f71b: OUTPUT«ok 00:00 42m␤»
[Coke] (and if I use a newer rakudo compiler to boostrap panda, can I still use that panda with the older 2012.07?)
raiph r: my \f = 1; f = 2
p6eval rakudo 009325: OUTPUT«Cannot assign to a non-container␤ in block at /tmp/xvcAJIh0xT:1␤␤»
moritz [Coke]: (no) 14:58
[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
[Coke]: correct
[Coke] no need shouldn't == "BOOM"
if I run ".../path/to/star/panda help" it dies with the same Shell::Command error. 15:00
that is: ~/sandbox/cjsix/rakudo-star-2012.07/install/bin/panda help
there is a ~/.panda, but I cannot claim to know how old it is. 15:02
.. and it's empty
sirrobert ls -l ?
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."
sirrobert Coke: oh, I thought you meant it might give you a clue as to the origin =)
[Coke] so, at this point, I have no working panda (and therefore, cannot install Net::IRC::Bot)
sirrobert I've used panda's bootstrap successfully a number of times
even a week ago 15:04
raiph std: my \f = 1; f =2; f := 3
[Coke] yes, but I'm not running bootstrap against a rakudo from a week ago.
p6eval std 235f71b: OUTPUT«ok 00:00 42m␤»
sirrobert ah
[Coke] so, my question is, with a fresh, local install of rakudo star 2012.07... how can I use panda? 15:05
raiph moritz: please note my p6evals of last few minutes 15:06
15:06 kst left 15:07 JimmyZ left 15:11 jeffreykegler left
tadzik [Coke]: doesn't panda come with 2012.07? 15:12
15:14 _jaldhar left
raiph moritz: is rakudo going to allow "my \foo = 1; foo := 2"? "my \bar = 2; bar = 3"? "my \baz;"? 15:14
15:15 birdwindupbird left 15:19 fhelmberger joined 15:22 crab2313 joined, fhelmberger left 15:23 att left 15:24 thou joined 15:28 thelazydeveloper joined
moritz raiph: no 15:33
erm wait, maybe "yes" to the binding
15:33 crab2313 left
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␤»
moritz n: my \foo = 1; foo := 2
p6eval niecza v19-29-ge441498: ( no output )
moritz but not assignment 15:34
moritz should read what the spec says to that, if it says something at all 15:35
maybe we shouldn't call them variables
"lexical terms"
15:48 hoelzro is now known as hoelzro|away 15:50 dbr left
bbkr r: grammar G { rule TOP { \%TES } }; G.parse(q{%TEST%}).say' 15:56
p6eval rakudo 009325: OUTPUT«===SORRY!===␤Confused␤at /tmp/Gyw3XiFuUC:1␤»
bbkr r: grammar G { rule TOP { \%TES } }; G.parse(q{%TEST%}).say
p6eval rakudo 009325: OUTPUT«#<failed match>␤»
bbkr r: grammar G { rule TOP { \%TEST } }; G.parse(q{%TEST%}).say
p6eval rakudo 009325: OUTPUT«「%TEST」␤␤»
bbkr who can explain this? :) 15:57
15:58 att joined
PerlJam bbkr: whitespace. 15:58
(okay, not an explanation, but rather a guess; and it looks like the guess may be wrong) 15:59
bbkr grammar G { rule TOP { \% } }; G.parse(q{%TEST%}).say # and it gets even more weird 16:00
above one matches
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␤␤»
PerlJam r: grammar G { token TOP { \%TEST } }; G.parse(q{%TEST%}).say
p6eval rakudo 009325: OUTPUT«「%TEST」␤␤»
PerlJam r: grammar G { token TOP { \%TES } }; G.parse(q{%TEST%}).say
p6eval rakudo 009325: OUTPUT«「%TES」␤␤»
PerlJam r: grammar G { token TOP { :sigspace \%TES } }; G.parse(q{%TEST%}).say 16:02
p6eval rakudo 009325: OUTPUT«#<failed match>␤»
PerlJam r: grammar G { token TOP { :sigspace \%TEST } }; G.parse(q{%TEST%}).say
p6eval rakudo 009325: OUTPUT«「%TEST」␤␤»
16:04 am0c joined
bbkr is confused, there is no space between last "T" and "%" so why sigspace matters? 16:04
moritz because the implicit <.ws> at the end of rule TOP does not match between two alphanumeric chars 16:05
nr: say so 'ab' ~~ /a <.ws> b/'
p6eval niecza v19-29-ge441498: OUTPUT«===SORRY!===␤␤Confused at /tmp/s7_IB23zGv line 1:␤------> say so 'ab' ~~ /a <.ws> b/⏏'␤␤Parse failed␤␤»
..rakudo 009325: OUTPUT«===SORRY!===␤Confused␤at /tmp/0mwYWYUO_Y:1␤»
moritz nr: say so 'ab' ~~ /a <.ws> b/
p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«False␤»
moritz nr: say so 'a' ~~ /a <.ws> / 16:06
p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«True␤»
moritz nr: say so 'ab' ~~ /a <.ws> /
p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«False␤»
PerlJam moritz++ 16:07
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'
faq.perl6.org/#rule 16:09
16:13 jeffreykegler joined 16:14 wtw left 16:17 dbr joined
PerlJam Looks like that FAQ entry should be modified slightly for the new :sigspace semantics. 16:17
(i.e. leading whitespace on the regex or alternations is not signficant) 16:18
dalek atures: 2c59021 | moritz++ | features.json:
require in rakudo does arglists; $=POD is now spelled $=pod
16:19
16:20 jeffreykegler left
dalek q: 856e7a1 | moritz++ | answers.md:
[rule] mention that leading whitespace is ignored, PerlJam++
16:21
[Coke] tadzik: yes, panda comes with 2012.07. it doesn't work.
whenever I run it, I get an error about "Shell::Command" 16:22
tadzik: gist.github.com/3405487
now, I did try to run bootstrap at some point. Could that have sabotaged a working panda? 16:24
hurm. I can always reinstall and check, I suppose.
moritz something is odd with that installation 16:25
the install location is ./rakudo-star-2012.07/install
but it has /home/ingy/local/lib/parrot/2.7.0/languages/perl6/lib in @*INC
[Coke] arrrgh.
I just cd'd to rakudo-star-2012.07, rm -rf install, make install... "nqp is too old" 16:26
moritz: I just did "perl Configure.pl --gen-parrot; make; make install" in that dir.
bah. I'll remove the whole build and try again.
moritz hm, maybe some part of the star installation uses the perl6 from $PATH, not the right one 16:27
[Coke] that would suck. 16:28
moritz it would indeed
[Coke] ... I'll kill this and redo it again, capturing the output. 16:29
16:33 raiph left
[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|away is now known as hoelzro
hoelzro pmichaud: do you happen to know if your YAPC::NA lightning talk was recorded at all? 16:40
16:43 Circlepuller_ left 16:44 Circlepuller_ joined 16:45 bbkr left 16:46 Circlepuller__ joined, Circlepuller__ left 16:47 Circlepuller__ joined, raiph joined 16:49 Circlepuller_ left, Circlepuller joined 16:52 Circlepuller__ left
[Coke] feather.perl6.nl/~coke/star-install-bad-panda 16:55
aye: panda's shebang is: #!/usr/bin/env perl6
when we install perl scripts with star, we should probably change their shebang to the perl6 doing the installing.
moritz +1 16:56
colomon +1 16:57
[Coke] so, to make it work, I can either change my path, or edit panda. I edited panda.
(my local installed copy)
16:58 bonifatio left
[Coke] urk. panda error messages very verbose. 16:59
17:00 bonifatio joined
[Coke] bah. Net::IRC::Bot doesn't build with panda on 2012.07-star 17:07
17:07 jeffreykegler joined
[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
?
colomon: I would expect it to return the number 2. no? 17:09
(re issue # 145)
17:10 hoelzro is now known as hoelzro|away
colomon [Coke]: are we supposed to handle any numeric system that Unicode recognizes? 17:15
moritz I think so, yes 17:20
[Coke]: I use some rakudo after 2012.07 and the latest Net::IRC::Bot commit 99e638df1ec548aab32d1e6f756301400f487237 17:21
[Coke] bah. 17:22
17:22 ObseLeTe left
[Coke] arglebargle. I will delay this project until I have a star/panda/net::bot::irc combo that works. 17:22
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?
[Coke] r: ೨.say 17:26
p6eval rakudo 009325: OUTPUT«===SORRY!===␤'೨' is not a valid number at line 2, near ".say"␤»
colomon what happens if you mix digits from different number systems?
[Coke] r: ೨;
p6eval rakudo 009325: OUTPUT«===SORRY!===␤'೨' is not a valid number at line 2, near ";"␤»
[Coke] std: ೨;
p6eval std 235f71b: OUTPUT«ok 00:00 40m␤»
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.
moritz you "just" need a hash with all digit characters and their integer values 17:32
[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
unicode.org/Public/UNIDATA/extracte...Values.txt 17:35
the 4th field could be split by "/" to get numerator and denominator for Rats
colomon diakopter: I am looking, believe me. 17:36
[Coke] u .0f32 17:40
diakopter .u 0f32
moritz .u 0f32
phenny U+0F32 TIBETAN DIGIT HALF NINE (༲)
colomon is hacking on niecza
diakopter I'll half nine you
[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
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.
diakopter that'd be one curvy character
[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?
besides implementation of particular features, which I don't care about right now.
[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
then you'd have to care about speed and or back end platform.
sirrobert ok, great -- thanks =)
[Coke] niecza is MONO/.NET, rakudo is parrot
sirrobert ohh, I didn't realize 17:45
good to know
[Coke] std: say \x301f 17:46
p6eval std 235f71b: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'x301f' used at line 1␤Check failed␤FAILED 00:00 41m␤»
[Coke] std: say "\x301f"
p6eval std 235f71b: OUTPUT«ok 00:00 41m␤»
[Coke] std: say \x0AE6
p6eval std 235f71b: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'x0AE6' used at line 1␤Check failed␤FAILED 00:00 41m␤»
[Coke] std: say +"\x0AE6"
p6eval std 235f71b: OUTPUT«ok 00:00 41m␤»
[Coke] how can I make that a literal number without having to cut and paste the codepoint in or trick my keyboard? 17:47
diakopter colomon: it would be nice if we knew the base and left/right direction of those number chars 17:48
and non-arabic number layouts/syntaxes 17:49
I guess most are base 10
all? 17:50
colomon there's no clue in the Numeric values file that it might be anything other than base 10
colomon loves the fact that half zero is -0.5 17:51
diakopter do you see the pattern?
[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
moritz sirrobert: I guess I should write an FAQ entry about that
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.
or possibly I am a numbskull 17:54
both possibilities may be true. 17:55
17:55 tokuhiro_ joined
colomon niecza> "\x0F2E".unicode_digit 17:56
9/2
.u 0F2E 17:57
phenny U+0F2E TIBETAN DIGIT HALF FIVE (༮)
colomon :)
moritz n: class A { has $.x }; my $a = A.new; $a.x = 42; say $a.x
p6eval niecza v19-29-ge441498: OUTPUT«42␤»
moritz gist.github.com/3406172 # my very first and very subjective comparison 17:58
since I'm a regular rakudo contributor and user (more so than niecza), I'm very biased 17:59
so I'd like to hear from others ( colomon, sorear, [Coke], masak, * ) what they have to add
diakopter might point out included in the library support is threading
GlitchMr .u 0F2D 18:00
phenny U+0F2D TIBETAN DIGIT HALF FOUR (༭)
18:00 tokuhiro_ left
GlitchMr Those numbers look for me like squares. Lack of font, I guess 18:00
༭ is 3.5?
moritz diakopter: added 18:01
+ heredocs
colomon GlitchMr: let's ask niecza.
GlitchMr niecza: print +༭
p6eval niecza v19-29-ge441498: OUTPUT«===SORRY!===␤␤Prefix requires an argument at /tmp/Mh9wQpMfRm line 1:␤------> print +⏏༭␤␤Parse failed␤␤»
colomon niecza> "༭".unicode_digit
7/2
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 :)
diakopter moritz: what's the difference between "development pool" and "developer pool" under rakudo?
moritz diakopter: I meant to only put in "developer pool" 18:03
double entries are double
fixed.
diakopter++
diakopter might add ability to precompile modules to rakudo
moritz niecza precompiles its setting 18:04
diakopter oh oops
moritz can't that be used for modules too?
moritz has no idea
diakopter yes I'm sure you're right
my brain cut out for a second
18:04 nodmonkey joined
diakopter on second thought.. colomon do you know how to precompile a module on niecza and then use it? 18:05
18:06 xinming left
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.
it's got some sort of cache for them.
diakopter oh 18:07
colomon yup
in my Niecza/obj directory I see files with names like Run.ABC.Grammar.dll and Run.ABC.Grammar.ser. 18:08
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:11
18:12 hoelzro|away is now known as hoelzro
hoelzro I have good news and bad^H^H^Hnews 18:13
The good news is I implemented my first Rakudo bugfix =) 18:14
the other news is I had to turn off nominal type checking to do it =/
is it possible to check what roles an object's class consumes from C?
moritz from what kind of C code? 18:15
C-in-the-Rakudo-source code?
hoelzro yes 18:16
binder.c
iirc
er, src/binder/bind.c
moritz are you looking into the typed array thing? 18:17
hoelzro I'm looking at line 419
18:21 takadonet joined
moritz r: class A { }; role R { }; say (A but R) ~~ (A but R) 18:22
p6eval rakudo 009325: OUTPUT«False␤»
18:23 xinming joined
moritz iirc jnthn++ said that the fix is to cache those mixins 18:24
r: class A { }; role R { }; say (A but R) === (A but R)
p6eval rakudo 009325: OUTPUT«True␤»
moritz oh WTF
benabik r: class A {}; roll R {}; say (A but R) ~~ A; say (A but R) ~~ R
p6eval rakudo 009325: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&R' called (lines 1, 1, 1, 1)␤»
benabik :-/ 18:25
r: class A { }; role R { }; say (A but R) ~~ A; say (A but R) ~~ R
p6eval rakudo 009325: OUTPUT«True␤True␤»
18:26 fhelmberger joined 18:28 fhelmberger left
hoelzro moritz: jnthn said something like this: 18:30
nqp::findmethod($!pun, $name)($inv, |@pos, |%named)
which works
but it doesn't pass the typecheck
18:35 fibo joined 18:39 tokuhiro_ joined 18:48 benabik left 18:55 sirrobert left 18:56 raiph left, bonifatio left 19:05 GlitchMr left 19:14 colomon left
moritz so of what type is $inv, and what type is expected? 19:15
hoelzro moritz: my test is in S12-methods/qualified.t 19:17
$inv is a Consumer object, which consumes R
19:18 jeffreykegler left
hoelzro self is expected to be something that consumes R 19:18
moritz so, pure speculation 19:19
R is generic in its invocant type
so the R composed into Consumer is really R[Consumer]
and R[Consumer] doesn't typecheck against R 19:20
hoelzro that sounds about right.
it seems that the Rakudo C stuff doesn't check roles when typechecking
which, from my limited understanding of the internals, makes sense
moritz erm 19:21
sub f(@a) { }; f 'foo'
r: sub f(@a) { }; f my $ = 'foo'
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␤␤»
hoelzro huh.
moritz that's a type check against a role
hoelzro wonders why he can't find a single reference to roles in src/*/*.c
moritz nr: role R { method me() { } }; class Consumer does R { }; say Consumer ~~ R 19:22
p6eval rakudo 009325, niecza v19-29-ge441498: OUTPUT«True␤»
moritz nr: role R[$x] { method me() { } }; class Consumer does R[Int] { }; say Consumer ~~ R 19:23
p6eval niecza v19-29-ge441498: OUTPUT«===SORRY!===␤␤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:␤------> () { } }; class Consumer does R[Int] { }⏏; say Cons…
..rakudo 009325: OUTPUT«True␤»
19:26 colomon joined
hoelzro the failure I'm seeing is happening with qualified method calls 19:27
and I'm not sure how to check role consumption from C... 19:28
moritz I guess that's what the STABLE(...)->type_check does 19:30
hoelzro yeah, that's what I would think
although it doesn't seem to work 19:31
I'll try some other stuff out...
19:33 SamuraiJack_ left 19:37 DreamingInCode joined 19:45 erkan left
hoelzro ok 19:50
here's the deal
$inv.does($obj), but $inv doesn't have a relationship to the pun object
so Rakudo tries to typecheck Consumer against Any+{R}, which fails
19:53 att left
arnsholt IIRC there're some issues with roles in Rakudo. It's a problem for Zavolaj as well 19:59
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
is there a way to get the code for a Role's method other than nqp::findmethod? 20:08
20:14 nich0s joined, stopbit joined, nich0s left
moritz sure 20:21
YourRole.^find_method
hoelzro that's implemented via RolePunning, right? 20:22
moritz you can also look into the various files in src/Perl6/Metamodel/ and see if you find some low level access 20:25
20:28 birdwindupbird joined 20:29 spaceships joined, sirrobert joined 20:30 spaceships left
sirrobert r: class A is Array { has $.str = "foo"; }; say A.new.str; 20:33
p6eval rakudo 009325: OUTPUT«Any()␤»
sirrobert That seems to work if I do something like "does Positional", but then I don't get Iterable 20:35
any tips for making an array-like thing?
moritz is that related to Array.new doing funky stuff? 20:36
sirrobert hmmm dunno
how could I check?
moritz r: class A is Array { has $.str = "foo"; submethod BUILD(:$!str) {} }; say A.new.str 20:37
p6eval rakudo 009325: OUTPUT«Any()␤»
moritz sirrobert: see what List.new and Array.new do
sirrobert ok, one sec
moritz maybe it doesn't go through bless
hoelzro wishes the build cycle for Rakudo were a little shorter...
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
some nqp and pir stuff
pmichaud good evening, #perl6
hoelzro o/ pmichaud
sirrobert hi pmichaud
moritz: same with List
20:40 skids left
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.
sirrobert out of curiosity, why wouldn't they go through bless? 20:41
pmichaud speed
sirrobert ah
I'm trying to make an List-like thing
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
sirrobert yeah
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
p6eval rakudo 009325: OUTPUT«foo␤» 20:42
moritz sirrobert: that should fix it
sirrobert moritz++
thanks
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]
p6eval rakudo 009325: OUTPUT«b␤»
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
moritz that's the first time that the candidate argument to bless is actually useful 20:43
I mean, that I find it useful for stuff
sorear [Coke]: to test the numeric literal parser, I suggest evanl
sirrobert thanks, that's super helpful guys. 20:44
20:44 atrodo left
moritz now tests a local patch that changes the shebang lines of ufo and panda upon installing 20:46
sorear diakopter: seems relevant, www.unicode.org/reports/tr44/ search for "Numeric_Type" 20:49
diakopter eh? 20:50
what question are you answering
oh, base/syntax of numbers 20:51
dalek ar: 089584d | moritz++ | skel/tools/build/ (2 files):
adapt shebang line on installing
20:56
diakopter .u HEXAGRAM 21:06
phenny U+4DCA HEXAGRAM FOR PEACE (䷊)
diakopter .u HEXAGRAM HEAVEN
phenny U+4DC0 HEXAGRAM FOR THE CREATIVE HEAVEN (䷀)
jnthn evening o/ 21:07
colomon .u HEXAGRAM HELL 21:09
phenny colomon: Sorry, no results for 'HEXAGRAM HELL'.
jnthn hoelzro: For raw method table access there's .^method_table
hoelzro oooo
jnthn: thanks!
21:10 kaare_ left, fibo left 21:11 MayDaniel left
jnthn hoelzro: oh, I see you asked something about how role type checking works 21:13
The answer is that the ->type_check stuff is implemented in the 6model core 21:14
(thus in the nqp repo)
but the interesting logic of what types are accepted is held completely in src/Perl6/Metamodel
hoelzro yeah, I've spent the last couple of hours wrapping my head around both of those =) 21:16
jnthn :)
hoelzro but at least now I have a (slightly) better idea of how Rakudo works
which will make future work easier =)
[Coke] moritz++ #shebanginatorinator 21:20
jnthn Yes, it can take a little getting into :)
21:23 japhb_ joined
hoelzro be back later 21:23
21:23 hoelzro is now known as hoelzro|away
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.
jnthn -> sleep 21:37
21:38 birdwindupbird left
masak evening, #perl6 21:38
japhb_ o/ jnthn
o/ masak 21:39
(I love the symmetry of waving, like "Aloha!")
masak colomon: I believe that the Chinese have a notion of "hell", but it's not nearly as popular as the notion of "heaven".
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".
though I'm not a scholar in these matters, just an amateur.
21:46 fridim_ left 21:47 kst joined
colomon masak: I guess I was just being optimistic. ;) 21:53
21:57 bruges_ joined 21:59 bruges left 22:10 stopbit left 22:12 am0c left 22:15 sftp left 22:29 skids joined
sergot good night! :) 22:34
22:35 sergot left
masak 'branoc, sergocie 22:35
22:37 nodmonkey left 22:47 Moukeddar joined 22:51 popl joined 22:56 spider-mario left 22:59 Tene left 23:06 Tene joined, Tene left, Tene joined
masak 'night, #perl6 23:09
japhb_ o/ 23:10
sorear 'night.
23:12 Moukeddar left 23:13 bluescreen10 joined 23:14 am0c joined 23:23 Pleiades` left
dalek rl6-roast-data: 7b45cd4 | coke++ | p (2 files):
today
23:25
23:25 Pleiades` joined 23:26 bluescreen10 left
dalek nda: 984edf3 | (Geoffrey Broadwell)++ | TODO:
Add open GitHub issues to TODO as a quick reference
23:35
nda: a540262 | (Geoffrey Broadwell)++ | bin/panda:
Narrow the installed for dependency marker in 'panda list'

Remove completed TODO
23:35 dalek left
japhb_ Boom! Take that, dalek! 23:36
23:36 dalek joined, ChanServ sets mode: +v dalek
23:39 bluescreen10 joined 23:40 ObseLeTe joined
[Coke] tadzik: why is muEvent not in modules.perl6.org? 23:41