»ö« 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/<fooParse failedFAILED 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 1Unhandled 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 sideat /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!===Confusedat /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!===Confusedat /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 1Check failedFAILED 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 1Check failedFAILED 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«TrueTrue» | ||
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 |