»ö« 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:10
fgomez left
00:12
crab2313 left
00:20
b1rkh0ff left
00:23
fgomez joined
00:25
lestrrat left
00:27
lestrrat joined,
replore_ joined
00:35
wolfman2000 joined
01:08
scott_ joined
01:09
scott_ is now known as Guest97602
01:21
colomon left
01:28
xinming_ left
01:29
libertyprime left,
wknight8111 left
01:38
vlixes left
|
|||
dalek | ecza: e42dd8e | sorear++ | docs/announce.v18: Draft announce.v18 |
01:42 | |
ecza: 65474a2 | sorear++ | docs/announce.v18: s/17/18/g |
01:43 | ||
01:44
libertyprime joined
|
|||
sorear | RFC. | 01:44 | |
diakopter | lgtm | 01:48 | |
sorear | github doesn't want me to upload niecza-18.zip | 01:52 | |
I'll wait an hour, try again, then file a support ticket and host the zip on feather1 | 01:53 | ||
01:54
tokuhiro_ joined
|
|||
diakopter | phenny: tell masak RT 112870 is magically fixed. r: multi sub infix:<~eq>(Str $a, Str $b) { uc($a) eq uc($b) }; say 'Foo' ~eq 'foo' | 01:55 | |
phenny | diakopter: I'll pass that on when masak is around. | ||
diakopter | n: multi sub infix:<~eq>(Str $a, Str $b) { uc($a) eq uc($b) }; say 'Foo' ~eq 'foo' | ||
p6eval | niecza v17-50-gdf795e6: OUTPUT«True» | ||
sorear | Juerd: based on github stats I'm expecting around 100-200 downloads of this 1.8MB file. Is 500MB of data serving spread over a week or so within feather's parameters? | ||
diakopter | r: multi sub infix:<~eq>(Str $a, Str $b) { uc($a) eq uc($b) }; say 'Foo' ~eq 'foo' | ||
p6eval | rakudo 197e0b: OUTPUT«True» | ||
sorear | hmm, feather1 has 11 days uptime and RX bytes:1088785541 (1.0 GiB) TX bytes:1796397103 (1.6 GiB) on eth0 | 01:56 | |
01:59
xinming joined
02:08
tokuhiro_ left
02:10
simcop2387 left
02:12
colomon joined
|
|||
sorear | diakopter: 'looks good to me' ? | 02:13 | |
o/ colomon | |||
diakopter | yes | ||
colomon | \o | ||
sorear | colomon: release day! | 02:14 | |
colomon | \o/ | ||
I always forget about it. | |||
02:21
tokuhiro_ joined
02:22
adu left
02:31
isBEKaml left
|
|||
diakopter | phenny: tell masak also RT 111418 | 02:31 | |
phenny | diakopter: I'll pass that on when masak is around. | ||
02:32
bruges left
|
|||
diakopter | r: gist.github.com/1951347 | 02:32 | |
p6eval | rakudo 197e0b: OUTPUT«=␀␀␀=␀␀␀=␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀V␀␀␀a␀␀␀r␀␀␀i␀␀␀a␀␀␀b␀␀␀l␀␀␀e␀␀␀ ␀␀␀$␀␀␀a␀␀␀ ␀␀␀i␀␀␀s␀␀␀ ␀␀␀n␀␀␀o␀␀␀t␀␀␀ ␀␀␀d␀␀␀e␀␀␀c␀␀␀l␀␀␀a␀␀␀r␀␀␀e␀␀␀d␀␀␀ | ||
02:32
bruges_ joined
|
|||
diakopter | um | 02:33 | |
sorear | .u ␀ | 02:34 | |
phenny | U+2400 SYMBOL FOR NULL (␀) | ||
diakopter | r: '' ~~ / :my $a; <{ '$a' }> | 02:38 | |
p6eval | rakudo 197e0b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix / instead at line 2, near " :my $a; <"» | ||
diakopter | r: '' ~~ / :my $a; <{ '$a' }> / | ||
p6eval | rakudo 197e0b: OUTPUT«=␀␀␀=␀␀␀=␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀V␀␀␀a␀␀␀r␀␀␀i␀␀␀a␀␀␀b␀␀␀l␀␀␀e␀␀␀ ␀␀␀$␀␀␀a␀␀␀ ␀␀␀i␀␀␀s␀␀␀ ␀␀␀n␀␀␀o␀␀␀t␀␀␀ ␀␀␀d␀␀␀e␀␀␀c␀␀␀l␀␀␀a␀␀␀r␀␀␀e␀␀␀d␀␀␀ | ||
diakopter | r: grammar G { regex TOP { (foo) <.panic: "!$0!"> }; method panic($m) { die $m } }; G.parse("foo") | 02:40 | |
p6eval | rakudo 197e0b: OUTPUT«use of uninitialized value of type Any in string context in regex TOP at /tmp/QlpzXpun3O:1!␀␀␀!␀␀␀␀␀␀ ␀␀␀ ␀␀␀i␀␀␀n␀␀␀ ␀␀␀m␀␀␀e␀␀␀t␀␀␀h␀␀␀o␀␀␀d␀␀␀ ␀␀␀p␀␀␀a␀␀␀n␀␀␀i␀␀␀c␀␀␀ ␀␀␀a␀␀␀t␀␀␀ ␀␀␀/␀␀␀t␀␀␀m␀␀␀p␀␀␀/␀␀␀Q␀␀␀l␀xE2x90 | ||
diakopter | yikes; what has happened to p6eval | ||
02:42
xinming_ joined
|
|||
sorear | r: +Any | 02:43 | |
p6eval | rakudo 197e0b: OUTPUT«use of uninitialized value of type Any in numeric context in block <anon> at /tmp/iF9CagVOTI:1» | ||
sorear | r: ~Any | ||
p6eval | rakudo 197e0b: OUTPUT«use of uninitialized value of type Any in string context in block <anon> at /tmp/WL9TJYFsKw:1» | ||
02:43
replore_ left
|
|||
sorear | r: '' ~~ / {die} / | 02:44 | |
p6eval | rakudo 197e0b: OUTPUT« in block <anon> at /tmp/z97C9Ohx2g:1» | ||
02:45
xinming left
|
|||
dalek | ast: 9c98a7d | (Solomon Foster)++ | S05-mass/rx.t: Niecza unfudge. |
02:51 | |
diakopter | phenny: tell masak RT 102690 is a dupe of 112578 | 02:52 | |
phenny | diakopter: I'll pass that on when masak is around. | ||
diakopter | phenny: tell masak RT 113398 is a dupe of 111956 | 02:54 | |
phenny | diakopter: I'll pass that on when masak is around. | ||
dalek | ast: 28d6103 | (Solomon Foster)++ | S05-metasyntax/angle-brackets.t: Niecza unfudge. |
||
diakopter | phenny: tell masak also, RT 103412 is magically working | 03:15 | |
phenny | diakopter: I'll pass that on when masak is around. | ||
diakopter | phenny: tell masak also, 104840 is fixed | 03:16 | |
phenny | ... | ||
diakopter | ...? | ||
sorear | diakopter: I think that means you exceeded phenny's message limit | 03:18 | |
when masak next comes online, phenny will not give any of your messages | |||
diakopter | oh :) | ||
sorear | it'll try to put your 6 messages on a pastebin that no longer exists, then it will carp an error message to the channel and drop the messages on the floor | 03:19 | |
03:19
simcop2387 joined
|
|||
diakopter | masak: RT 107722 is fixed | 03:20 | |
03:20
simcop2387 left
|
|||
dalek | ecza: 3133f7f | sorear++ | / (4 files): Update bootstrap to v18 |
03:22 | |
03:23
simcop2387 joined
|
|||
diakopter | masak: also, 107746 is fixed | 03:23 | |
sorear | I rather suspect that when masak comes online next he'll just grep his logs for phenny.*masak | 03:24 | |
mailing sent, with a reference to host02 | 03:25 | ||
diakopter | masak: also I suspect 107960 is fixed | ||
that is, it seems to be, to me. | 03:26 | ||
leontopod | how many things need to be fixed in Perl 6? | 03:28 | |
diakopter | leontopod: there are multiple implementations/compilers.. do you mean rakudo or niecza | 03:29 | |
leontopod | I guess Perl 6 in general | 03:30 | |
or the implementation of Perl 6 that is closest to becoming Perl 6.0 | |||
diakopter | I don't know which one's "closer".. sorear, what's your opinion? | 03:31 | |
sorear | it's hard to say. | ||
other than 'soon'. | |||
rakudo and niecza have both just sped up a lot and my extrapolator isn't working yet. | |||
leontopod | ok | 03:33 | |
diakopter | leontopod: it depends on when @larry decide the passing portions of the official test suite comprise the specification for Perl 6.0 | 03:34 | |
@larry, including the implementors | |||
sorear | I want to see in niecza a substantial improvement in startup time and memory use, fixing the most egregious holes (native types, MOP, better p5 interop), see what can be done to make panda maximally useful, create an installation story | ||
diakopter | I suspect @larry has expanded to include more than several folks in #perl6 | 03:35 | |
sorear | approximately then I will be willing to call this perl 6.0.0 | ||
diakopter | masak: also I think 100232 is fixed | 03:44 | |
r: say <a<a>>.perl #sorear check this one out (found while trying to reproduce RT 100480) | 03:47 | ||
p6eval | rakudo 197e0b: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \$v, Mu *%_) in method Real at src/gen/CORE.setting:683 in method Real at src/gen/CORE.setting:1985 in sub infix:<>> at src/gen/CORE.setting:2463 in block <anon> at /tmp/_BKy2KlFr2:1»… | ||
diakopter | r: say <a<a>> | 03:48 | |
p6eval | rakudo 197e0b: OUTPUT«===SORRY!===Confusedat /tmp/_Pnmy8_tu6:1» | ||
diakopter | eh | ||
sorear | n: say <a<a>>.perl | 03:49 | |
p6eval | niecza v17-50-gdf795e6: OUTPUT«"a<a>"» | ||
diakopter | I can't even imagine how it parses the one with .perl but not the one without it | 03:50 | |
masak: see 100480 | |||
perl6: class A { BEGIN {has %!h = { 'a' => 1, 'b' => 2 } } } # sorear | 03:52 | ||
p6eval | pugs, rakudo 197e0b: ( no output ) | ||
..niecza v17-50-gdf795e6: OUTPUT«===SORRY!===Attribute %!h declared outside of any class at /tmp/T6G15RwwVh line 1:------> class A { BEGIN {has %!h ⏏= { 'a' => 1, 'b' => 2 } } } # sorearUnhandled exception: Unable to resolve method LISTSTORE in ty… | |||
diakopter | are pugs and rakudo correct there? | ||
03:53
lestrrat left
|
|||
diakopter | masak: 100560 should now be test needed because it's a dupe of some other later ticket which I'm not going to go find right now | 03:53 | |
but jnthn marked the other one test needed | 03:54 | ||
03:54
lestrrat joined
|
|||
diakopter | masak: RT 101440 now fails with a different error than originally | 03:57 | |
masak: RT 81974 seems fixed | 03:59 | ||
leontopod | diakopter, I don't think masak is around | 04:00 | |
diakopter | masak: RT 81982 seems fixed | 04:01 | |
leontopod: I know. :) but he will eventually catch up on the irclogs at irc.perl6.org | |||
leontopod | ok | 04:02 | |
diakopter | masak: also 82214 seems fixed | 04:06 | |
masak: I think 82638 should be closed as notabug | 04:09 | ||
04:09
adu joined
|
|||
diakopter | masak: 82790 now fails with a different error than originally; worth noting | 04:11 | |
RT 82946 now fails with a different error, but I suspect that is the right thing. | 04:16 | ||
RT 82974 is fixed | 04:17 | ||
RT 83484 fails with a different (and funnier!) error | 04:24 | ||
RT 83512 fails with a different error | 04:26 | ||
btw, for anyone reading this, know that I've tried and tried to login to rt.perl.org, but have always failed. | 04:27 | ||
RT 83552 fails with a different error | 04:29 | ||
RT 83766 is fixed | 04:33 | ||
RT 83952 is fixed | 04:34 | ||
RT 83992 is fixed | 04:35 | ||
RT 86340 fails with a totally differently wrong error | 04:40 | ||
RT 87034 is fixed (by the very last evaluation on the ticket) | 04:43 | ||
RT 87420 is fixed | 04:46 | ||
04:46
sisar joined
|
|||
diakopter | RT 88704 is fixed | 04:52 | |
RT 78276 fails with a different error; not sure whether it's fixed | 04:54 | ||
[Coke] notes RT 78280 can be closed, but now it fails with a different error; not sure whether it's fixed | 04:56 | ||
04:59
mucker left
|
|||
diakopter | RT 78370 now fails with an entirely different, and far more spectacular, error | 04:59 | |
RT 78410 might be fixed; not sure | 05:00 | ||
sisar | niecza release ! sorear++ | 05:02 | |
diakopter | RT 78676 ; different error. might be fixed? | 05:03 | |
05:05
birdwindupbird joined,
birdwind1pbird joined
|
|||
diakopter | RT 78800 might be fixed; not sure. | 05:05 | |
05:07
sisar left
|
|||
diakopter | RT 78870 now fails much worse than it did before. it segfaults now; didn't before. | 05:07 | |
RT 79294 should be closed; the spec changed | 05:13 | ||
05:15
lestrrat left
05:16
lestrrat joined
|
|||
diakopter | RT 79568 is fixed | 05:17 | |
moritz | diakopter: if you prefix ticket numbers with a #, the IRC logs will turn them into links to the ticket | 05:18 | |
adu | diakopter: did you fix all those? | ||
moritz | ie RT #79568 | ||
diakopter | adu: nope | ||
moritz: ok | |||
moritz | oh, and good morning :-) | ||
diakopter | hi! | ||
moritz | rakudo: my $foo = "work"; say "This should $foo\</a>" | ||
p6eval | rakudo 197e0b: OUTPUT«This should work</a>» | ||
diakopter | RT #80008 is fixed | 05:21 | |
adu | night | 05:22 | |
diakopter | bye | ||
moritz | good night adu | ||
dalek | ast: 62a8609 | moritz++ | S02-literals/string-interpolation.t: RT #79568, backslash after interpolating scalar |
||
05:22
adu left
|
|||
diakopter | RT #80614 seems fixed; dunno whether the test is already unfudged | 05:23 | |
moritz | it is not | 05:24 | |
diakopter | it's not fixed or test is not unfudged | 05:25 | |
moritz | neither | ||
r: my @a = 1, 2, 3; my @b; my $x = @b[0] = @a[1]; say @b[0] | |||
p6eval | rakudo 197e0b: OUTPUT«2» | ||
moritz | huh | ||
diakopter | you missed the say $c | 05:26 | |
moritz | r: my @a = 1, 2, 3; my @b; my $x = @b[0] = @a[1]; say @b[0]; say $x | ||
p6eval | rakudo 197e0b: OUTPUT«22» | ||
moritz | I just wonder why the test doesn't pass | ||
does it require a new nqp to pass? | 05:27 | ||
diakopter | surely not | ||
moritz | r: say $*PERL | 05:29 | |
p6eval | rakudo 197e0b: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2012.05-94-g197e0bd", "release-number" => "", "build-date" => "2012-05-28T10:09:36Z", "codename" => ""}).hash» | ||
diakopter | oh, oops, I'm wrong on that I guess | 05:30 | |
05:32
fgomez left
|
|||
moritz | r: our @h = < 'a', 'b'>; say @h | 05:32 | |
p6eval | rakudo 197e0b: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block <anon> at /tmp/exUj5tYN_L:1» | ||
diakopter | which one is that? | 05:33 | |
moritz | #100560 | ||
diakopter | ok, not one of the ones I mentioned | ||
moritz | rakudo: (0, {last if $^a==$^b; (1..5).pick} ... *).perl.say | 05:34 | |
p6eval | rakudo 197e0b: OUTPUT«(ListIter.new(),).list» | ||
moritz | rakudo: say (0, {last if $^a==$^b; (1..5).pick} ... *) | ||
p6eval | rakudo 197e0b: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in block <anon> at /tmp/flHsVbO2lk:1» | ||
moritz | rakudo: say (0, 1, {last if $^a==$^b; (1..5).pick} ... *) | ||
p6eval | rakudo 197e0b: OUTPUT«0 1 5 4 ...» | ||
05:35
leontopod left
|
|||
moritz | rakudo: say (0, 1, {last if $^a==$^b; (1..5).pick} ... *)[^20] | 05:35 | |
p6eval | rakudo 197e0b: OUTPUT«0 1 2 2 2» | ||
diakopter | RT #81278 fails with a different error | 05:36 | |
moritz | sorear++ # niecza v18 | 05:38 | |
diakopter | RT #77572 is a duplicate of ... some later ticket. | 05:39 | |
I think RT #77576 can be closed because DEBUG doesn't exist anymore | 05:40 | ||
haha; RT #77590 used to segfault, then it NPMCA, now it has a different error. | 05:42 | ||
there is a veritable ton of these tickets that are marked closable with tests or test needed, in addition to all the ones I mentioned above that need to be marked testneeded | 05:44 | ||
RT #77618 is a dupe of some later ticket | 05:45 | ||
sorear | o/ moritz | 05:46 | |
diakopter | RT #77626 now does the right thing, I think. | 05:48 | |
RT #77660 [Coke]'s last message is now out-of-date; it's back to its original (wrong) behavior. | 05:50 | ||
05:50
woosley joined
|
|||
diakopter | RT #77708 seems fixed. | 05:52 | |
RT #77736 is fixed. | 05:55 | ||
there are actually very few tickets I'm finding that are still issues | |||
RT #77786 now has a different failure mode | 06:01 | ||
06:06
wtw joined,
libertyprime left
06:07
kaleem joined
06:08
libertyprime joined
|
|||
diakopter | RT #77014 is fixed | 06:14 | |
RT #77038 has a later duplicate | 06:15 | ||
RT #77158 is fixed | 06:23 | ||
RT #77174 is fixed | 06:26 | ||
I'm pretty sure RT #77200 can be closed as invalid | 06:28 | ||
RT #77224 now fails with a different error | 06:30 | ||
RT #77248 can be closed imho | 06:32 | ||
diakopter has been watching Hoarders and Hoarding in the background the last few hours | 06:33 | ||
06:33
odoacre left
06:34
odoacre joined
|
|||
diakopter | RT #77338 is fixed according to: | 06:38 | |
rakudo: role A[::T $?] {}; class B does A[] {}; say "alive" | |||
p6eval | rakudo 197e0b: OUTPUT«alive» | ||
diakopter | RT #77472 now fails silently instead of erroring | 06:49 | |
06:54
odoacre left
|
|||
moritz | diakopter++ # ticket triaging | 06:56 | |
diakopter++ | |||
06:57
brrt joined
06:58
lexande joined
|
|||
diakopter | Also, there are a ton of tickets [Coke] wrote Closable in, but didn't mark test needed | 07:06 | |
07:07
immortal joined,
immortal left,
immortal joined
07:08
fhelmberger joined
|
|||
Woodi | morning | 07:08 | |
diakopter | RT #76414 is fixed | ||
07:09
charsbar____ joined
07:10
spacebat_ joined,
sivoais_ joined
|
|||
moritz | rakudo: my @foo; @foo ,= 1, 2, 3; @foo.perl.say | 07:10 | |
p6eval | rakudo 197e0b: OUTPUT«Array.new(1)» | ||
diakopter | RT #76432 is fixed | 07:11 | |
07:11
crazed- joined,
ivan`` left,
erkan left,
jnthn_ joined,
charsbar___ left,
kranius left,
crazedpsyc left,
ranguard left,
sivoais left,
Telg left,
araujo left,
preflex left,
jerome_ left,
spacebat left,
broquaint left,
jerome_ joined,
wooden left,
jnthn left,
skids left,
Util left,
crazed- is now known as Guest54204
|
|||
moritz | doesn't look fixed to me | 07:11 | |
diakopter | which one is that | ||
moritz | still gets only one element | ||
07:11
preflex_ joined,
wooden joined,
wooden left,
wooden joined
|
|||
moritz | RT #76414 | 07:11 | |
07:11
ranguard joined,
kranius joined
07:12
preflex_ is now known as preflex
|
|||
diakopter | oh hm, I must've mistyped/mispasted | 07:12 | |
07:12
Util joined
|
|||
diakopter | that's not the one I meant to mention; drat | 07:12 | |
07:12
araujo joined,
broquaint joined
|
|||
diakopter | oh wait, yes it was. oops; my error. | 07:13 | |
moritz | rakudo: sub get_fun() {  say 3 } get_fun | ||
p6eval | rakudo 197e0b: OUTPUT«3» | ||
moritz marks testneeded | |||
diakopter | is ilbot on our netsplit segment? | ||
moritz | yes | 07:14 | |
07:14
Facefox left
|
|||
moritz | rakudo: multi sub B() { say "multi" }; &B.wrap(sub {say "before"; callsame; say "after"}); B() | 07:14 | |
p6eval | rakudo 197e0b: OUTPUT«multi» | ||
moritz marks testneeded | 07:15 | ||
Woodi | jnthn: pls resist to use that "d***"... that "cztery litery" is realy low level joke and often shows that someone is low on patience after trying to many possibilities... eg. "I got test failing so I tried to fix it but it was not help. then I tried another way and things goes worse. I try more thing but none help... then I tried *something* and... d***!" - means still failure :) | ||
diakopter | wait, why testneeded on that one | ||
it didn't wrap it | |||
moritz | diakopter: oh, you're right | ||
07:15
ivan`` joined
|
|||
Woodi | jnthn: just saying things like "...which I guess I have the joy of writing in that oh so expressive langauge, ..." is much better :) | 07:16 | |
07:19
Facefox joined
07:21
skids joined
07:23
Telg joined
07:24
odoacre joined
07:35
[hds] joined
|
|||
dalek | kudo/nom: e42d841 | moritz++ | src/core/List.pm: enable autovivifcation in the sub form of push fixes RT #77038 |
07:41 | |
ast: ef0e875 | moritz++ | S02-types/autovivification.t: RT #77038, &push autovivifies its first argument |
|||
ast: dddf111 | moritz++ | S32-exceptions/misc.t: RT #78370, my &a; sub a { } redeclaration error |
07:43 | ||
ast: cf0e342 | moritz++ | S32-exceptions/misc.t: oops, meant to test something else |
07:45 | ||
07:49
sisar joined
07:51
cognominal_ joined
07:53
cognominal left
|
|||
sorear | o/ sisar | 07:54 | |
07:55
sergot joined
|
|||
sergot | morning! o/ | 07:55 | |
sorear | o/ sergot | 07:56 | |
sisar | hi sorear ! | 07:58 | |
07:59
lestrrat left
08:01
lestrrat joined
|
|||
sergot | sorear: sisar o/ | 08:04 | |
;) | |||
08:12
grondilu joined,
fgomez joined
08:13
fgomez left,
fgomez joined
|
|||
grondilu is looking forward unsigned native integers | 08:17 | ||
08:17
grondilu left
08:24
woosley left
08:36
kresike joined
|
|||
kresike | hello all you happy perl developers | 08:37 | |
sergot | kresike: o/ | ||
kresike | s/perl/perl6/ | ||
sergot, o/ | 08:47 | ||
08:50
dakkar joined
08:53
snearch joined
09:02
JimmyZ joined
|
|||
JimmyZ | moritz: ping | 09:05 | |
moritz | JimmyZ: pong | 09:06 | |
JimmyZ | moritz: I add a comment to github.com/rakudo/rakudo/commit/e42d84135e | ||
moritz | JimmyZ: yes, I've seen it, and you're right | ||
JimmyZ: I'm just a bit stressed right now, and with my mind elsewhere | |||
JimmyZ | :P | 09:07 | |
I didn't understand the code much, just see an unshift sub there and I think that's the same thing | 09:08 | ||
09:14
JimmyZ left
09:16
lestrrat left
09:18
lestrrat joined
|
|||
dalek | kudo/nom: 306fcd8 | moritz++ | src/core/List.pm: port autovivification fix to &unshift, JimmyZ++ |
09:19 | |
kudo/nom: 61e6739 | moritz++ | docs/ChangeLog: update ChangeLog |
|||
moritz | nqp: say(pir::isnull(foo)) | 09:24 | |
p6eval | nqp: OUTPUT«1» | ||
arnsholt | moritz: In case you didn't see my reply yesterday, parsing with Parsec in Haskell certainly feels different from grammars, but I suspect the capabilities are largely identical | 09:25 | |
moritz | arnsholt: did you elaborate on how it feels different? | 09:27 | |
if yes, I'll backlog :-) | |||
09:29
immortal left
09:30
erkan joined,
erkan left,
erkan joined
|
|||
arnsholt | moritz: Didn't really elaborate much, no | 09:33 | |
But I think the main difference is the combinator style, so my grammar code looks (and is, really) just like the rest of my code | 09:34 | ||
moritz | which probably means the syntax isn't quite as terse as p6 grammars, but more familiar to the haskell hacker | 09:35 | |
dalek | ast: 0b03c96 | jimmy++ | S02-types/autovivification.t: &unshift autovivifies its first argument |
09:36 | |
09:37
domidumont left
|
|||
moritz | oh right, I also had tests for that, but forgot to commit :-) | 09:38 | |
karma jimmy | |||
aloha | jimmy has karma of 81. | ||
arnsholt | Actually, the syntax is really quite terse | 09:40 | |
I have "do { num <- int; char ':'; str <- count num anyChar; char ','; newline }" to parse a netstring. Could probably be compacted a bit if I knew the library better | 09:41 | ||
09:42
b1rkh0ff joined
09:43
domidumont joined
|
|||
arnsholt | In P6 it'd be something like "token { (\d+) ';' . ** {$1.Int} ",\n" }" | 09:43 | |
(I forgot to add "; return str" at the end of the Haskell code, I see now) | 09:44 | ||
The grammar fragment is a bit shorter, but the Haskell code includes the semantics that would be in the actions in Perl 6 | 09:45 | ||
moritz | oh, good point | 09:48 | |
dalek | ast: aaa71d0 | moritz++ | S05-metasyntax/proto-token-ltm.t: add tests for proto tokens + LTM, including ** and % contributed by diakopter++ |
09:49 | |
arnsholt | And I managed to write a combinator for "match this parser exactly N times" in about five minutes | ||
Not sure I'd be able to implement that quite as easily in Perl 6 =) | 09:50 | ||
moritz | that's why it's built in :-) | ||
dalek | kudo/nom: 92a95c7 | moritz++ | t (2 files): bump NQP revision, and run proto token LTM tests by diakopter++ |
09:51 | |
moritz | p6: say ~('a' ~~ /b/) | ||
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
..rakudo e42d84, niecza v18: OUTPUT«» | |||
10:03
cogno joined
10:12
cognominal_ left
10:13
Guest97602 left
10:14
cognominal_ joined
10:31
JimmyZ joined
10:41
daxim joined
10:43
cogno left
10:49
cogno joined
11:03
lestrrat left,
icwiener joined,
icwiener left,
icwiener joined
11:04
fglock joined,
lestrrat joined
11:11
cogno left
11:13
cogno joined
11:20
cogno left
11:21
fglock left,
cogno joined
11:24
infosophy joined,
infosophy is now known as Guest78369
11:28
Facefox left,
mikec_ left,
Guest91689 left,
mikec_ joined
11:29
sergot left,
Facefox joined
11:31
telex left
11:32
telex joined
11:33
mikec_ left,
TimToady left,
TimToady joined
11:34
mikec__ joined,
renormalist left
11:35
renormalist joined
|
|||
[Coke] apologizes for saying "closable with tests" and not marking testneeded in some cases. whoops. | 11:35 | ||
moritz | no worries, happens | 11:36 | |
daxim | tell masak macros-progress-report-quantum-yak-shaving =~ s|ad05]|ad05)| | 11:37 | |
phenny, tell masak macros-progress-report-quantum-yak-shaving =~ s|ad05]|ad05)| | 11:38 | ||
phenny | daxim: I'll pass that on when masak is around. | ||
11:39
broquaint left,
broquaint joined
|
|||
daxim | phenny, tell jnthn_ rakudo-switched-over-to-qregex =~ s|Ementaler|Emmentaler| | 11:40 | |
phenny | daxim: I'll pass that on when jnthn_ is around. | ||
11:40
adu joined
11:42
adu left
|
|||
[Coke] | daxim: probably want jnthn and not jnthn_ | 11:45 | |
unless phenny is smartish | |||
moritz | not that smart | 11:46 | |
11:48
crab2313 joined
|
|||
[Coke] | r: say 646-86 | 11:49 | |
p6eval | rakudo 92a95c: OUTPUT«560» | ||
dalek | ast: c72531a | moritz++ | S03-binding/scalars.t: RT #87034, rebinding of scalars |
11:51 | |
11:54
lexande left
12:00
wolfman2000 left,
skids left
12:03
plonk joined
12:04
plonk left
12:06
sergot joined
|
|||
dalek | kudo/nom: e2d8762 | moritz++ | src/ (2 files): typed exception for infix in term position |
12:06 | |
ast: ab9c613 | moritz++ | S32-exceptions/misc.t: RT #83992, proper error message for infix in term position |
12:07 | ||
12:12
JimmyZ left
12:14
adu joined
12:17
JimmyZ joined
|
|||
dalek | ast: dec32f3 | moritz++ | S04-statements/return.t: RT #81962, re-binding my &return |
12:20 | |
12:21
adu left
12:22
huf left
12:26
icwiener left,
cogno left
|
|||
moritz | p6: say so 'u a' ~~ /<.ws>.'a'/ | 12:31 | |
p6eval | rakudo e2d876, niecza v18: OUTPUT«False» | ||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | |||
moritz | p6: say so 'u ' ~~ /<.ws>.$/ | 12:32 | |
p6eval | rakudo e2d876, niecza v18: OUTPUT«False» | ||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | |||
moritz | (that's boiled down from RT #103412) | 12:33 | |
is that "works as designed"? | |||
I thought that the built-in ws matched zero-width at word boundaries? | 12:34 | ||
S05 says: \s+ if it's between two \w characters, \s* otherwise | 12:35 | ||
12:35
cognominal_ left
|
|||
moritz | and it's not between two \w characters | 12:35 | |
so, bug in rakudo *and* niecza? | |||
or am I totally off base now? | |||
12:36
cognominal joined
|
|||
moritz | phenny: tell diakopter I went through all the tickets you mentioned, and closed many, commented on some and fixed some. Thanks! | 12:41 | |
phenny | moritz: I'll pass that on when diakopter is around. | ||
pmichaud | good morning, #perl6 | 12:43 | |
moritz | good am, pm | 12:44 | |
pmichaud | the examples above (<.ws>) look correct to me | ||
moritz | why? | ||
pmichaud | oh, maybe not | ||
looking | |||
[Coke] | pmichaud: o/ | 12:45 | |
pmichaud | oh! I think rakudo and niecza implement <.ws> as a token | ||
not a regex | |||
so.... no backtracking | 12:46 | ||
moritz | erm | ||
pmichaud | at least, I'm pretty sure that's what rakudo does... can't speak for niecza | ||
moritz | but the outer regex controls whether to try it again in a different position, no? | ||
p6: say so 'u ' ~~ /^.<.ws>/ | 12:47 | ||
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
..rakudo e2d876, niecza v18: OUTPUT«True» | |||
moritz | p6: say so 'u ' ~~ /<.ws>.$/ | ||
p6eval | rakudo e2d876, niecza v18: OUTPUT«False» | ||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | |||
flussence | do builtin regex classes like /<xdigit>/ and /<alpha>/ behave the same as their ctypes equivalent or do they match non-ASCII too? The spec doesn't say... | 12:48 | |
pmichaud | flussence: non-ascii also... unicode properties | ||
12:50
PacoAir joined
|
|||
moritz | pmichaud: back to the backtracking thing: I understand that <.ws> matches at pos 0, the rest of the regex fails, then the re-engine should try again at pos 1, even though <.ws> is a token | 12:51 | |
and at pos 1, both <.ws> and . should match, and then ... oh. | 12:52 | ||
pmichaud | sure, and when it tries again at pos 1, <.ws> matches the space, leaving nothing for the dot | ||
moritz | right | ||
ok | |||
pmichaud | I'm checking the spec on <.ws> | ||
moritz | then I was indeed off-base :-) | ||
it makes sense as is | |||
flussence | r: say ("\x[100]".."\x[10000]").grep(/<xdigit>/) | 12:53 | |
p6eval | rakudo e2d876: OUTPUT«(timeout)» | 12:54 | |
flussence | r: say ("\x[100]".."\x[1000]").grep(/<xdigit>/) | ||
p6eval | rakudo e2d876: OUTPUT«(timeout)» | ||
flussence | n: say ("\x[100]".."\x[1000]").grep(/<xdigit>/) | ||
p6eval | niecza v18: OUTPUT«(timeout)» | ||
12:55
huf joined
|
|||
moritz | n: say (0xFF .. 0xFFFF).map(&chr).grep(/<xdigit>/) | 12:55 | |
p6eval | niecza v18: OUTPUT«٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ߀ ߁ ߂ ߃ ߄ ߅ ߆ ߇ ߈ ߉ ० १ २ ३ ४ ५ ६ ७ ८ ९ ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ੦ ੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯ ૦ ૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯ ୦ ୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯ ௦ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯ ౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯ ೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ xE0xB3 | ||
[Coke] | oooh, pretty | 12:56 | |
moritz | I'm a bit surprised by the selection :-) | ||
.u ¯¯ | 12:57 | ||
phenny | U+00AF MACRON (¯) | ||
sjn | nicenice | ||
sjn wonders what font is required to show that last digit | 12:58 | ||
pmichaud | r: say (0xff .. 0xffff).map(&chr).grep(/<xdigit>/); # curious if rakudo keeps up | ||
moritz | .u ³ | ||
phenny | U+00B3 SUPERSCRIPT THREE (³) | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in sub chr at src/gen/CORE.setting:2884 in method reify at src/gen/CORE.setting:5041 in method reify at src/gen/CORE.setting:4936 in method reify at src/gen/CORE.setting:4936… | ||
pmichaud | ...I guess not :-) | ||
flussence | I don't think it likes 0xFFFF :) | ||
moritz | r: say (0xff .. 0xfffe).map(&chr).grep(/<xdigit>/); | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in sub chr at src/gen/CORE.setting:2884 in method reify at src/gen/CORE.setting:5041 in method reify at src/gen/CORE.setting:4936 in method reify at src/gen/CORE.setting:4936… | ||
flussence | r: say 0xffff.chr | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in block <anon> at /tmp/XJwd9PhLBW:1» | ||
daxim | for comparison: | 12:59 | |
$ perl -C -E'print for grep { /\p{xdigit}/ } map { chr } 0xFF .. 0xFFFF' | |||
moritz | it would be nice if it told us *which* character is invalid | ||
daxim | 0123456789ABCDEFabcdef | ||
pmichaud | it might be the u+d300 chars that are in the way | ||
r: (0xff .. 0x7fff).map(&chr).eager | |||
p6eval | rakudo e2d876: ( no output ) | ||
pmichaud | r: (0x8000 .. 0xffff).map(&chr).eager | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in sub chr at src/gen/CORE.setting:2884 in method reify at src/gen/CORE.setting:5041 in method reify at src/gen/CORE.setting:4936 in method gimme at src/gen/CORE.setting:5323… | 13:00 | |
pmichaud | r: (0x8000 .. 0xefff).map(&chr).eager | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in sub chr at src/gen/CORE.setting:2884 in method reify at src/gen/CORE.setting:5041 in method reify at src/gen/CORE.setting:4936 in method gimme at src/gen/CORE.setting:5323… | ||
pmichaud | r: (0x8000 .. 0xcfff).map(&chr).eager | ||
p6eval | rakudo e2d876: ( no output ) | ||
pmichaud | r: (0x8000 .. 0xd2ff).map(&chr).eager | ||
p6eval | rakudo e2d876: ( no output ) | ||
pmichaud | r: (0x8000 .. 0xd300).map(&chr).eager | ||
p6eval | rakudo e2d876: ( no output ) | ||
moritz | Id argue that it should translate even invalid characters | ||
pmichaud | r: (0x8000 .. 0xdfff).map(&chr).eager | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in sub chr at src/gen/CORE.setting:2884 in method reify at src/gen/CORE.setting:5041 in method reify at src/gen/CORE.setting:4936 in method gimme at src/gen/CORE.setting:5323… | ||
pmichaud | r: (0xd000 .. 0xd7ff).map(&chr).eager | ||
p6eval | rakudo e2d876: ( no output ) | ||
pmichaud | r: (0xd800 .. 0xdbff).map(&chr).eager | ||
p6eval | rakudo e2d876: OUTPUT«Invalid character for UTF-8 encoding in method chr at src/gen/CORE.setting:2690 in sub chr at src/gen/CORE.setting:2884 in method reify at src/gen/CORE.setting:5041 in method reify at src/gen/CORE.setting:4936 in method gimme at src/gen/CORE.setting:5323… | ||
pmichaud | yeah, somewhere in that range. | ||
moritz | r : loop (my $x = 0xff; $x < 0xffff; $x++) { chr $x; CATCH { default { say $x } } } | 13:01 | |
r: loop (my $x = 0xff; $x < 0xffff; $x++) { chr $x; CATCH { default { say $x } } } | |||
p6eval | rakudo e2d876: OUTPUT«55296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395… | 13:02 | |
pmichaud | r: say 55296.fmt('%x') | ||
p6eval | rakudo e2d876: OUTPUT«d800» | ||
pmichaud | en.wikipedia.org/wiki/UTF-16#Code_p...o_U.2BDFFF | 13:03 | |
flussence | I'm a bit confused at the usefulness of a character class for "match unicode chars that would be a valid hex digit if transliterated to ascii" :/ | ||
13:03
bluescreen10 joined
|
|||
pmichaud | The official Unicode standard says that all UTF forms, including UTF-16, cannot encode these code points. | 13:03 | |
(from Wikipedia link above) | |||
moritz | flussence: well, we should just recognize them in numification without transliteration to ASCII | 13:04 | |
flussence | oh | ||
pmichaud | I don't think that's what that character class means, fwiw. Looking | ||
r: say (0xff..0xd7ff).grep( .chr ~~ /<xdigit>/ ) | 13:06 | ||
p6eval | rakudo e2d876: OUTPUT«No such method 'chr' for invocant of type 'Any' in block <anon> at /tmp/1QuwVd0jjT:1» | ||
pmichaud | r: say (0xff..0xd7ff).grep( chr($_) ~~ /<xdigit>/ ) | 13:07 | |
p6eval | rakudo e2d876: OUTPUT«Cannot call 'chr'; none of these signatures match::(int $x):(Int:D \$x):(Cool \$x) in block <anon> at /tmp/mGbAZmJZ1H:1» | ||
pmichaud | r: say (0xff..0xd7ff).grep( {chr($_) ~~ /<xdigit>/} ) | ||
p6eval | rakudo e2d876: OUTPUT«(timeout)» | ||
13:07
Psyche^ joined
|
|||
pmichaud | r: say (0xff..0x3fff).grep( {chr($_) ~~ /<xdigit>/} ) | 13:08 | |
13:08
Guest54204 is now known as crazedpsyc
|
|||
p6eval | rakudo e2d876: OUTPUT«1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2662 2663 2664 … | 13:08 | |
pmichaud | r: say 1632.fmt('%x') | ||
p6eval | rakudo e2d876: OUTPUT«660» | ||
moritz | r: say chr(1632) | 13:09 | |
p6eval | rakudo e2d876: OUTPUT«٠» | ||
13:09
cognominal left
|
|||
pmichaud | afk, kid rides to school | 13:09 | |
13:09
cognominal joined
13:10
domidumont left,
bruges_ left,
thou joined,
snearch left
13:11
Patterner left,
Psyche^ is now known as Patterner
|
|||
felher | perl6: class A { method foo() { say "foo"; } }; A.foo; | 13:15 | |
p6eval | pugs, rakudo e2d876, niecza v18: OUTPUT«foo» | ||
13:16
domidumont joined,
bruges_ joined
|
|||
felher | Do i not understand the specs correctly or is it NYI, that method calls on a non-defined Object should fail/die/whatever by default? | 13:17 | |
moritz | that features is NYI, and questionable :/ | ||
problem is that leaving out that feature is also questionable | 13:19 | ||
felher | :D | ||
pmichaud | back again | 13:23 | |
kresike | felher, didn't you just call a class method there ? | ||
pmichaud | r: say (0xff..0x3fff).grep( { chr($_) ~~ /<+xdigit-digit>/ } ) | ||
p6eval | rakudo e2d876: OUTPUT«» | 13:24 | |
pmichaud | right. <xdigit> is a superset of <digit> | ||
felher | kresike: No, i guess not. IIRC, every method has a invocant. And by default every invocant parameter is required to be defined. So the code above should fail :) | 13:25 | |
kresike: except for new, which doesn't require its invocant to be :D by default :) | 13:26 | ||
moritz | kresike: yes, it's a class method. And there's a recent-ish spec change (half a year old, maybe?) that makes that illegal by default | ||
kresike | I see | ||
I'm a noob here, so excuse me if I ask things like this, just trying to get up to speed on things happening here | 13:27 | ||
moritz | the problem it tries to solve is that there are some methods where you have to be very careful not to override the :U (undefined, type object) variant | ||
13:27
skids joined
|
|||
moritz | in particular, if you do type checks like if $x ~~ Int { }, then that goes through Int.ACCEPTS | 13:27 | |
but if you do if $x ~~ 3 { }, that *also* goes through Int.ACCEPTS | 13:28 | ||
so if you write your own type, and write an ACCEPTS method, and forget to contrain it to :D (defined invocant), you break type checking for that type | |||
kresike | as master Yoda would say ... | 13:29 | |
Much to learn I still have | 13:30 | ||
:) | |||
moritz | I thought '... I have still' :-) | ||
pmichaud | '...still I have' | ||
kresike | whatever :) | ||
moritz | :-) | 13:31 | |
r: say <I have still>.pick(*) | |||
p6eval | rakudo e2d876: OUTPUT«I still have» | ||
moritz | rakudo agrees with kresike++ | ||
kresike | LOL | ||
You guys seem to be taking on all the "easy" challenges of writing a compiler :) | 13:33 | ||
PerlJam | yeah, TimToady does the hard part of synthesizing a language | 13:36 | |
13:36
kaleem left
|
|||
kresike | moritz, just out of curiosity, if I write my own type and break it, how is the compiler supposed to "fix" that ? | 13:37 | |
PerlJam | kresike: complain loudly? | ||
moritz | kresike: the compiler is just supposed to have different defaults that make it harder for you to accidentally break stuff | ||
so it would not break if you write method ACCEPTS($other) { ... } | 13:38 | ||
currently you need to write something along the lines of multi method ACCEPTS(MyType:D: $other) { ... } | |||
(oh, but you still need to write 'multi' in both cases) | 13:39 | ||
pmichaud | I wonder how hard it'd be to get Rakudo to follow the spec change | 13:42 | |
moritz | well | 13:43 | |
the spec change has some open questions still | |||
it wants method new() { } to still dwim | 13:44 | ||
or at least multi method new() { } | |||
and proposes to set the default in the proto somehow | |||
but last I discussed this with jnthn++, that approach had some problems too | |||
pmichaud | oh yes, that makes it much more difficult | 13:45 | |
afk, airport | 13:48 | ||
moritz | role A { proto foo(set default to :A somehow) }; class B does A { multi method foo() { } } # what does B.foo accept? | 13:49 | |
the signature of B.foo is built immediately, but A composes only at the final } | |||
13:50
fhelmberger left
14:19
isBEKaml joined,
wtw left
14:27
erkan left
|
|||
felher | perl6: sub foo( fail("fail in sub foo"); foo().should.print.not.in.sub.foo // die "not in sub foo"; | 14:37 | |
p6eval | rakudo e2d876: OUTPUT«===SORRY!===Invalid typename in parameter declaration at line 2, near "(\"fail in "» | ||
..pugs: OUTPUT«***  Unexpected "(\"" expecting word character, "|", ":", "*" or parameter name at /tmp/4dOZW1qBsr line 1, column 14» | |||
..niecza v18: OUTPUT«===SORRY!===In parameter declaration, typename 'fail' must be predeclared (or marked as declarative with :: prefix) at /tmp/xjy2ntLjav line 1:------> sub foo( fail⏏("fail in sub foo"); foo().should.print.Parse failed»… | |||
felher | perl6: sub foo() {fail("fail in sub foo");}; foo().should.print.not.in.sub.foo // die "not in sub foo"; | 14:38 | |
p6eval | niecza v18: OUTPUT«===SORRY!===Undeclared routine: 'fail' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /home/p6eval/nie… | ||
..pugs: OUTPUT«*** No such method in class Failure: "&should" at /tmp/0vxE8fFrWe line 1, column 39-96» | |||
..rakudo e2d876: OUTPUT«fail in sub foo in method <anon> at src/gen/CORE.setting:9317 in <anon> at src/gen/Metamodel.pm:2260 in any find_method_fallback at src/gen/Metamodel.pm:2258 in any find_method at src/gen/Metamodel.pm:828 in block <anon> at /tmp/G0HsKC8f1B:1»… | |||
felher | Hm, NYI, it seems :) | ||
moritz | huh? | ||
I thought Rakudo was correct | |||
calling a method on the Failure throws the exception embedded in it | 14:39 | ||
felher | moritz: Maybe i misunderstood TimToady++ and the specs, but i thought S02:1359 implies that it doesn't throw the exception, but just return the Failure again. :) | 14:40 | |
moritz | felher: oh indeed, that part is NYI | 14:41 | |
"After the failure is returned, any subsequent attempt to use the | 14:42 | ||
failure in an C<Any> context will be subject to further failure | |||
analysis, and will likely throw an exception immediately." | |||
erm, unless it's calling methods on it :/ | 14:43 | ||
felher | Well, i really like that not throwing an exception when calling a method on failure. If one has a hash with a default-value of failure("element not in hash"), then once can check %hash<blar>.getSomeObjectThatMightBeThereAndFailOtherwise.sameAgain() with one check. Thats need :) | 14:45 | |
... aeh. *one, and *neat | 14:46 | ||
moritz | but it does open up the question on when a Failure actually turns into a thrown exception | ||
14:46
xenu joined
|
|||
felher | Hm, yeah :/ | 14:46 | |
xenu | hi! | ||
felher | o/ | ||
xenu | should test 22-unicode.t from Perlito pass? | 14:47 | |
moritz | \o xenu | ||
moritz hopes that fglock knows, but he's not in here | |||
14:49
fgomez left
|
|||
felher now wonders when a Failure turns into a thrown Exception too. | 14:53 | ||
TimToady | sink context or multi-dispatch failure | 14:54 | |
moritz | what about .Str and .Stringy? | ||
TimToady | if they're defined in Failure, they single dispatch | 14:55 | |
moritz | are they? | 14:56 | |
TimToady | I don't know that sort of thing before I have coffee, or whether I'll know it after either... :) | 14:57 | |
felher | :D | 14:58 | |
14:58
fgomez joined
|
|||
moritz | if I have two Failure objects, $f1 and $f2, what does $f1 + $f2 give me? | 14:59 | |
TimToady | that would presumably throw | ||
this is only for single dispatch failure | |||
if a.b.c.d // die is not practical as a dispatch failover, there are probably other ways to arrange a monad of dependent computations that can detect failure without throwing | 15:00 | ||
moritz | I'm currently trying out some scenarios in my head | 15:01 | |
TimToady | // could rewrite its left side, for instance, though that feels less clean than the failover to me right now | ||
15:02
fgomez left
|
|||
moritz | my $file = open($filename); my @lines = $file.list.eager; $file.close; # fails while trying to assign a Failure to @lines ? | 15:02 | |
15:02
fgomez joined
|
|||
moritz | s/fails/throws/ | 15:03 | |
(assuming that open() fails) | 15:04 | ||
felher | Okay, maybe you have already thought of this and discarded the idea for $reasons, but i'd ask nevertheless. What about introducing a special calling syntax for that? We already have .?, .+ and .*. Why not introduce .SOMETHING (say .# for discussion) that works like that? '.#' is hardly larger than '.', is explicit, and doesn't depend on METHOD being defined or not in Failure.. | ||
moritz | $thing//.foo//.bar | 15:05 | |
TimToady | if that's going to show up all over the place, I'd rather factor it out; don't want a "const problem" like C++ | 15:06 | |
moritz | hm | 15:08 | |
I wonder if we use the wrong approach here | |||
TimToady | moritz: not sure what to do about that, maybe list context also should throw like sink context; that's also a problem for rewriting the LHS | ||
s/that/@lines/ | |||
since // is strange to use in list context | 15:09 | ||
moritz | maybe we should default to die() and not to fail(). And to make parallelization happy, we allow every parallelization context to catch exceptions in each thread/whatever, and box it into a Failure | 15:10 | |
TimToady | I don't just want to slap a try around the LHS because that traps all exceptions, not just failures | ||
moritz | and then we can force immediate handling of those Failures | ||
TimToady | the // message should only be added for failures, not on any propagating exception | ||
moritz | (like, allow type checking for Failure and a single method that returns the payload, and everything else throw immediately | 15:11 | |
at some point the programmer has to handle the error conditions anyway; why not right after the parallellization step? | 15:12 | ||
TimToady | maybe, I'll need to think about that s'more when I'm awaker | 15:13 | |
moritz | it currently feels to me that we're imposing too much cost on the still-very-common single threaded case | ||
TimToady | there's little cost when it's in the failover | 15:14 | |
successful dispatch never sees it | |||
moritz | I'm not just talking about computational cost | ||
but rather mental load | |||
failures are triggered late, but must show the location of the original failure | 15:15 | ||
TimToady | I would submit that // imposes less mental load than exception propagation/trapping | ||
moritz | so we must present some kind of 'failtrace' to make it understandable how the failure propagated from the point of failure to the point of throwing | 15:16 | |
and the programmer has to understand that | |||
plus the backtrace, to understand how the point of failure was reached | 15:17 | ||
and masak++ already complains that a single backtrace is too much | |||
TimToady | but if we need it for parallel ops anyway... | 15:18 | |
this is just running it through a dependent monad rather than an independent one | |||
moritz | well, the question is how wide spread those failures will be | 15:19 | |
TimToady | though not really a monad in the failover design; rewrite is more compile time, which argues for that | ||
moritz decommutes | 15:21 | ||
15:22
majrmovies joined
|
|||
felher | TimToady: what exactly is the C++ "const problem"? :) | 15:22 | |
TimToady | having to put a keyword for what should have been a default, so it shows up everywhere | 15:23 | |
felher | TimToady: i see. Thanks :) | ||
TimToady | this is why p6 defaults to readonly parameters | ||
cognominal | In C++, I never know if it is the pointer that is a const, or the pointed thing | 15:26 | |
TimToady | maybe we should have a /// ... that rewrites the a.b.c.d to (((a // ...).b // ...).c // ...).d // ... | 15:28 | |
isBEKaml | cognominal: yeah, that's sort of confusing. Having to realise const int *ptr and int const *ptr in function declartaions, made me want to cry. :) | 15:29 | |
TimToady | or maybe there's a metaoperator hiding in there somewhere that /// is an instance of | ||
afk & | 15:30 | ||
isBEKaml | cognominal: *the difference between (typing snafu) | ||
15:36
jnthn_ is now known as jnthn
|
|||
jnthn | ohhai o/ | 15:36 | |
[Coke] | jnthn! | ||
jnthn | This week's teaching is done. \o/ | ||
sisar | moritz: is_approx does numeric comparison with accuracy of 1e-5. How did you decide that was good enough? Can't the test file define/decide how much accuracy it wants ? | 15:38 | |
kresike | bye all | ||
15:38
kresike left
|
|||
skids | maybe Failure should just auto-nop unknown methods without die. | 15:42 | |
sorear | good * #perl6 | 15:50 | |
sisar | sorear: p/ | 15:51 | |
*o/ | |||
\*/ | 15:52 | ||
15:55
tokuhiro_ left
15:59
isBEKaml left
16:00
JimmyZ left
16:02
brrt left
16:03
sisar left
16:04
fgomez left
16:17
ChristianS joined
16:25
fgomez joined
16:26
tyatpi left
16:27
sisar joined
16:36
[hds] left
16:40
sivoais_ left
16:41
tyatpi joined
16:46
sivoais joined
|
|||
dalek | : ae3e8e8 | moritz++ | misc/dalek-push.txt: [dalek] Post-Receive URLs have been renamed by github |
16:46 | |
: 86b4827 | moritz++ | misc/dalek-conf.json: [dalek] remove pull config for partcl repos which now have pushing enabled |
16:48 | ||
[Coke] | moritz++ | 16:49 | |
16:55
kaare_ joined
|
|||
TimToady | well, after showering on it, failover semantics are wrongish anyway; what we want is a // that distributes over . somehow | 16:56 | |
16:59
dakkar left
|
|||
colomon | .// | 16:59 | |
PerlJam | a macro? ;) | ||
TimToady | or something tryish that only catches the direct failures and hands them to //, if those can be distinguished from deeper exceptions | ||
.// is too noisy | |||
sorear | yay! failure discussion | 17:00 | |
TimToady | if you mean to put it between every cascaded call | ||
sorear: see earlier discussion too | |||
17:00
birdwindupbird left,
birdwind1pbird left
|
|||
TimToady | starting at irclog.perlgeek.de/perl6/2012-05-29#i_5652961 | 17:01 | |
colomon | sisar: 1e-5 was just arbitrarily chosen. it's easy enough to manually test with other values, if you need something different. | 17:02 | |
TimToady | hmm, I wonder if Date can port to niecza now that + et al. are multis | 17:03 | |
PerlJam | TimToady: you think this distributive tryish thing would only be useful for method calls or other contexts as well? | ||
colomon | TimToady: woah, what? | 17:04 | |
TimToady | dunno, it just feels like there's something more generally monadish in there | ||
I don't like the tryish approach for the same reason as the failover approach: it's a run-time solution to a Maybe-ish problem | 17:05 | ||
colomon | TimToady: multi infix:<+> !!!! oh, that's awesome! | ||
PerlJam | If I turn my head just so, there's not a big difference between a.b.c.d and a+b+c+d | 17:06 | |
colomon really missed that good old Rakudo feature... | |||
TimToady | colomon: yes, I saw that in the latest release annnouncment, and \o/ed | ||
colomon | That's what I get for not actually reading the release announcement yet. think it's sitting open in a tab on my other computer.... | 17:07 | |
[Coke] | colomon: if you don't get to it by this weekend, I can try again (Date) | ||
TimToady tried once too, but is willing to let someone else delegate themselves to do it this time :) | 17:08 | ||
sisar | colomon: hmm, maybe an optional parameter to is_approx can be added to pass it the required accuracy, with default as 1e-5. Or maybe that is unneeded overloading. | ||
TimToady | or $*EPSILON | ||
colomon | sisar: an optional named argument, maybe | 17:09 | |
sisar | TimToady: interesting. | ||
colomon is trying Math::Vector in another window | |||
sisar | colomon: aye, maybe. | ||
moritz | I'd rather not have the basic test functions depend on contextuals or named arguments | ||
17:09
Chillance joined
|
|||
colomon | what moritz++ said. | 17:09 | |
Lexical symbol '&infix:<+>' is already bound to an outer symbol (see ??? line 0); | 17:10 | ||
the implicit outer binding at line 41 must be rewritten as &infix:<+> | |||
before you can unambiguously declare a new '&infix:<+>' in this scope | |||
TimToady | is_roughly :) | ||
colomon | interesting error... | ||
TimToady | something used + before your definition, maybe | 17:11 | |
colomon | by line number, that's not a definition of infix:<+> at all; it's the definition of dot product, and it's using [+] internally. | 17:12 | |
sisar | moritz: 'contextuals' ? | ||
like ? | |||
moritz | $*EPSILON | ||
sisar | oh | ||
colomon | though there is a sub infix:<+> later in the class definition. | ||
moritz | I think we call them 'dynamic variables' now | ||
TimToady | colomon: missing multi? | 17:13 | |
17:14
fhelmberger joined
|
|||
TimToady | but really, if infix:<+> is bound to an outer proto, it shouldn't care if you add multis under it | 17:14 | |
sorear | colomon: defining additional 2-argument infix:<+> subs in the setting is a Bad Idea | ||
TimToady | why? | 17:15 | |
or do you mean non-multis? | |||
17:15
pmurias joined
|
|||
pmurias | hi | 17:15 | |
TimToady | lo | ||
sorear | TimToady: optimizations | 17:16 | |
TimToady either doesn't follow or doesn't buy it. :) | 17:17 | ||
colomon | sorear, TimToady: what I'm looking at now is in Math::Vector (not setting), and does have multis. however, I am defining the multi sub in a class definition, could that be the problem / related to the problem? | ||
sorear | colomon: if you want to extend the behavior of CORE::infix:<+> on two arguments, you need to modify Buuiltins.cs | ||
colomon: ah, then you are probably seeing a bug as TimToady++ described | |||
colomon | sorear: you're saying that to properly do Date (with its own infix:<+>) should probably involved modifying the stuff in Builtins.cs? Now that you mention it, I probably know 90% of what is needed to do that. Should have thought of that approach months ago... | 17:19 | |
sorear | colomon: probably moving the new multi ahead of all the uses would help | ||
17:21
kubrat left
|
|||
colomon | sorear: in Math::Vector, I'm not actually trying to using the new infix:<+> multi, I'm trying to use the standard infix:<+> from the setting. Of course, that might be causing the problem... | 17:21 | |
TimToady | maybe something's trying to install an additional unneeded proto | 17:22 | |
since the proto infix:<+> should suffice, supposedly | 17:23 | ||
s/the/the setting's/ | |||
sorear | TimToady: no, you were right the first time | ||
TimToady | I hate it when that doesn't happen. :) | ||
sorear | TimToady: the first + binds to CORE's + dispatcher, then a new dispatcher is created and the symbol binder throws a hissy | ||
colomon: sorry, the compiler can't know which multi you're trying to use | 17:25 | ||
TimToady | the compiler should only care about which proto you're using | ||
colomon | errr.... isn't figuring that out the whole point of multiple dispatch? | ||
TimToady | multis is run-time | ||
TimToady understands there are potential issues with constant folding | 17:26 | ||
oops, must afk a bit & | |||
sorear | although maybe this behavior isn't a bug at all | ||
diakopter | . | 17:31 | |
phenny | diakopter: 12:41Z <moritz> tell diakopter I went through all the tickets you mentioned, and closed many, commented on some and fixed some. Thanks! | ||
sorear | nah, it is a bug, but a slightly nontrivial one | 17:32 | |
colomon is glad he doesn't need to figure out how to define new infix:<+>s without referring to older infix:<+>s. | 17:33 | ||
diakopter | RT #76462 is that reference syntax valid? | 17:36 | |
rt.perl.org/rt3/Public/Bug/Display...l?id=76462 | |||
rakudo: my %h=('a'=>1,'b'=>2); my $h_ref=\%h; say $h_ref.{'a'} | |||
p6eval | rakudo e2d876: OUTPUT«Any()» | ||
jnthn | r: my %h=('a'=>1,'b'=>2); my $h_ref=\%h; say $h_ref.perl | 17:37 | |
p6eval | rakudo e2d876: OUTPUT«Capture.new( list => ("a" => 1, "b" => 2).list, hash => EnumMap.new())» | ||
jnthn | Ah, it's somehow gone and stuck it in the capture as if it was a positional arg. | ||
It...prolly shouldn't do that. | 17:38 | ||
diakopter | if I had access to RT I could add that as a comment to the ticket | ||
17:39
sisar left
|
|||
diakopter | well, the behavior has changed on it since it was last commented on | 17:39 | |
sorear | jnthn: errm, rakudo's behavior does not look like 'positional arg' | 17:40 | |
n: my %h=('a'=>1,'b'=>2); my $h_ref=\%h; say $h_ref.perl | |||
p6eval | niecza v18: OUTPUT«\({"a" => 1, "b" => 2}.hash)» | ||
diakopter | someone: RT #76492 is fixed; needs tests | ||
jnthn | sorear: ah, hmm, it's list contexted it too | ||
sorear: I'm guessing it should populate the hash portion of the capture. | 17:41 | ||
oh, maybe not though. | |||
jnthn should read the spec and stopp guessing :) | |||
arnsholt | Too much Swedish for jnthn? =) | 17:42 | |
diakopter | someone: RT #76510 the original complaint is fixed, but the two follow-ons are not; partial testneeded | 17:43 | |
17:43
brrt joined
17:44
sisar joined,
Kresike joined
|
|||
Kresike | hi all | 17:44 | |
sorear | hello, Kresike. | 17:45 | |
17:46
renormalist left
|
|||
diakopter | r: say 3 | 17:46 | |
p6eval | rakudo e2d876: OUTPUT«3» | ||
17:46
renormalist joined
|
|||
diakopter | someone: RT #76610 is fixed; needs tests | 17:47 | |
Kresike | hello sorear | ||
diakopter | someone: RT #76648 is fixed; needs tests | 17:48 | |
[Coke] | diakopter: what email address do you want me to give you rt privs at? | 17:50 | |
diakopter | well, my main email address on bitcard is totally broken, let me try to activate wilson_at_cpan_dot_org I'll let you know | 17:51 | |
nm, diakopter@gmail should work now | 17:53 | ||
I guess something about my account or bitcard is now fixed. | |||
moritz | rakudo: my $a = 3; my $b := $a; my $c = 3; say $a =:= $b; say $a =:= $c | 17:54 | |
p6eval | rakudo e2d876: OUTPUT«TrueFalse» | ||
[Coke] | yay, perl6 irc logs contain the link to the metacommiter url. ;) | 17:55 | |
[Coke] *thinks* he's granted diakopter bugadminrights. | |||
anyone else that's been bugging us? | 17:56 | ||
hurm. some of these people are no longer with perl6. should we do some cleanup? | 17:58 | ||
moritz | which people? | ||
sorear | it's not at all a bad idea to remove privileges from accounts that are no longer used | 17:59 | |
[Coke] | gist.github.com/2829767 | ||
sorear | do you remember last year when 'audreyt' was compromised and used to disrupt #perl6? | ||
[Coke]: ahem, some of those people are still very much with us | 18:00 | ||
[Coke] | no, but my memory is often hacked into and replaced with shadows. | ||
sorear | like 52 moritz (Moritz Lenz) :P | ||
diakopter | sorear: I'm sure [Coke] meant that list to mean all the people who are currently able to access | ||
sorear | oh, 13 too | 18:01 | |
[Coke] | diakopter++ # I thought obviously since my name is on it. | ||
moritz | [Coke]: I'll mark who I think should stay active | ||
[Coke] | danke. | 18:02 | |
the "parrot commit" group is also a member. | 18:03 | ||
sorear | I recommend sending a broad email to p6c or possible even p6a so that anyone affected who shouldn't have been has a chance to appeal | ||
diakopter | phenny: tell TimToady another std buglet: gist.github.com/2823010 | ||
phenny | diakopter: I'll pass that on when TimToady is around. | ||
[Coke] | IME, that just opens the door to ask people to say "turn my account back on" even if they never use it. | ||
moritz | [Coke]: gist.github.com/2829783 | 18:04 | |
18:04
sergot left
|
|||
diakopter | [Coke]: how do I add a testneeded tag | 18:05 | |
moritz | diakopter: click on "Basics" | 18:06 | |
diakopter | then what | ||
moritz | diakopter: and then in the bottom right there is a list of available tags | ||
diakopter | not for me | ||
moritz | diakopter: do you have any text boxes where you can edit stuff? | 18:07 | |
[Coke] | moritz: that all seems reasonable. | ||
diakopter | yeah; subject, status, queue, owner, time estimated, time worked, time left, priority, final priority | ||
[Coke] | diakopter: did you click on the link to bring you out of readonly mode? | ||
moritz | diakopter: you should be on an URL like rt.perl.org/rt3/Ticket/Modify.html?id=113408 | 18:08 | |
diakopter | yes | ||
[Coke] | moritz: leaving ask in since he's an admin anyway. | ||
moritz | [Coke]: ok | ||
[Coke] | diakopter: and what does "Logged in as..." say on the top? | ||
diakopter | oh weird. it switched me to a different account. | 18:09 | |
see, this is the problem I was having with #&%^@& bitcard before | |||
I log in as one account, then later it switches me to another account or logs me out | |||
[Coke] | there several people with multiple accounts.' | 18:10 | |
I'll just enable your other 2, ok? | |||
diakopter | hah, ok | ||
[Coke] | or the one. privmsg me it. | ||
18:11
spider-mario joined
|
|||
diakopter | nm I got my other account to work. actually it was my fault. | 18:11 | |
bitcard does seem a lot stabler | 18:12 | ||
than a couple years ago | |||
at least you can reset your automatic login now | |||
sorear | o/ spider-mario | ||
spider-mario | \o sorear | ||
18:12
DreamingInCode joined,
erkan joined
18:15
daxim left
|
|||
diakopter | yay: those fields appear under Basics now [Coke]++ moritz++ | 18:16 | |
sorear | o/ DreamingInCode | ||
dalek | kudo/nom: 9ef8010 | jnthn++ | src/Perl6/ (3 files): pir:: -> nqp:: for a bunch more stuff in the compiler. |
18:17 | |
ecza: c86e3f0 | sorear++ | FETCH_URL: Move bootstrap pointer to github now that that is working again |
18:18 | ||
DreamingInCode | \o/ sorear | ||
[Coke] | parrotbugadminpowers cleansed. | 18:20 | |
you may have noticed a minor interruption, as I deleted "parrot group" and added back some people individually that were impacted. | 18:21 | ||
(e.g. moritz) | |||
18:23
adu joined
|
|||
dalek | p: 14b6fca | jnthn++ | src/PAST/NQP.pir: Add nqp::can. |
18:32 | |
diakopter | rakudo: sub foo(@items is copy) { say @items[0..^1]; say @items; }; my @items = 'a'..'g'; foo(@items); say @items; # what should this say? I can't tell whether #74430 is now working | ||
p6eval | rakudo e2d876: OUTPUT«aa b c d e f ga b c d e f g» | ||
diakopter | n: say ((1,2) X <a b>).perl | 18:34 | |
p6eval | niecza v18: OUTPUT«(1, "a", 1, "b", 2, "a", 2, "b").list» | ||
diakopter | r: say ((1,2) X <a b>).perl | ||
p6eval | rakudo e2d876: OUTPUT«((ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),)).list» | ||
diakopter | n: say [(1,2) X <a b>].perl | ||
p6eval | niecza v18: OUTPUT«[1, "a", 1, "b", 2, "a", 2, "b"]» | ||
diakopter | r: say [(1,2) X <a b>].perl | ||
p6eval | rakudo e2d876: OUTPUT«[1, "a", 1, "b", 2, "a", 2, "b"]» | ||
spider-mario | r: sub infix:<€>($a, $b) {[$a, $b]} say ((1, 2) X€ <a b>).perl | 18:36 | |
p6eval | rakudo e2d876: OUTPUT«===SORRY!===Confusedat /tmp/Ag83oSRsMC:1» | ||
spider-mario | r: sub infix:<€>($a, $b) {[$a, $b]}; say ((1, 2) X€ <a b>).perl | ||
p6eval | rakudo e2d876: OUTPUT«([1, "a"], [1, "b"], [2, "a"], [2, "b"]).list» | ||
diakopter | p6: class A {has @.s}; my %h='n'=><a1 a2 a3>; say %h<n>.perl;my A $x.=new(:s(%h<n>));say $x.s.perl | 18:37 | |
p6eval | rakudo e2d876: OUTPUT«$("a1", "a2", "a3")Array.new("a1", "a2", "a3")» | ||
..pugs: OUTPUT«\"a1"\("a1",)» | |||
..niecza v18: OUTPUT«$("a1", "a2", "a3")["a1", "a2", "a3"].list» | |||
18:37
brrt left
|
|||
diakopter | jnthn/sorear: ^^ which is right | 18:37 | |
RT #74636 wants both .perl to output the same | 18:38 | ||
TimToady | phenny phood | ||
phenny | TimToady: 18:03Z <diakopter> tell TimToady another std buglet: gist.github.com/2823010 | ||
TimToady | std: gist.github.com/2823010 | 18:39 | |
p6eval | std f179a1b: OUTPUT«ok 00:00 46m» | ||
TimToady | diakopter: um... | ||
diakopter | oh oops I changed that gist since then | ||
sec | |||
jnthn | diakopter: I think Rakudo and Niecza's outputs are saying the same thing really. | 18:40 | |
diakopter: Or close enough. | |||
diakopter | std: gist.github.com/2829948 | ||
p6eval | std f179a1b: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66577.Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66616.===SORRY!===Preceding context expects a term, but found infix = instead at /tmp/5i7jNVz5gD… | ||
diakopter | jnthn: so are they both right for both .perl (can I mark the ticket testneeded)? | 18:41 | |
jnthn | diakopter: It's doing what I expect it to do there, yes. | ||
diakopter: That is, it's item-y when it's in a hash value. | |||
TimToady | diakopter: well, the error part is correct | 18:42 | |
the uninits I presume are what you mean | |||
diakopter | yeah; minor nits | 18:43 | |
uni-nits even | 18:46 | ||
18:47
ChristianS left
|
|||
dalek | kudo/nom: 223419d | jnthn++ | / (15 files): pir::can => nqp::can |
18:48 | |
18:49
jdv79 joined
|
|||
jdv79 | github.com/search?q=rakduo&typ...rt_value=1 | 18:49 | |
are those spelling errors? i typo'd on my search for rakudo. | |||
diakopter | yes :) | ||
jdv79 | just wondering if rakduo was something real i didn't know about | ||
diakopter | I think we'll all typo'd that way | 18:50 | |
*we've | |||
jdv79 | yay for consistency | ||
jnthn | Seems the one in the Rakudo repo is a typo in a commit long ago, and it's since been fixed. :) | 18:51 | |
18:51
gesh joined
|
|||
diakopter | p6: sub foo(@a) { @a[0, 1] = <OH NOES> }; my @a = 0, 1; foo(@a); say ~@a | 18:58 | |
p6eval | pugs, rakudo e2d876, niecza v18: OUTPUT«OH NOES» | ||
diakopter | TimToady: is @a read-only in the proper way there? ^^ | ||
19:06
birdwindupbird joined
|
|||
diakopter | r: sub f { gather for 1 { return; }}; f(); say "alive" | 19:11 | |
p6eval | rakudo e2d876: OUTPUT«alive» | ||
diakopter | r: sub f { gather for 1 { return; }}; my @a = f(); say "alive" | ||
p6eval | rakudo e2d876: OUTPUT«(signal SEGV)» | ||
diakopter | jnthn: ^^ :) | ||
moritz | diakopter: read-onlyness of of arrays and hashes is still an open question | 19:12 | |
(SEGV) known, I've submitted it not long ago | |||
diakopter | oh; it's a duplicate of May 2010 #75174 then | 19:13 | |
nm | |||
you commented on that one :) | |||
diakopter should read the whole thing first | |||
19:14
raiph joined
|
|||
diakopter | std: say 1 if 2 if 3 { say 3 } # TimToady have you seen this one? #75230 | 19:14 | |
p6eval | std f179a1b: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66577.Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66616.===SORRY!===Missing semicolon at /tmp/2yh3PPJvek line 1:------> say 1 if 2⏏[31… | ||
diakopter | oh! it's different now. | ||
nm | |||
moritz: how do I merge a duplicate | 19:16 | ||
moritz | diakopter: in the "Links" tab | ||
"merge into" | |||
diakopter | 75320 and 76878 do you agree? | 19:17 | |
if so, which should be merged into which | |||
jnthn: do you remember this? :) [16:36] <jnthn> mathw: I'm trying to work out why it might not be so | 19:21 | ||
simple as "check if we advanced by any characters" | |||
(that's what I did in the javascript peg for MGrammar - check if it advanced; seemed to work great) | |||
p6: my ::&a &a # is rakudo's error good enough here? I suspect so. | 19:26 | ||
p6eval | niecza v18-1-gc86e3f0: OUTPUT«===SORRY!===Class required, but symbol table name used instead at /tmp/PfjdZ6XUZN line 1:------> my ::⏏&a &a # is rakudo's error good enough heA type must be provided at /tmp/PfjdZ6XUZN line 1:------> my ::[3… | ||
..rakudo 223419: OUTPUT«===SORRY!===Cannot use :: as a type name at line 2, near "&a &a # is"» | |||
..pugs: ( no output ) | |||
jnthn | diakopter: No, don't know what I was talking about without more context :) | ||
diakopter | <.ws>+ | ||
infinitely looping | |||
I've been trying to figure out how to detect possibly zero-width things in the NFA constructor | 19:27 | ||
and not put them in loops | |||
p6: "a".subst(/<ws>+ $$/, ''); | 19:28 | ||
19:28
brrt joined
|
|||
p6eval | rakudo 223419, niecza v18-1-gc86e3f0: OUTPUT«(timeout)» | 19:28 | |
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | |||
diakopter | both rakudo and niecza timeout | 19:29 | |
I *think* it should be possible to process an nfa to see if there are any zero-width paths. | 19:32 | ||
jnthn | <ws> ain't declarative though...so it doesn't have an NFA to analyse. | ||
diakopter | oh. | 19:33 | |
dalek | kudo/nom: 3b15966 | jnthn++ | src/ops/perl6.ops: Fix SEGV that arose from a return in a gather. |
19:40 | |
jnthn | diakopter: ^^ | ||
diakopter | rakudo: class A { has $c where 1; } | ||
p6eval | rakudo 223419: OUTPUT«===SORRY!===Contextual %*PARAM_INFO not found» | ||
diakopter | jnthn++ # I'll update the ticket | 19:41 | |
jnthn guesses update means "tag testneeded" | |||
diakopter | yeah | ||
19:43
brrt left
|
|||
sisar | jnthn: did you get a chance to look at irclog.perlgeek.de/perl6/2012-05-23#i_5627900, the backtrace related to module installation failures? | 19:43 | |
19:43
brrt joined
|
|||
sisar | is it helpful enough ? | 19:43 | |
19:47
brrt left
|
|||
diakopter | std: enum A <a>; enum B <a>; | 19:50 | |
p6eval | std f179a1b: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'a' (see line 1) at /tmp/ExZPJrmV7T line 1:------> enum A <a>; enum B <a>⏏;Check failedFAILED 00:00 40m» | ||
diakopter | phenny: ask TimToady is this right? std: enum A <a>; enum B <a>; | ||
phenny | diakopter: I'll pass that on when TimToady is around. | ||
19:52
MattDMo joined
|
|||
diakopter | p6: $*x = 42; say $*x.WHAT | 19:52 | |
p6eval | rakudo 223419: OUTPUT«Dynamic variable $*x not found in method <anon> at src/gen/CORE.setting:9317 in <anon> at src/gen/Metamodel.pm:2260 in any find_method_fallback at src/gen/Metamodel.pm:2258 in any find_method at src/gen/Metamodel.pm:828 in block <anon> at /tmp/Ivt9zr6xSI:… | ||
..pugs: OUTPUT«Int» | |||
..niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/qSIatGUdIf line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3910 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3911 (module-CORE @ 558)  at /home/p6eval/niecza/lib… | |||
diakopter | p6: $*x = 42; | ||
p6eval | rakudo 223419: OUTPUT«Dynamic variable $*x not found in method <anon> at src/gen/CORE.setting:9317 in <anon> at src/gen/Metamodel.pm:2260 in any find_method_fallback at src/gen/Metamodel.pm:2258 in any find_method at src/gen/Metamodel.pm:828 in block <anon> at /tmp/Vhay3VPmpQ:… | ||
..niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/EGuxWILmSp line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3910 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3911 (module-CORE @ 558)  at /home/p6eval/niecza/lib… | |||
..pugs: ( no output ) | |||
diakopter | p6: $*x | ||
p6eval | pugs, rakudo 223419, niecza v18-1-gc86e3f0: ( no output ) | ||
19:53
gesh left
19:54
shinobicl_ left
19:56
MattDMo left,
adu left
|
|||
jnthn | sisar: I didn't get to that one just yet. | 19:59 | |
sisar: Looking at precomp issues is pretty high on my todo list. | |||
sisar | jnthn: no problem :) | 20:02 | |
jnthn's-todo-list++ | |||
jnthn | Yeah, that's my todo list. Always getting incremented. :P | ||
diakopter | rakudo: my Int (Str (Int (Str $x))); say $x # hee hee | ||
p6eval | rakudo 223419: OUTPUT«Null PMC access in find_method('gist') in sub say at src/gen/CORE.setting:6949 in block <anon> at /tmp/VwJO9gqRAu:1» | ||
jnthn | ...wtf. :) | 20:03 | |
sisar | :) | ||
diakopter | that's #73102 | ||
xenu | i smell lisp in the air | 20:04 | |
;) | |||
diakopter | rakudo: my Int (Str (Int $x)); say $x.WHAT | ||
p6eval | rakudo 223419: OUTPUT«Can only use get_what on a SixModelObject in block <anon> at /tmp/SoV3T4Ob5N:1» | ||
jnthn | Same root cause. | ||
diakopter | I wonder what $x is if it's not a SixModelObject | 20:05 | |
jnthn | A Null PMC, as the message above said. :) | ||
diakopter | oh | 20:07 | |
jnthn tries the obvious patch | |||
diakopter | std: my Int (Str (Int (Str $x))) | ||
p6eval | std f179a1b: OUTPUT«ok 00:00 42m» | ||
diakopter | n: my Int (Str (Int $x)); say $x.WHAT | 20:08 | |
p6eval | niecza v18-1-gc86e3f0: OUTPUT«Any()» | ||
diakopter | n: my Int (Str (Int $x)); say $x | ||
p6eval | niecza v18-1-gc86e3f0: OUTPUT«Any()» | ||
diakopter | I have no idea what the nested types are supposed to mean | ||
jnthn | We either :) | ||
Hm | 20:09 | ||
I wonder whether it should be an error though. | |||
sisar | diakopter: seeing you here trying out weird syntax stuff on p6eval, i now understand why TimTiady said that you++ write weird code :p | 20:10 | |
jnthn | hm, obvious fix didn't help much | 20:11 | |
jnthn leaves this one for now | |||
diakopter | sisar: well, the ones I'm trying today are from 2 years ago when both masak and lue and I went on a fuzzing spree | ||
I'm triaging old tickets to see if behavior changed and tickets need updated | 20:12 | ||
so far moritz and I have marked probably 40-50 as testneeded | |||
jnthn | wow | ||
sisar | yeah, I saw that | ||
jnthn | diakopter++ moritz++ | ||
sisar | diakopter++ moritz++ | ||
dalek | kudo/nom: 0248432 | moritz++ | src/core/control.pm: typed exception for returning from exhausted routine |
20:13 | |
[Coke] | r: say 636-101 | 20:14 | |
diakopter | rakudo: my @a=0..*; @a[Inf]=3; say @a[Inf]; # here's an interesting one. its behavior has totally changed 3 times already in the past 2 years | ||
p6eval | rakudo 223419: OUTPUT«535» | ||
rakudo 223419: OUTPUT«This type cannot unbox to a native integer in method at_pos at src/gen/CORE.setting:5723 in method postcircumfix:<[ ]> at src/gen/CORE.setting:1184 in block <anon> at /tmp/JkBszJpFDN:1» | |||
diakopter | I think the current behavior seems right. | ||
20:14
imarcusthis left
20:15
benabik left
20:16
benabik joined
|
|||
dalek | ast: e708a8c | moritz++ | S (2 files): test X::ControlFlow::Return |
20:16 | |
[Coke] | nom: say NaN.perl | ||
p6eval | rakudo 223419: OUTPUT«NaN» | ||
[Coke] | diakopter: RT #103500 | ||
moritz | 370 tests for typed exceptions. | ||
[Coke] | r: say Inf.int | 20:17 | |
p6eval | rakudo 3b1596: OUTPUT«No such method 'int' for invocant of type 'Num' in block <anon> at /tmp/bRrcbJ1bu4:1» | ||
[Coke] | r: say Inf.Int | ||
p6eval | rakudo 3b1596: OUTPUT«Cannot coerce Inf to an Int in method gist at src/gen/CORE.setting:9312 in sub say at src/gen/CORE.setting:6949 in block <anon> at /tmp/HdgJCFT331:1» | ||
diakopter | p6: my Hash $x; $x[1] ; say $x.perl # is rakudo correct here now? | 20:18 | |
p6eval | pugs: OUTPUT«\\()» | ||
..rakudo 3b1596, niecza v18-1-gc86e3f0: OUTPUT«Hash» | |||
diakopter | moritz++ typed exceptions | ||
20:18
imarcusthis joined
|
|||
moritz | they make testing of that stuff much easier | 20:19 | |
which was my main motivation | |||
diakopter | [Coke]: there are only 101 marked testneeded? | 20:20 | |
[Coke] | diakopter: yes. | ||
103 | |||
diakopter | :) | ||
[Coke] | rakudo.org/rt/testneeded | ||
diakopter | rakudo: say "\xFDD0" # is this correct now? | 20:27 | |
p6eval | rakudo 3b1596: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | ||
diakopter | "<lue> apparently it doesn't support the whole of unicode..." | ||
jnthn | .u FDD0 | 20:28 | |
phenny | U+FDD0 (No name found) | ||
diakopter | ok, marking notabug | ||
20:28
snearch joined
|
|||
jnthn | I'm not sure what we should really do in this case. | 20:29 | |
diakopter waits then | |||
jnthn | Technically, an NFG string *could* represent it. | ||
diakopter | r: class A { method foo($bar:) { say $bar.WHAT } }; A.new.foo( :bar(42) ) # is this okay now | 20:39 | |
p6eval | rakudo 3b1596: OUTPUT«A()» | ||
diakopter | "It's questionable whether an invocant can be specified both by the | ||
> dot-call form and by passing a named parameter" | |||
jnthn | That ain't doing anything such | 20:41 | |
*%_ is collecting the :bar(42) | |||
And $bar isn't a named so it's getting the invocant. | |||
s/so it's/and it's/ | |||
20:42
fhelmberger left
|
|||
diakopter | I guess it's not a bug then | 20:43 | |
20:49
spider-mario left
|
|||
gfldex | r: gist.github.com/2830624 | 20:50 | |
p6eval | rakudo 3b1596: OUTPUT«#00bb00#00aa00#00bb00#00aa00#00bb00#00aa00#00bb00#00aa00#00bb00#00aa00» | ||
diakopter | 15:48 <diakopter> r: (1..3).map({$_ => $_*$_}).perl.say | ||
15:48 <p6eval> rakudo 3b1596: OUTPUT«use of uninitialized variable $_ of type Any in | |||
numeric context in block <anon> at /tmp/h5JE2CAnLz:1use of uninitialized | |||
variable $_ of type Any in numeric context in block <anon> at | |||
/tmp/h5JE2CAnLz:1use of uninitialized variable $!key of type Any in string | |||
c… | |||
gfldex | on cygwin i get "ICU not loaded" for that gist | ||
diakopter | 15:49 <diakopter> r: (1..3).map({{$_ => $_*$_}}).perl.say | ||
ugh | |||
r: (1..3).map({$_ => $_*$_}).perl.say | |||
p6eval | rakudo 3b1596: OUTPUT«use of uninitialized variable $_ of type Any in numeric context in block <anon> at /tmp/2hcyev09Jp:1use of uninitialized variable $_ of type Any in numeric context in block <anon> at /tmp/2hcyev09Jp:1use of uninitialized variable $!key of type Any in string c… | ||
diakopter | r: (1..3).map({{$_ => $_*$_}}).perl.say | 20:51 | |
p6eval | rakudo 3b1596: OUTPUT«({"1" => 1}, {"2" => 4}, {"3" => 9}).list» | ||
diakopter | gfldex: did you build parrot with icu on cygwin? | ||
(sounds like not) | |||
gfldex | i think so, any quick way to check that? | ||
diakopter | parrot_config --dump|grep licudata | 20:52 | |
gfldex | no parrot_config to be found | 20:55 | |
20:56
snearch left
|
|||
diakopter | it's not in the same spot where the parrot binary was installed? | 20:56 | |
gfldex | find can't find it | 20:57 | |
diakopter | where is the parrot binary? | ||
gfldex | ~/rakudo/parrot/parrot | 20:58 | |
20:58
libertyprime left,
birdwindupbird left
|
|||
diakopter | strange | 20:58 | |
I thought parrot_config was always built | |||
I guess you could look in the Makefile | 20:59 | ||
20:59
libertyprime joined
|
|||
diakopter | for that same string | 20:59 | |
gfldex | i have more then one cygparrot4.?.?.dll | ||
could it pick the wrong one? | |||
diakopter | ohhh.. you didn't build parrot; you used a package? | ||
gfldex | i think i will kill the dlls and rebuild | ||
no i used --gen-parrot | |||
diakopter | oh | ||
benabik | parrot_config is always built with parrot. | 21:00 | |
21:06
libertyprime left,
wolfman2000 joined
21:07
libertyprime joined,
skids left
|
|||
gfldex | no parrot_config on cygwin | 21:08 | |
diakopter | check for licudata in the Makefile | ||
21:09
raiph left
21:13
ScreenSaudi joined
|
|||
diakopter | rakudo: my $a = "oh hai"; say $a .= "uc"() | 21:13 | |
p6eval | rakudo 024843: OUTPUT«No such method 'Capture[0xa010b9c]' for invocant of type 'Str' in method dispatch:<.=> at src/gen/CORE.setting:824 in block <anon> at /tmp/HbUU8pkkG9:1» | ||
gfldex | no icudata in the Makefile | 21:15 | |
i will try to update cygwin | 21:16 | ||
diakopter | gfldex: then ./Configure couldn't find libicu-dev | ||
sorear | good * #perl6 | 21:17 | |
diakopter | sorear: hi | 21:18 | |
21:18
aesundstrom joined
21:19
pmurias left
21:22
ScreenSaudi left
21:24
kaare_ left
21:28
plobsing_ joined
21:31
plobsing left
|
|||
diakopter | r: enum X <A B C> is export; | 21:31 | |
p6eval | rakudo 024843: OUTPUT«===SORRY!===Error while compiling, type X::Syntax::Confused at line 2, near "enum X <A "» | ||
diakopter | moritz: what does that mean | 21:32 | |
it's RT #71196 | 21:33 | ||
jnthn | It means that you put "is export" in the wrong place, I think :) | ||
r: enum X is export <A B C>; | 21:34 | ||
p6eval | rakudo 024843: ( no output ) | ||
jnthn | Should be that. | ||
diakopter | oh | ||
Kresike | so was that a bug in diakopter ? :) | 21:35 | |
diakopter | it was a bug in RT #71196 | 21:36 | |
jnthn | I heard you like bugs, so I put a bug in your bug. | ||
Kresike | night all ... | 21:39 | |
21:39
Kresike left
21:40
bluescreen10 left
21:41
_jaldhar left,
_jaldhar joined
|
|||
diakopter | p6: "" ~~ /<end>/ | 21:41 | |
p6eval | niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Unable to resolve method end in type Cursor at /tmp/KP1T_sOVC4 line 1 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 2867 (Regex.ACCEPTS @ 10)  at /tmp/KP1T_sOVC4 line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.… | 21:42 | |
..rakudo 024843: OUTPUT«Can not get non-existent attribute '$!pos' on class 'Cursor' in regex <anon> at /tmp/3Q5GDxKqRW:1 in method ACCEPTS at src/gen/CORE.setting:9557 in block <anon> at /tmp/3Q5GDxKqRW:1» | |||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | |||
21:42
rsimoes left,
libertyprime left
|
|||
diakopter | that's odd. a Cursor without $!pos ? | 21:42 | |
crab2313 | Hello #perl6 | ||
diakopter | jnthn: ^^ ? | ||
21:42
crab2313 left
|
|||
diakopter | crab2313: howdy | 21:42 | |
oops | |||
21:43
libertyprime joined,
rsimoes joined
|
|||
jnthn | diakopter: The error is a tad misleading. | 21:43 | |
21:43
crab2313 joined
|
|||
jnthn | (I know the ticket you're thinking of.) | 21:44 | |
21:44
libertyprime left
21:45
kurahaupo joined
21:46
b1rkh0ff left,
libertyprime joined
21:48
pupoque joined,
libertyprime left,
libertyprime joined
|
|||
crab2313 | Hello #perl6 | 21:50 | |
diakopter | howdy | 21:51 | |
21:51
icwiener joined
|
|||
crab2313 | diakopter: hello | 21:52 | |
diakopter | crab2313: are you interested in Perl 6? | 21:53 | |
crab2313 | diakopter: Yes. | ||
21:54
pupoque left,
libertyprime left
|
|||
diakopter | crab2313: are you a Perl 5 user? | 21:54 | |
21:54
pupoque joined
21:55
libertyprime joined
|
|||
crab2313 | diakopter: Yes, I'm a Perl 5 user.And I really like Perl. | 21:56 | |
21:58
b1rkh0ff joined
|
|||
jnthn | 'night, #perl6 | 21:59 | |
crab2313 | I tried, perl6 --target=pir a.p6 > b.pir , but b.pir didn't work. | 22:02 | |
sorear | You can just use perl6 a.p6 | 22:03 | |
--target=pir is not intended for general usage | |||
it only really works as part of the bootstrap | |||
diakopter | rakudo: for 1, 2, 3 { NEXT { say "!" }; .say } # why is NEXT executed 3 times | 22:04 | |
p6eval | rakudo 024843: OUTPUT«1!2!3!» | ||
crab2313 | sorear: Thanks. | ||
22:10
pupoque left
|
|||
diakopter | phenny: ask TimToady stdbug/todo: RT #64022 std: my ::MyType ::= :(Num, Str) | 22:11 | |
phenny | diakopter: I'll pass that on when TimToady is around. | ||
diakopter | n: my $foo = "foo"; say $foo R~= "foo" | 22:16 | |
p6eval | niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/nRCvy82Zc6 line 1 (ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3283 (reverseop @ 4)  at /tmp/nRCvy82Zc6 line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 3910 (ANO… | ||
diakopter | rakudo: my $foo = "foo"; say $foo R~= "foo" | ||
p6eval | rakudo 024843: OUTPUT«Cannot assign to a non-container in block <anon> at src/gen/CORE.setting:11297 in block <anon> at src/gen/CORE.setting:11309 in block <anon> at /tmp/gd7OSqtsEC:1» | ||
diakopter | oops; pasted wrong one; sorry | ||
22:16
DreamingInCode left
|
|||
diakopter | rakudo: my ($x, $y) = <a b>; $x R~= $y; say "$x $y" | 22:16 | |
p6eval | rakudo 024843: OUTPUT«a ba» | ||
diakopter | n: my ($x, $y) = <a b>; $x R~= $y; say "$x $y" | ||
p6eval | niecza v18-1-gc86e3f0: OUTPUT«a ba» | ||
diakopter | sorear: are those right? if so, I'll close rakudo's #64818 | 22:17 | |
17:31 <diakopter> rakudo: say 1.not; | 22:32 | ||
17:31 <p6eval> rakudo 024843: OUTPUT«False» | |||
ugh | |||
r: say False.not | |||
p6eval | rakudo 024843: OUTPUT«True» | ||
22:33
skids joined
22:34
majrmovies left
|
|||
sorear | diakopter: I do beleive so | 22:37 | |
22:38
libertyprime left,
libertyprime joined
22:43
tokuhiro_ joined,
Chillance left,
Chillance joined
23:01
whiteknight joined
23:02
whiteknight is now known as Guest22737
|
|||
diakopter | um. RT broke just as I was using it. I hope I didn't break it. | 23:02 | |
Internal Server Error | 23:03 | ||
23:06
stephenlb joined
|
|||
diakopter | (working now) | 23:07 | |
colomon | n: my %h; push %h<a>, 4, 2; | 23:10 | |
p6eval | niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Unable to resolve method push in type Any at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/tExMI3vaqb line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3910 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting lin… | ||
colomon | n: my %h; %h<a>.push, 4, 2; | ||
p6eval | niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Unable to resolve method push in type Any at /tmp/610mBnuUAi line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 3910 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3911 (module-CORE @ 558)  at /home/p6… | ||
TimToady | phenny phood | 23:14 | |
phenny | TimToady: 19:50Z <diakopter> ask TimToady is this right? std: enum A <a>; enum B <a>; | ||
TimToady: 22:11Z <diakopter> ask TimToady stdbug/todo: RT #64022 std: my ::MyType ::= :(Num, Str) | |||
TimToady | diakopter: the two a enums are supposed to cancel and force you to use A::a or B::a | 23:15 | |
diakopter | ok\ | ||
TimToady | on the second you can't declare an 'en passant' type without an associated parameter | 23:16 | |
std: my ::MyType ::= :(Num, Str) | |||
p6eval | std f179a1b: OUTPUT«===SORRY!===Multiple prefix constraints not yet supported at /tmp/USQ6xfwKq1 line 1:------> my ::MyType ::⏏= :(Num, Str)Illegal redeclaration of symbol 'MyType' (see line 1) at /tmp/USQ6xfwKq1 line 1:------> my ::MyType[… | ||
TimToady | std: my ::MyType $ ::= :(Num, Str) | ||
p6eval | std f179a1b: OUTPUT«ok 00:00 43m» | ||
diakopter | S02 needs updated then | 23:17 | |
under Signature Objects | |||
TimToady | std: my (::MyType $) ::= :(Num, Str) | ||
p6eval | std f179a1b: OUTPUT«ok 00:00 44m» | ||
diakopter | Signature objects I mean | ||
TimToady | std: my (::MyType) ::= :(Num, Str) | ||
p6eval | std f179a1b: OUTPUT«ok 00:00 43m» | ||
TimToady | it's just too ambiguous without the () | ||
diakopter | my ::MySig ::= :(Int, Num, Complex, Status) # is in S02 | 23:18 | |
23:18
icwiener left
|
|||
diakopter | want me to add the parens to the example? | 23:19 | |
23:19
tokuhiro_ left
|
|||
TimToady | no, that's not what it's trying to do | 23:19 | |
23:19
tokuhiro_ joined
|
|||
TimToady | that is a fossil from when :: was more of a sigl | 23:20 | |
*gil | |||
subset MySig where :() is more like it | |||
or, my \MySig ::= :() | |||
std: my \MyType ::= :(Num, Str) | 23:21 | ||
p6eval | std f179a1b: OUTPUT«ok 00:00 43m» | ||
TimToady | you can change it to \ if you like | 23:22 | |
but subset would be clearer, I suspect | |||
on the enum issue, S12:1932 applies, on the theory that 'enum A <a>' is importing 'a' from 'A' | 23:28 | ||
one the second import of 'a', that symbol must be poisoned | 23:29 | ||
such that any attempt to use bare 'a' as an enum value is disallwed | |||
(STD doesn't do this yet) | 23:30 | ||
diakopter | oh | ||
TimToady | it's not supposed to blow up on trying to import the second 'a'; it's just supposed to force disambiguoation | 23:31 | |
*ua | |||
23:31
tokuhiro_ left
|
|||
diakopter | I'll add those details to both RT tickets | 23:31 | |
TimToady | btw, the poisioning trick is originally from Ada | 23:32 | |
23:32
tokuhiro_ joined,
tokuhiro_ left
|
|||
colomon thinks that was a disturbing line to randomly read on the bottom of his screen | 23:32 | ||
sorear | o/ colomon | 23:33 | |
colomon | \o | ||
TimToady | die...kill...one could write a poem... | ||
diakopter | at last | 23:34 | |
colomon | I thought Sharon Hopkins already did? | 23:35 | |
;) | |||
23:35
thou left
|
|||
diakopter | no, irclog.perlgeek.de/perl6/2010-05-11#i_2319752 | 23:36 | |
23:37
tokuhiro_ joined
|
|||
colomon | diakopter: notice who all was in on that discussion... ;) | 23:38 | |
colomon has no idea who Sharon Hopkins actually is.... | |||
23:41
thou joined
|
|||
colomon apparently was wrong about Wikipedia not accepting the word of someone named TimToady on #perl6 about the authorship of that poem. | 23:41 | ||
23:47
adu joined
23:49
thou left
23:50
lestrrat left,
lestrrat joined
|
|||
dalek | ast: 26a959e | (Solomon Foster)++ | S02-types/autovivification.t: Fudge for Niecza. |
23:54 | |
23:59
thou joined
|