Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-05-29

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:23 fgomez joined #perl6
00:26 lestrrat joined #perl6
00:27 replore_ joined #perl6
00:35 wolfman2000 joined #perl6
01:08 scott_ joined #perl6
01:42 dalek niecza: e42dd8e | sorear++ | docs/announce.v18:
01:42 dalek niecza: Draft announce.v18
01:42 dalek niecza: review: https://github.com/sorear/niecza/commit/e42dd8e868
01:43 dalek niecza: 65474a2 | sorear++ | docs/announce.v18:
01:43 dalek niecza: s/17/18/g
01:43 dalek niecza: review: https://github.com/sorear/niecza/commit/65474a2acb
01:44 libertyprime joined #perl6
01:44 sorear RFC.
01:48 diakopter lgtm
01:52 sorear github doesn't want me to upload niecza-18.zip
01:53 sorear I'll wait an hour, try again, then file a support ticket and host the zip on feather1
01:54 tokuhiro_ joined #perl6
01:55 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.
01:55 diakopter n: multi sub infix:<~eq>(Str $a, Str $b) { uc($a) eq uc($b) }; say 'Foo' ~eq 'foo'
01:55 p6eval niecza v17-50-gdf795e6: OUTPUT«True␤»
01:55 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?
01:55 diakopter r: multi sub infix:<~eq>(Str $a, Str $b) { uc($a) eq uc($b) }; say 'Foo' ~eq 'foo'
01:55 p6eval rakudo 197e0b: OUTPUT«True␤»
01:56 sorear hmm, feather1 has 11 days uptime and  RX bytes:1088785541 (1.0 GiB)  TX bytes:1796397103 (1.6 GiB) on eth0
01:59 xinming joined #perl6
02:12 colomon joined #perl6
02:13 sorear diakopter: 'looks good to me' ?
02:13 sorear o/ colomon
02:13 diakopter yes
02:13 colomon \o
02:14 sorear colomon: release day!
02:14 colomon \o/
02:14 colomon I always forget about it.
02:21 tokuhiro_ joined #perl6
02:31 diakopter phenny: tell masak also RT 111418
02:31 phenny diakopter: I'll pass that on when masak is around.
02:32 diakopter r: https://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 #perl6
02:33 diakopter um
02:34 sorear .u ␀
02:34 phenny U+2400 SYMBOL FOR NULL (␀)
02:38 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; <"␤»
02:38 diakopter r: '' ~~ / :my $a; <{ '$a' }> /
02:38 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:40 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â�€â�
02:40 diakopter yikes; what has happened to p6eval
02:42 xinming_ joined #perl6
02:43 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␤␤»
02:43 sorear r: ~Any
02:43 p6eval rakudo 197e0b: OUTPUT«use of uninitialized value of type Any in string context  in block <anon> at /tmp/WL9TJYFsKw:1␤␤»
02:44 sorear r: '' ~~ / {die} /
02:44 p6eval rakudo 197e0b: OUTPUT«␤  in block <anon> at /tmp/z97C9Ohx2g:1␤␤»
02:51 dalek roast: 9c98a7d | (Solomon Foster)++ | S05-mass/rx.t:
02:51 dalek roast: Niecza unfudge.
02:51 dalek roast: review: https://github.com/perl6/roast/commit/9c98a7d420
02:52 diakopter phenny: tell masak RT 102690 is a dupe of 112578
02:52 phenny diakopter: I'll pass that on when masak is around.
02:54 diakopter phenny: tell masak RT 113398 is a dupe of 111956
02:54 phenny diakopter: I'll pass that on when masak is around.
02:54 dalek roast: 28d6103 | (Solomon Foster)++ | S05-metasyntax/angle-brackets.t:
02:54 dalek roast: Niecza unfudge.
02:54 dalek roast: review: https://github.com/perl6/roast/commit/28d6103b91
03:15 diakopter phenny: tell masak also, RT 103412 is magically working
03:15 phenny diakopter: I'll pass that on when masak is around.
03:16 diakopter phenny: tell masak also, 104840 is fixed
03:16 phenny ...
03:16 diakopter ...?
03:18 sorear diakopter: I think that means you exceeded phenny's message limit
03:18 sorear when masak next comes online, phenny will not give any of your messages
03:18 diakopter oh :)
03:19 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 simcop2387 joined #perl6
03:20 diakopter masak: RT 107722 is fixed
03:22 dalek niecza: 3133f7f | sorear++ | / (4 files):
03:22 dalek niecza: Update bootstrap to v18
03:22 dalek niecza: review: https://github.com/sorear/niecza/commit/3133f7f9fa
03:23 simcop2387 joined #perl6
03:23 diakopter masak: also, 107746 is fixed
03:24 sorear I rather suspect that when masak comes online next he'll just grep his logs for phenny.*masak
03:25 sorear mailing sent, with a reference to host02
03:25 diakopter masak: also I suspect 107960 is fixed
03:26 diakopter that is, it seems to be, to me.
03:28 leontopod how many things need to be fixed in Perl 6?
03:29 diakopter leontopod: there are multiple implementations/compilers.. do you mean rakudo or niecza
03:30 leontopod I guess Perl 6 in general
03:30 leontopod or the implementation of Perl 6 that is closest to becoming Perl 6.0
03:31 diakopter I don't know which one's "closer".. sorear, what's your opinion?
03:31 sorear it's hard to say.
03:31 sorear other than 'soon'.
03:31 sorear rakudo and niecza have both just sped up a lot and my extrapolator isn't working yet.
03:33 leontopod ok
03:34 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 diakopter @larry, including the implementors
03:34 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
03:35 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
03:44 diakopter masak: also I think 100232 is fixed
03:47 diakopter 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␤␤»…
03:48 diakopter r: say <a<a>>
03:48 p6eval rakudo 197e0b: OUTPUT«===SORRY!===␤Confused␤at /tmp/_Pnmy8_tu6:1␤»
03:48 diakopter eh
03:49 sorear n: say <a<a>>.perl
03:49 p6eval niecza v17-50-gdf795e6: OUTPUT«"a<a>"␤»
03:50 diakopter I can't even imagine how it parses the one with .perl but not the one without it
03:50 diakopter masak: see 100480
03:52 diakopter perl6: class A { BEGIN {has %!h = { 'a' => 1, 'b' => 2 } } } # sorear
03:52 p6eval pugs, rakudo 197e0b:  ( no output )
03:52 p6eval ..niecza v17-50-gdf795e6: OUTPUT«[31m===[0mSORRY![31m===[0m��Attribute %!h declared outside of any class at /tmp/T6G15RwwVh line 1:�------> [32mclass A { BEGIN {has %!h [33m�[31m= { 'a' => 1, 'b' => 2 } } } # sorear[0m��Unhandled exception: Unable to resolve method LISTSTORE in ty…
03:52 diakopter are pugs and rakudo correct there?
03:53 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 diakopter but jnthn marked the other one test needed
03:54 lestrrat joined #perl6
03:57 diakopter masak: RT 101440 now fails with a different error than originally
03:59 diakopter masak: RT 81974 seems fixed
04:00 leontopod diakopter, I don't think masak is around
04:01 diakopter masak: RT 81982 seems fixed
04:01 diakopter leontopod: I know. :) but he will eventually catch up on the irclogs at http://irc.perl6.org
04:02 leontopod ok
04:06 diakopter masak: also 82214 seems fixed
04:09 diakopter masak: I think 82638 should be closed as notabug
04:09 adu joined #perl6
04:11 diakopter masak: 82790 now fails with a different error than originally; worth noting
04:16 diakopter RT 82946 now fails with a different error, but I suspect that is the right thing.
04:17 diakopter RT 82974 is fixed
04:24 diakopter RT 83484 fails with a different (and funnier!) error
04:26 diakopter RT 83512 fails with a different error
04:27 diakopter btw, for anyone reading this, know that I've tried and tried to login to rt.perl.org, but have always failed.
04:29 diakopter RT 83552 fails with a different error
04:33 diakopter RT 83766 is fixed
04:34 diakopter RT 83952 is fixed
04:35 diakopter RT 83992 is fixed
04:40 diakopter RT 86340 fails with a totally differently wrong error
04:43 diakopter RT 87034 is fixed (by the very last evaluation on the ticket)
04:46 diakopter RT 87420 is fixed
04:46 sisar joined #perl6
04:52 diakopter RT 88704 is fixed
04:54 diakopter RT 78276 fails with a different error; not sure whether it's fixed
04:56 diakopter [Coke] notes RT 78280 can be closed, but now it fails with a different error; not sure whether it's fixed
04:59 diakopter RT 78370 now fails with an entirely different, and far more spectacular, error
05:00 diakopter RT 78410 might be fixed; not sure
05:02 sisar niecza release ! sorear++
05:03 diakopter RT 78676 ; different error. might be fixed?
05:05 birdwindupbird joined #perl6
05:05 birdwind1pbird joined #perl6
05:05 diakopter RT 78800 might be fixed; not sure.
05:07 diakopter RT 78870 now fails much worse than it did before.  it segfaults now; didn't before.
05:13 diakopter RT 79294 should be closed; the spec changed
05:16 lestrrat joined #perl6
05:17 diakopter RT 79568 is fixed
05:18 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?
05:18 moritz ie RT #79568
05:18 diakopter adu: nope
05:18 diakopter moritz: ok
05:18 moritz oh, and good morning :-)
05:18 diakopter hi!
05:18 moritz rakudo: my $foo = "work"; say "This should $foo\</a>"
05:18 p6eval rakudo 197e0b: OUTPUT«This should work</a>␤»
05:21 diakopter RT #80008 is fixed
05:22 adu night
05:22 diakopter bye
05:22 moritz good night adu
05:22 dalek roast: 62a8609 | moritz++ | S02-literals/string-interpolation.t:
05:22 dalek roast: RT #79568, backslash after interpolating scalar
05:22 dalek roast: review: https://github.com/perl6/roast/commit/62a8609e4f
05:23 diakopter RT #80614 seems fixed; dunno whether the test is already unfudged
05:24 moritz it is not
05:25 diakopter it's not fixed or test is not unfudged
05:25 moritz neither
05:25 moritz r: my @a = 1, 2, 3; my @b; my $x = @b[0] = @a[1]; say @b[0]
05:25 p6eval rakudo 197e0b: OUTPUT«2␤»
05:25 moritz huh
05:26 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
05:26 p6eval rakudo 197e0b: OUTPUT«2␤2␤»
05:26 moritz I just wonder why the test doesn't pass
05:27 moritz does it require a new nqp to pass?
05:27 diakopter surely not
05:29 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␤»
05:30 diakopter oh, oops, I'm wrong on that I guess
05:32 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␤␤»
05:33 diakopter which one is that?
05:33 moritz #100560
05:33 diakopter ok, not one of the ones I mentioned
05:34 moritz rakudo: (0, {last if $^a==$^b; (1..5).pick} ... *).perl.say
05:34 p6eval rakudo 197e0b: OUTPUT«(ListIter.new(),).list␤»
05:34 moritz rakudo: say (0, {last if $^a==$^b; (1..5).pick} ... *)
05:34 p6eval rakudo 197e0b: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block <anon> at /tmp/flHsVbO2lk:1␤␤»
05:34 moritz rakudo: say (0, 1, {last if $^a==$^b; (1..5).pick} ... *)
05:34 p6eval rakudo 197e0b: OUTPUT«0 1 5 4 ...␤»
05:35 moritz rakudo: say (0, 1, {last if $^a==$^b; (1..5).pick} ... *)[^20]
05:35 p6eval rakudo 197e0b: OUTPUT«0 1 2 2 2␤»
05:36 diakopter RT #81278 fails with a different error
05:38 moritz sorear++ # niecza v18
05:39 diakopter RT #77572 is a duplicate of ... some later ticket.
05:40 diakopter I think RT #77576 can be closed because DEBUG doesn't exist anymore
05:42 diakopter haha; RT #77590 used to segfault, then it NPMCA, now it has a different error.
05:44 diakopter 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:45 diakopter RT #77618 is a dupe of some later ticket
05:46 sorear o/ moritz
05:48 diakopter RT #77626 now does the right thing, I think.
05:50 diakopter RT #77660 [Coke]'s last message is now out-of-date; it's back to its original (wrong) behavior.
05:50 woosley joined #perl6
05:52 diakopter RT #77708 seems fixed.
05:55 diakopter RT #77736 is fixed.
05:55 diakopter there are actually very few tickets I'm finding that are still issues
06:01 diakopter RT #77786 now has a different failure mode
06:06 wtw joined #perl6
06:07 kaleem joined #perl6
06:08 libertyprime joined #perl6
06:14 diakopter RT #77014 is fixed
06:15 diakopter RT #77038 has a later duplicate
06:23 diakopter RT #77158 is fixed
06:26 diakopter RT #77174 is fixed
06:28 diakopter I'm pretty sure RT #77200 can be closed as invalid
06:30 diakopter RT #77224 now fails with a different error
06:32 diakopter RT #77248 can be closed imho
06:33 * diakopter has been watching Hoarders and Hoarding in the background the last few hours
06:34 odoacre joined #perl6
06:38 diakopter RT #77338 is fixed according to:
06:38 diakopter rakudo: role A[::T $?] {}; class B does A[] {}; say "alive"
06:38 p6eval rakudo 197e0b: OUTPUT«alive␤»
06:49 diakopter RT #77472 now fails silently instead of erroring
06:56 moritz diakopter++ # ticket triaging
06:56 moritz diakopter++
06:56 moritz diakopter++
06:57 brrt joined #perl6
06:58 lexande joined #perl6
07:06 diakopter Also, there are a ton of tickets [Coke] wrote Closable in, but didn't mark test needed
07:07 immortal joined #perl6
07:07 immortal joined #perl6
07:08 fhelmberger joined #perl6
07:08 Woodi morning
07:08 diakopter RT #76414 is fixed
07:09 charsbar____ joined #perl6
07:10 spacebat_ joined #perl6
07:10 sivoais_ joined #perl6
07:10 moritz rakudo: my @foo; @foo ,= 1, 2, 3; @foo.perl.say
07:10 p6eval rakudo 197e0b: OUTPUT«Array.new(1)␤»
07:11 diakopter RT #76432 is fixed
07:11 crazed- joined #perl6
07:11 jnthn_ joined #perl6
07:11 jerome_ joined #perl6
07:11 moritz doesn't look fixed to me
07:11 diakopter which one is that
07:11 moritz still gets only one element
07:11 preflex_ joined #perl6
07:11 wooden joined #perl6
07:11 wooden joined #perl6
07:11 moritz RT #76414
07:11 ranguard joined #perl6
07:11 kranius joined #perl6
07:12 diakopter oh hm, I must've mistyped/mispasted
07:12 Util joined #perl6
07:12 diakopter that's not the one I meant to mention; drat
07:12 araujo joined #perl6
07:12 broquaint joined #perl6
07:13 diakopter oh wait, yes it was.  oops; my error.
07:13 moritz rakudo: sub get_fun() { ␤ say 3␤ } ␤get_fun
07:13 p6eval rakudo 197e0b: OUTPUT«3␤»
07:13 * moritz marks testneeded
07:13 diakopter is ilbot on our netsplit segment?
07:14 moritz yes
07:14 moritz rakudo: multi sub B() { say "multi" }; &B.wrap(sub {say "before"; callsame; say "after"}); B()
07:14 p6eval rakudo 197e0b: OUTPUT«multi␤»
07:15 * 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 :)
07:15 diakopter wait, why testneeded on that one
07:15 diakopter it didn't wrap it
07:15 moritz diakopter: oh, you're right
07:15 ivan`` joined #perl6
07:16 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:19 Facefox joined #perl6
07:21 skids joined #perl6
07:23 Telg joined #perl6
07:24 odoacre joined #perl6
07:35 [hds] joined #perl6
07:41 dalek rakudo/nom: e42d841 | moritz++ | src/core/List.pm:
07:41 dalek rakudo/nom: enable autovivifcation in the sub form of push
07:41 dalek rakudo/nom:
07:41 dalek rakudo/nom: fixes RT #77038
07:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e42d84135e
07:41 dalek roast: ef0e875 | moritz++ | S02-types/autovivification.t:
07:41 dalek roast: RT #77038, &push autovivifies its first argument
07:41 dalek roast: review: https://github.com/perl6/roast/commit/ef0e875ab0
07:43 dalek roast: dddf111 | moritz++ | S32-exceptions/misc.t:
07:43 dalek roast: RT #78370, my &a; sub a { } redeclaration error
07:43 dalek roast: review: https://github.com/perl6/roast/commit/dddf1116a0
07:45 dalek roast: cf0e342 | moritz++ | S32-exceptions/misc.t:
07:45 dalek roast: oops, meant to test something else
07:45 dalek roast: review: https://github.com/perl6/roast/commit/cf0e3428bb
07:49 sisar joined #perl6
07:51 cognominal_ joined #perl6
07:54 sorear o/ sisar
07:55 sergot joined #perl6
07:55 sergot morning! o/
07:56 sorear o/ sergot
07:58 sisar hi sorear !
08:01 lestrrat joined #perl6
08:04 sergot sorear: sisar o/
08:04 sergot ;)
08:12 grondilu joined #perl6
08:12 fgomez joined #perl6
08:13 fgomez joined #perl6
08:17 * grondilu is looking forward unsigned native integers
08:24 woosley left #perl6
08:36 kresike joined #perl6
08:37 kresike hello all you happy perl developers
08:37 sergot kresike: o/
08:37 kresike s/perl/perl6/
08:47 kresike sergot, o/
08:50 dakkar joined #perl6
08:53 snearch joined #perl6
09:02 JimmyZ joined #perl6
09:05 JimmyZ moritz: ping
09:06 moritz JimmyZ: pong
09:06 JimmyZ moritz: I add a comment to https://github.com/rakudo/rakudo/commit/e42d84135e
09:06 moritz JimmyZ: yes, I've seen it, and you're right
09:06 moritz JimmyZ: I'm just a bit stressed right now, and with my mind elsewhere
09:06 JimmyZ :P
09:08 JimmyZ I didn't understand the code much, just see an unshift sub there and I think that's the same thing
09:18 lestrrat joined #perl6
09:19 dalek rakudo/nom: 306fcd8 | moritz++ | src/core/List.pm:
09:19 dalek rakudo/nom: port autovivification fix to &unshift, JimmyZ++
09:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/306fcd8de9
09:19 dalek rakudo/nom: 61e6739 | moritz++ | docs/ChangeLog:
09:19 dalek rakudo/nom: update ChangeLog
09:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/61e6739269
09:24 moritz nqp: say(pir::isnull(foo))
09:24 p6eval nqp: OUTPUT«1␤»
09:25 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:27 moritz arnsholt: did you elaborate on how it feels different?
09:27 moritz if yes, I'll backlog :-)
09:30 erkan joined #perl6
09:30 erkan joined #perl6
09:33 arnsholt moritz: Didn't really elaborate much, no
09:34 arnsholt 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:35 moritz which probably means the syntax isn't quite as terse as p6 grammars, but more familiar to the haskell hacker
09:36 dalek roast: 0b03c96 | jimmy++ | S02-types/autovivification.t:
09:36 dalek roast: &unshift autovivifies its first argument
09:36 dalek roast: review: https://github.com/perl6/roast/commit/0b03c96ed0
09:38 moritz oh right, I also had tests for that, but forgot to commit :-)
09:38 moritz karma jimmy
09:38 aloha jimmy has karma of 81.
09:40 arnsholt Actually, the syntax is really quite terse
09:41 arnsholt 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:42 b1rkh0ff joined #perl6
09:43 domidumont joined #perl6
09:43 arnsholt In P6 it'd be something like "token { (\d+) ';' . ** {$1.Int} ",\n" }"
09:44 arnsholt (I forgot to add "; return str" at the end of the Haskell code, I see now)
09:45 arnsholt The grammar fragment is a bit shorter, but the Haskell code includes the semantics that would be in the actions in Perl 6
09:48 moritz oh, good point
09:49 dalek roast: aaa71d0 | moritz++ | S05-metasyntax/proto-token-ltm.t:
09:49 dalek roast: add tests for proto tokens + LTM, including ** and %
09:49 dalek roast:
09:49 dalek roast: contributed by diakopter++
09:49 dalek roast: review: https://github.com/perl6/roast/commit/aaa71d0774
09:49 arnsholt And I managed to write a combinator for "match this parser exactly N times" in about five minutes
09:50 arnsholt 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 :-)
09:51 dalek rakudo/nom: 92a95c7 | moritz++ | t (2 files):
09:51 dalek rakudo/nom: bump NQP revision, and run proto token LTM tests by diakopter++
09:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/92a95c780c
09:51 moritz p6: say ~('a' ~~ /b/)
09:51 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…
09:51 p6eval ..rakudo e42d84, niecza v18: OUTPUT«␤»
10:03 cogno joined #perl6
10:14 cognominal_ joined #perl6
10:31 JimmyZ joined #perl6
10:41 daxim joined #perl6
10:49 cogno joined #perl6
11:03 icwiener joined #perl6
11:03 icwiener joined #perl6
11:04 fglock joined #perl6
11:04 lestrrat joined #perl6
11:13 cogno joined #perl6
11:21 cogno joined #perl6
11:24 infosophy joined #perl6
11:28 mikec_ joined #perl6
11:29 Facefox joined #perl6
11:32 telex joined #perl6
11:33 TimToady joined #perl6
11:34 mikec__ joined #perl6
11:35 renormalist joined #perl6
11:35 * [Coke] apologizes for saying "closable with tests" and not marking testneeded in some cases. whoops.
11:36 moritz no worries, happens
11:37 daxim tell masak   macros-progress-report-quantum-yak-shaving =~ s|ad05]|ad05)|
11:38 daxim 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 joined #perl6
11:40 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 #perl6
11:45 [Coke] daxim: probably want jnthn and not jnthn_
11:45 [Coke] unless phenny is smartish
11:46 moritz not that smart
11:48 crab2313 joined #perl6
11:49 [Coke] r: say 646-86
11:49 p6eval rakudo 92a95c: OUTPUT«560␤»
11:51 dalek roast: c72531a | moritz++ | S03-binding/scalars.t:
11:51 dalek roast: RT #87034, rebinding of scalars
11:51 dalek roast: review: https://github.com/perl6/roast/commit/c72531ae8f
11:54 lexande left #perl6
12:03 plonk joined #perl6
12:06 sergot joined #perl6
12:06 dalek rakudo/nom: e2d8762 | moritz++ | src/ (2 files):
12:06 dalek rakudo/nom: typed exception for infix in term position
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2d8762e11
12:07 dalek roast: ab9c613 | moritz++ | S32-exceptions/misc.t:
12:07 dalek roast: RT #83992, proper error message for infix in term position
12:07 dalek roast: review: https://github.com/perl6/roast/commit/ab9c613ee1
12:14 adu joined #perl6
12:17 JimmyZ joined #perl6
12:20 dalek roast: dec32f3 | moritz++ | S04-statements/return.t:
12:20 dalek roast: RT #81962, re-binding my &return
12:20 dalek roast: review: https://github.com/perl6/roast/commit/dec32f3ffb
12:31 moritz p6: say so 'u a' ~~ /<.ws>.'a'/
12:31 p6eval rakudo e2d876, niecza v18: OUTPUT«False␤»
12:31 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…
12:32 moritz p6: say so 'u ' ~~ /<.ws>.$/
12:32 p6eval rakudo e2d876, niecza v18: OUTPUT«False␤»
12:32 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…
12:33 moritz (that's boiled down from RT #103412)
12:33 moritz is that "works as designed"?
12:33 moritz I thought that the built-in ws matched zero-width at word boundaries?
12:35 moritz S05 says:  \s+ if it's between two \w characters, \s* otherwise
12:35 moritz and it's not between two \w characters
12:35 moritz so, bug in rakudo *and* niecza?
12:35 moritz or am I totally off base now?
12:36 cognominal joined #perl6
12:41 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.
12:43 pmichaud good morning, #perl6
12:44 moritz good am, pm
12:44 pmichaud the examples above (<.ws>) look correct to me
12:44 moritz why?
12:44 pmichaud oh, maybe not
12:44 pmichaud looking
12:45 [Coke] pmichaud: o/
12:45 pmichaud oh!  I think rakudo and niecza implement <.ws> as a token
12:45 pmichaud not a regex
12:46 pmichaud so.... no backtracking
12:46 moritz erm
12:46 pmichaud at least, I'm pretty sure that's what rakudo does... can't speak for niecza
12:46 moritz but the outer regex controls whether to try it again in a different position, no?
12:47 moritz 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…
12:47 p6eval ..rakudo e2d876, niecza v18: OUTPUT«True␤»
12:47 moritz p6: say so 'u ' ~~ /<.ws>.$/
12:47 p6eval rakudo e2d876, niecza v18: OUTPUT«False␤»
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…
12:48 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 #perl6
12:51 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:52 moritz 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
12:52 moritz right
12:52 moritz ok
12:52 pmichaud I'm checking the spec on <.ws>
12:52 moritz then I was indeed off-base :-)
12:52 moritz it makes sense as is
12:53 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>/)
12:54 p6eval rakudo e2d876: OUTPUT«(timeout)»
12:54 flussence n: say ("\x[100]".."\x[1000]").grep(/<xdigit>/)
12:54 p6eval niecza v18: OUTPUT«(timeout)»
12:55 huf joined #perl6
12:55 moritz n: say (0xFF .. 0xFFFF).map(&chr).grep(/<xdigit>/)
12:55 p6eval niecza v18: OUTPUT«٠ Ù¡ Ù¢ Ù£ Ù¤ Ù¥ Ù¦ Ù§ Ù¨ Ù© Û° Û± Û² Û³ Û´ Ûµ Û¶ Û· Û¸ Û¹ ߀ ß� ß‚ ߃ ß„ ß… ߆ ߇ ߈ ߉ ० १ २ ३ ४ ५ ६ ७ ८ ९ ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ੦ ੧ ੨ à©© ੪ à©« ੬ à©­ à©® ੯ ૦ ૧ ૨ à«© ૪ à«« ૬ à«­ à«® ૯ à­¦ à­§ à­¨ à­© à­ª à­« à­¬ à­­ à­® à­¯ ௦ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯ ౦ ౧ ౨ ౩ ౪ ౫ ౬ à±­ à±® ౯ ೦ ೧ ೨ ೩ ೪ ೫ ೬ à³­ à³® à³
12:56 [Coke] oooh, pretty
12:56 moritz I'm a bit surprised by the selection :-)
12:57 moritz .u ¯¯
12:57 phenny U+00AF MACRON (¯)
12:57 phenny U+00AF MACRON (¯)
12:57 sjn nicenice
12:58 * 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
12:58 moritz .u ³
12:58 phenny U+00B3 SUPERSCRIPT THREE (³)
12:58 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…
12:58 pmichaud ...I guess not :-)
12:58 flussence I don't think it likes 0xFFFF :)
12:58 moritz r: say (0xff .. 0xfffe).map(&chr).grep(/<xdigit>/);
12:58 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…
12:58 flussence r: say 0xffff.chr
12:58 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␤␤»
12:59 daxim for comparison:
12:59 daxim $ perl -C -E'print for grep { /\p{xdigit}/ } map { chr } 0xFF .. 0xFFFF'
12:59 moritz it would be nice if it told us *which* character is invalid
12:59 daxim 0123456789ABCDEFabcdef
12:59 pmichaud it might be the u+d300 chars that are in the way
12:59 pmichaud r: (0xff .. 0x7fff).map(&chr).eager
12:59 p6eval rakudo e2d876:  ( no output )
12:59 pmichaud r: (0x8000 .. 0xffff).map(&chr).eager
13:00 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
13:00 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 .. 0xcfff).map(&chr).eager
13:00 p6eval rakudo e2d876:  ( no output )
13:00 pmichaud r: (0x8000 .. 0xd2ff).map(&chr).eager
13:00 p6eval rakudo e2d876:  ( no output )
13:00 pmichaud r: (0x8000 .. 0xd300).map(&chr).eager
13:00 p6eval rakudo e2d876:  ( no output )
13:00 moritz Id argue that it should translate even invalid characters
13:00 pmichaud r: (0x8000 .. 0xdfff).map(&chr).eager
13:00 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: (0xd000 .. 0xd7ff).map(&chr).eager
13:00 p6eval rakudo e2d876:  ( no output )
13:00 pmichaud r: (0xd800 .. 0xdbff).map(&chr).eager
13:00 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 yeah, somewhere in that range.
13:01 moritz r : loop (my $x = 0xff; $x < 0xffff; $x++) { chr $x; CATCH { default { say $x } } }
13:01 moritz r: loop (my $x = 0xff; $x < 0xffff; $x++) { chr $x; CATCH { default { say $x } } }
13:01 p6eval rakudo e2d876: OUTPUT«55296␤55297␤55298␤55299␤55300␤55301␤55302␤55303␤55304␤55305␤55306␤55307␤55308␤55309␤55310␤55311␤55312␤55313␤55314␤55315␤55316␤55317␤55318␤55319␤55320␤55321␤55322␤55323␤55324␤55325␤55326␤55327␤55328␤55329␤55330␤55331␤55332␤55333␤55334␤55335␤55336␤55337␤55338␤55339␤5…
13:02 pmichaud r: say 55296.fmt('%x')
13:02 p6eval rakudo e2d876: OUTPUT«d800␤»
13:03 pmichaud http://en.wikipedia.org/wiki/UTF-16#Code_points_U.2BD800_to_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 #perl6
13:03 pmichaud The official Unicode standard says that all UTF forms, including UTF-16, cannot encode these code points.
13:03 pmichaud (from Wikipedia link above)
13:04 moritz flussence: well, we should just recognize them in numification without transliteration to ASCII
13:04 flussence oh
13:04 pmichaud I don't think that's what that character class means, fwiw.  Looking
13:06 pmichaud 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␤␤»
13:07 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␤␤»
13:07 pmichaud r: say (0xff..0xd7ff).grep( {chr($_) ~~ /<xdigit>/} )
13:07 p6eval rakudo e2d876: OUTPUT«(timeout)»
13:07 Psyche^ joined #perl6
13:08 pmichaud r: say (0xff..0x3fff).grep( {chr($_) ~~ /<xdigit>/} )
13:08 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')
13:08 p6eval rakudo e2d876: OUTPUT«660␤»
13:09 moritz r: say chr(1632)
13:09 p6eval rakudo e2d876: OUTPUT«٠␤»
13:09 pmichaud afk, kid rides to school
13:09 cognominal joined #perl6
13:10 thou joined #perl6
13:15 felher perl6: class A { method foo() { say "foo"; } }; A.foo;
13:15 p6eval pugs, rakudo e2d876, niecza v18: OUTPUT«foo␤»
13:16 domidumont joined #perl6
13:16 bruges_ joined #perl6
13:17 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 :/
13:19 moritz problem is that leaving out that feature is also questionable
13:19 felher :D
13:23 pmichaud back again
13:23 kresike felher, didn't you just call a class method there ?
13:23 pmichaud r: say (0xff..0x3fff).grep( { chr($_) ~~ /<+xdigit-digit>/ } )
13:23 p6eval rakudo e2d876: OUTPUT«␤»
13:24 pmichaud right.  <xdigit> is a superset of <digit>
13:25 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:26 felher 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
13:26 kresike I see
13:27 kresike 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 #perl6
13:27 moritz in particular, if you do type checks like   if $x ~~ Int { }, then that goes through Int.ACCEPTS
13:28 moritz but if you do   if $x ~~ 3 { }, that *also* goes through Int.ACCEPTS
13:28 moritz 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
13:29 kresike as master Yoda would say ...
13:30 kresike Much to learn I still have
13:30 kresike :)
13:30 moritz I thought '... I have still' :-)
13:30 pmichaud '...still I have'
13:30 kresike whatever :)
13:31 moritz :-)
13:31 moritz r: say <I have still>.pick(*)
13:31 p6eval rakudo e2d876: OUTPUT«I still have␤»
13:31 moritz rakudo agrees with kresike++
13:31 kresike LOL
13:33 kresike You guys seem to be taking on all the "easy" challenges of writing a compiler :)
13:36 PerlJam yeah, TimToady does the hard part of synthesizing a language
13:37 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?
13:37 moritz kresike: the compiler is just supposed to have different defaults that make it harder for you to accidentally break stuff
13:38 moritz so it would not break if you write   method ACCEPTS($other) { ... }
13:38 moritz currently you need to write something along the lines of   multi method ACCEPTS(MyType:D: $other) { ... }
13:39 moritz (oh, but you still need to write 'multi' in both cases)
13:42 pmichaud I wonder how hard it'd be to get Rakudo to follow the spec change
13:43 moritz well
13:43 moritz the spec change has some open questions still
13:43 moritz it wants   method new() { }  to still dwim
13:44 moritz or at least   multi method new() { }
13:44 moritz and proposes to set the default in the proto somehow
13:44 moritz but last I discussed this with jnthn++, that approach had some problems too
13:45 pmichaud oh yes, that makes it much more difficult
13:48 pmichaud afk, airport
13:49 moritz role A { proto foo(set default to :A somehow) }; class B does A { multi method foo() { } } # what does B.foo accept?
13:49 moritz the signature of B.foo is built immediately, but A composes only at the final }
14:19 isBEKaml joined #perl6
14:37 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 "␤»
14:37 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "(\""␤    expecting word character, "|", ":", "*" or parameter name␤    at /tmp/4dOZW1qBsr line 1, column 14␤»
14:37 p6eval ..niecza v18: OUTPUT«[31m===[0mSORRY![31m===[0m��In parameter declaration, typename 'fail' must be predeclared (or marked as declarative with :: prefix) at /tmp/xjy2ntLjav line 1:�------> [32msub foo( fail[33m�[31m("fail in sub foo"); foo().should.print.[0m��Parse failed��»…
14:38 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«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤ 'fail' used at line 1â�¤â�¤Unhandled 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…
14:38 p6eval ..pugs: OUTPUT«*** No such method in class Failure: "&should"␤    at /tmp/0vxE8fFrWe line 1, column 39-96␤»
14:38 p6eval ..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␤␤»…
14:38 felher Hm, NYI, it seems :)
14:38 moritz huh?
14:38 moritz I thought Rakudo was correct
14:39 moritz calling a method on the Failure throws the exception embedded in it
14:40 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:41 moritz felher: oh indeed, that part is NYI
14:42 moritz "After the failure is returned, any subsequent attempt to use the
14:42 moritz failure in an C<Any> context will be subject to further failure
14:42 moritz analysis, and will likely throw an exception immediately."
14:43 moritz erm, unless it's calling methods on it :/
14:45 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:46 felher ... 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 #perl6
14:46 felher Hm, yeah :/
14:46 xenu hi!
14:46 felher o/
14:47 xenu should test 22-unicode.t from Perlito pass?
14:47 moritz \o xenu
14:47 * moritz hopes that fglock knows, but he's not in here
14:53 * felher now wonders when a Failure turns into a thrown Exception too.
14:54 TimToady sink context or multi-dispatch failure
14:54 moritz what about .Str and .Stringy?
14:55 TimToady if they're defined in Failure, they single dispatch
14:56 moritz are they?
14:57 TimToady I don't know that sort of thing before I have coffee, or whether I'll know it after either... :)
14:58 felher :D
14:58 fgomez joined #perl6
14:59 moritz if I have two Failure objects, $f1 and $f2, what does  $f1 + $f2  give me?
14:59 TimToady that would presumably throw
14:59 TimToady this is only for single dispatch failure
15:00 TimToady 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:01 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 moritz my $file = open($filename); my @lines = $file.list.eager; $file.close; # fails while trying to assign a Failure to @lines ?
15:02 fgomez joined #perl6
15:03 moritz s/fails/throws/
15:04 moritz (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..
15:05 moritz $thing//.foo//.bar
15:06 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:08 moritz hm
15:08 moritz I wonder if we use the wrong approach here
15:08 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
15:08 TimToady s/that/@lines/
15:09 TimToady since // is strange to use in list context
15:10 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
15:10 moritz and then we can force immediate handling of those Failures
15:10 TimToady the // message should only be added for failures, not on any propagating exception
15:11 moritz (like, allow type checking for Failure and a single method that returns the payload, and everything else throw immediately
15:12 moritz at some point the programmer has to handle the error conditions anyway; why not right after the parallellization step?
15:13 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
15:14 TimToady there's little cost when it's in the failover
15:14 TimToady successful dispatch never sees it
15:14 moritz I'm not just talking about computational cost
15:14 moritz but rather mental load
15:15 moritz 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
15:16 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 moritz and the programmer has to understand that
15:17 moritz plus the backtrace, to understand how the point of failure was reached
15:17 moritz and masak++ already complains that a single backtrace is too much
15:18 TimToady but if we need it for parallel ops anyway...
15:18 TimToady this is just running it through a dependent monad rather than an independent one
15:19 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
15:21 * moritz decommutes
15:22 majrmovies joined #perl6
15:22 felher TimToady: what exactly is the C++ "const problem"? :)
15:23 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 :)
15:23 TimToady this is why p6 defaults to readonly parameters
15:26 cognominal In C++,  I never know if it is the pointer that is a const, or the pointed thing
15:28 TimToady maybe we should have a /// ... that rewrites the a.b.c.d to (((a // ...).b // ...).c // ...).d // ...
15:29 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
15:30 TimToady afk &
15:30 isBEKaml cognominal: *the difference between (typing snafu)
15:36 jnthn ohhai o/
15:36 [Coke] jnthn!
15:36 jnthn This week's teaching is done. \o/
15:38 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:42 skids maybe Failure should just auto-nop unknown methods without die.
15:50 sorear good * #perl6
15:51 sisar sorear: p/
15:51 sisar *o/
15:52 sisar \*/
16:02 brrt left #perl6
16:17 ChristianS joined #perl6
16:25 fgomez joined #perl6
16:27 sisar joined #perl6
16:41 tyatpi joined #perl6
16:46 sivoais joined #perl6
16:46 dalek mu: ae3e8e8 | moritz++ | misc/dalek-push.txt:
16:46 dalek mu: [dalek] Post-Receive URLs have been renamed by github
16:46 dalek mu: review: https://github.com/perl6/mu/commit/ae3e8e8d76
16:48 dalek mu: 86b4827 | moritz++ | misc/dalek-conf.json:
16:48 dalek mu: [dalek] remove pull config for partcl repos which now have pushing enabled
16:48 dalek mu: review: https://github.com/perl6/mu/commit/86b4827b0e
16:49 [Coke] moritz++
16:55 kaare_ joined #perl6
16:56 TimToady well, after showering on it, failover semantics are wrongish anyway; what we want is a // that distributes over . somehow
16:59 colomon .//
16:59 PerlJam a macro?  ;)
16:59 TimToady or something tryish that only catches the direct failures and hands them to //, if those can be distinguished from deeper exceptions
16:59 TimToady .// is too noisy
17:00 sorear yay! failure discussion
17:00 TimToady if you mean to put it between every cascaded call
17:00 TimToady sorear: see earlier discussion too
17:01 TimToady starting at http://irclog.perlgeek.de/perl6/2012-05-29#i_5652961
17:02 colomon sisar: 1e-5 was just arbitrarily chosen.  it's easy enough to manually test with other values, if you need something different.
17:03 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?
17:04 colomon TimToady: woah, what?
17:04 TimToady dunno, it just feels like there's something more generally monadish in there
17:05 TimToady 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!
17:05 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...
17:06 TimToady colomon: yes, I saw that in the latest release annnouncment, and \o/ed
17:07 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)
17:08 * 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.
17:08 TimToady or $*EPSILON
17:09 colomon sisar: an optional named argument, maybe
17:09 sisar TimToady: interesting.
17:09 * colomon is trying Math::Vector in another window
17:09 sisar colomon: aye, maybe.
17:09 moritz I'd rather not have the basic test functions depend on contextuals or named arguments
17:09 Chillance joined #perl6
17:09 colomon what moritz++ said.
17:10 colomon Lexical symbol '&infix:<+>' is already bound to an outer symbol (see ??? line 0);
17:10 colomon the implicit outer binding at line 41 must be rewritten as &infix:<+>
17:10 colomon before you can unambiguously declare a new '&infix:<+>' in this scope
17:10 TimToady is_roughly   :)
17:10 colomon interesting error...
17:11 TimToady something used + before your definition, maybe
17:12 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' ?
17:12 sisar like ?
17:12 moritz $*EPSILON
17:12 sisar oh
17:12 colomon though there is a sub infix:<+> later in the class definition.
17:12 moritz I think we call them 'dynamic variables' now
17:13 TimToady colomon: missing multi?
17:14 fhelmberger joined #perl6
17:14 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
17:14 TimToady why?
17:15 TimToady or do you mean non-multis?
17:15 pmurias joined #perl6
17:15 pmurias hi
17:15 TimToady lo
17:16 sorear TimToady: optimizations
17:17 * 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?
17:17 sorear colomon: if you want to extend the behavior of CORE::infix:<+> on two arguments, you need to modify Buuiltins.cs
17:17 sorear colomon: ah, then you are probably seeing a bug as TimToady++ described
17:19 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 #perl6
17:21 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:22 TimToady maybe something's trying to install an additional unneeded proto
17:23 TimToady since the proto infix:<+> should suffice, supposedly
17:23 TimToady s/the/the setting's/
17:23 sorear TimToady: no, you were right the first time
17:23 TimToady I hate it when that doesn't happen.  :)
17:23 sorear TimToady: the first + binds to CORE's + dispatcher, then a new dispatcher is created and the symbol binder throws a hissy
17:25 sorear 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
17:25 colomon errr.... isn't figuring that out the whole point of multiple dispatch?
17:25 TimToady multis is run-time
17:26 * TimToady understands there are potential issues with constant folding
17:26 TimToady oops, must afk a bit &
17:26 sorear although maybe this behavior isn't a bug at all
17:31 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!
17:32 sorear nah, it is a bug, but a slightly nontrivial one
17:33 * colomon is glad he doesn't need to figure out how to define new infix:<+>s without referring to older infix:<+>s.
17:36 diakopter RT #76462 is that reference syntax valid?
17:36 diakopter https://rt.perl.org/rt3/Public/Bug/Display.html?id=76462
17:36 diakopter rakudo: my %h=('a'=>1,'b'=>2); my $h_ref=\%h; say $h_ref.{'a'}
17:36 p6eval rakudo e2d876: OUTPUT«Any()␤»
17:37 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())␤»
17:37 jnthn Ah, it's somehow gone and stuck it in the capture as if it was a positional arg.
17:38 jnthn 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 diakopter well, the behavior has changed on it since it was last commented on
17:40 sorear jnthn: errm, rakudo's behavior does not look like 'positional arg'
17:40 sorear n: my %h=('a'=>1,'b'=>2); my $h_ref=\%h; say $h_ref.perl
17:40 p6eval niecza v18: OUTPUT«\({"a" => 1, "b" => 2}.hash)␤»
17:40 diakopter someone: RT #76492 is fixed; needs tests
17:40 jnthn sorear: ah, hmm, it's list contexted it too
17:41 jnthn sorear: I'm guessing it should populate the hash portion of the capture.
17:41 jnthn oh, maybe not though.
17:41 * jnthn should read the spec and stopp guessing :)
17:42 arnsholt Too much Swedish for jnthn? =)
17:43 diakopter someone: RT #76510 the original complaint is fixed, but the two follow-ons are not; partial testneeded
17:43 brrt joined #perl6
17:44 sisar joined #perl6
17:44 Kresike joined #perl6
17:44 Kresike hi all
17:45 sorear hello, Kresike.
17:46 diakopter r: say 3
17:46 p6eval rakudo e2d876: OUTPUT«3␤»
17:46 renormalist joined #perl6
17:47 diakopter someone: RT #76610 is fixed; needs tests
17:47 Kresike hello sorear
17:48 diakopter someone: RT #76648 is fixed; needs tests
17:50 [Coke] diakopter: what email address do you want me to give you rt privs at?
17:51 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:53 diakopter nm, diakopter@gmail should work now
17:53 diakopter I guess something about my account or bitcard is now fixed.
17:54 moritz rakudo: my $a = 3; my $b := $a; my $c = 3; say $a =:= $b; say $a =:= $c
17:54 p6eval rakudo e2d876: OUTPUT«True␤False␤»
17:55 [Coke] yay, perl6 irc logs contain the link to the metacommiter url. ;)
17:55 * [Coke] *thinks* he's granted diakopter bugadminrights.
17:56 [Coke] anyone else that's been bugging us?
17:58 [Coke] hurm. some of these people are no longer with perl6. should we do some cleanup?
17:58 moritz which people?
17:59 sorear it's not at all a bad idea to remove privileges from accounts that are no longer used
17:59 [Coke] https://gist.github.com/2829767
17:59 sorear do you remember last year when 'audreyt' was compromised and used to disrupt #perl6?
18:00 sorear [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.
18:00 sorear like 52 moritz (Moritz Lenz) :P
18:00 diakopter sorear: I'm sure [Coke] meant that list to mean all the people who are currently able to access
18:01 sorear oh, 13 too
18:01 [Coke] diakopter++ # I thought obviously since my name is on it.
18:01 moritz [Coke]: I'll mark who I think should stay active
18:02 [Coke] danke.
18:03 [Coke] 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
18:03 diakopter phenny: tell TimToady another std buglet: https://gist.github.com/2823010
18:03 phenny diakopter: I'll pass that on when TimToady is around.
18:03 [Coke] IME, that just opens the door to ask people to say "turn my account back on" even if they never use it.
18:04 moritz [Coke]: https://gist.github.com/2829783
18:05 diakopter [Coke]: how do I add a testneeded tag
18:06 moritz diakopter: click on "Basics"
18:06 diakopter then what
18:06 moritz diakopter: and then in the bottom right there is a list of available tags
18:06 diakopter not for me
18:07 moritz diakopter: do you have any text boxes where you can edit stuff?
18:07 [Coke] moritz: that all seems reasonable.
18:07 diakopter yeah; subject, status, queue, owner, time estimated, time worked, time left, priority, final priority
18:07 [Coke] diakopter: did you click on the link to bring you out of readonly mode?
18:08 moritz diakopter: you should be on an URL like https://rt.perl.org/rt3/Ticket/Modify.html?id=113408
18:08 diakopter yes
18:08 [Coke] moritz: leaving ask in since he's an admin anyway.
18:08 moritz [Coke]: ok
18:08 [Coke] diakopter: and what does "Logged in as..." say on the top?
18:09 diakopter oh weird. it switched me to a different account.
18:09 diakopter see, this is the problem I was having with #&%^@& bitcard before
18:09 diakopter I log in as one account, then later it switches me to another account or logs me out
18:10 [Coke] there several people with multiple accounts.'
18:10 [Coke] I'll just enable your other 2, ok?
18:10 diakopter hah, ok
18:10 [Coke] or the one. privmsg me it.
18:11 spider-mario joined #perl6
18:11 diakopter nm I got my other account to work.  actually it was my fault.
18:11 diakopter bitcard does seem a lot stabler
18:12 diakopter than a couple years ago
18:12 diakopter at least you can reset your automatic login now
18:12 sorear o/ spider-mario
18:12 spider-mario \o sorear
18:12 DreamingInCode joined #perl6
18:12 erkan joined #perl6
18:16 diakopter yay: those fields appear under Basics now [Coke]++ moritz++
18:16 sorear o/ DreamingInCode
18:17 dalek rakudo/nom: 9ef8010 | jnthn++ | src/Perl6/ (3 files):
18:17 dalek rakudo/nom: pir:: -> nqp:: for a bunch more stuff in the compiler.
18:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ef80103f0
18:18 dalek niecza: c86e3f0 | sorear++ | FETCH_URL:
18:18 dalek niecza: Move bootstrap pointer to github now that that is working again
18:18 dalek niecza: review: https://github.com/sorear/niecza/commit/c86e3f0b1c
18:18 DreamingInCode \o/ sorear
18:20 [Coke] parrotbugadminpowers cleansed.
18:21 [Coke] you may have noticed a minor interruption, as I deleted "parrot group" and added back some people individually that were impacted.
18:21 [Coke] (e.g. moritz)
18:23 adu joined #perl6
18:32 dalek nqp: 14b6fca | jnthn++ | src/PAST/NQP.pir:
18:32 dalek nqp: Add nqp::can.
18:32 dalek nqp: review: https://github.com/perl6/nqp/commit/14b6fca7a1
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
18:32 p6eval rakudo e2d876: OUTPUT«a␤a b c d e f g␤a b c d e f g␤»
18:34 diakopter n: say ((1,2) X <a b>).perl
18:34 p6eval niecza v18: OUTPUT«(1, "a", 1, "b", 2, "a", 2, "b").list␤»
18:34 diakopter r: say ((1,2) X <a b>).perl
18:34 p6eval rakudo e2d876: OUTPUT«((ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),)).list␤»
18:34 diakopter n: say [(1,2) X <a b>].perl
18:34 p6eval niecza v18: OUTPUT«[1, "a", 1, "b", 2, "a", 2, "b"]␤»
18:34 diakopter r: say [(1,2) X <a b>].perl
18:34 p6eval rakudo e2d876: OUTPUT«[1, "a", 1, "b", 2, "a", 2, "b"]␤»
18:36 spider-mario r: sub infix:<€>($a, $b) {[$a, $b]} say ((1, 2) X€ <a b>).perl
18:36 p6eval rakudo e2d876: OUTPUT«===SORRY!===␤Confused␤at /tmp/Ag83oSRsMC:1␤»
18:36 spider-mario r: sub infix:<€>($a, $b) {[$a, $b]}; say ((1, 2) X€ <a b>).perl
18:36 p6eval rakudo e2d876: OUTPUT«([1, "a"], [1, "b"], [2, "a"], [2, "b"]).list␤»
18:37 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")␤»
18:37 p6eval ..pugs: OUTPUT«\"a1"␤\("a1",)␤»
18:37 p6eval ..niecza v18: OUTPUT«$("a1", "a2", "a3")␤["a1", "a2", "a3"].list␤»
18:37 diakopter jnthn/sorear: ^^ which is right
18:38 diakopter RT #74636 wants both .perl to output the same
18:38 TimToady phenny phood
18:38 phenny TimToady: 18:03Z <diakopter> tell TimToady another std buglet: https://gist.github.com/2823010
18:39 TimToady std: https://gist.github.com/2823010
18:39 p6eval std f179a1b: OUTPUT«ok 00:00 46m␤»
18:39 TimToady diakopter: um...
18:39 diakopter oh oops I changed that gist since then
18:39 diakopter sec
18:40 jnthn diakopter: I think Rakudo and Niecza's outputs are saying the same thing really.
18:40 jnthn diakopter: Or close enough.
18:40 diakopter std: https://gist.github.com/2829948
18:40 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.�[31m===[0mSORRY![31m===[0m�Preceding context expects a term, but found infix = instead at /tmp/5i7jNVz5gD…
18:41 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.
18:41 jnthn diakopter: That is, it's item-y when it's in a hash value.
18:42 TimToady diakopter: well, the error part is correct
18:42 TimToady the uninits I presume are what you mean
18:43 diakopter yeah; minor nits
18:46 diakopter uni-nits even
18:47 ChristianS left #perl6
18:48 dalek rakudo/nom: 223419d | jnthn++ | / (15 files):
18:48 dalek rakudo/nom: pir::can => nqp::can
18:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/223419d1a7
18:49 jdv79 joined #perl6
18:49 jdv79 https://github.com/search?q=rakduo&amp;type=Everything&amp;repo=&amp;langOverride=&amp;start_value=1
18:49 jdv79 are those spelling errors?  i typo'd on my search for rakudo.
18:49 diakopter yes :)
18:49 jdv79 just wondering if rakduo was something real i didn't know about
18:50 diakopter I think we'll all typo'd that way
18:50 diakopter *we've
18:50 jdv79 yay for consistency
18:51 jnthn Seems the one in the Rakudo repo is a typo in a commit long ago, and it's since been fixed. :)
18:51 gesh joined #perl6
18:58 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␤»
18:58 diakopter TimToady: is @a read-only in the proper way there? ^^
19:06 birdwindupbird joined #perl6
19:11 diakopter r: sub f { gather for 1 { return; }}; f(); say "alive"
19:11 p6eval rakudo e2d876: OUTPUT«alive␤»
19:11 diakopter r: sub f { gather for 1 { return; }}; my @a = f(); say "alive"
19:11 p6eval rakudo e2d876: OUTPUT«(signal SEGV)»
19:11 diakopter jnthn: ^^ :)
19:12 moritz diakopter: read-onlyness of of arrays and hashes is still an open question
19:12 moritz (SEGV) known, I've submitted it not long ago
19:13 diakopter oh; it's a duplicate of May 2010 #75174 then
19:13 diakopter nm
19:13 diakopter you commented on that one :)
19:13 * diakopter should read the whole thing first
19:14 raiph joined #perl6
19:14 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.�[31m===[0mSORRY![31m===[0m�Missing semicolon at /tmp/2yh3PPJvek line 1:�------> [32msay 1 if 2[33m�[31…
19:14 diakopter oh! it's different now.
19:14 diakopter nm
19:16 diakopter moritz: how do I merge a duplicate
19:16 moritz diakopter: in the "Links" tab
19:16 moritz "merge into"
19:17 diakopter 75320 and 76878 do you agree?
19:17 diakopter if so, which should be merged into which
19:21 diakopter jnthn: do you remember this? :) [16:36] <jnthn> mathw: I'm trying to work out why it might not be so
19:21 diakopter simple as "check if we advanced by any characters"
19:21 diakopter (that's what I did in the javascript peg for MGrammar - check if it advanced; seemed to work great)
19:26 diakopter p6: my ::&a &a # is rakudo's error good enough here?  I suspect so.
19:26 p6eval niecza v18-1-gc86e3f0: OUTPUT«[31m===[0mSORRY![31m===[0m��Class required, but symbol table name used instead at /tmp/PfjdZ6XUZN line 1:�------> [32mmy ::[33m�[31m&a &a # is rakudo's error good enough he[0m��A type must be provided at /tmp/PfjdZ6XUZN line 1:�------> [32mmy ::[3…
19:26 p6eval ..rakudo 223419: OUTPUT«===SORRY!===␤Cannot use :: as a type name at line 2, near "&a &a # is"␤»
19:26 p6eval ..pugs:  ( no output )
19:26 jnthn diakopter: No, don't know what I was talking about without more context :)
19:26 diakopter <.ws>+
19:26 diakopter infinitely looping
19:27 diakopter I've been trying to figure out how to detect possibly zero-width things in the NFA constructor
19:27 diakopter and not put them in loops
19:28 diakopter p6: "a".subst(/<ws>+ $$/, '');
19:28 brrt joined #perl6
19:28 p6eval rakudo 223419, niecza v18-1-gc86e3f0: OUTPUT«(timeout)»
19:28 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…
19:29 diakopter both rakudo and niecza timeout
19:32 diakopter 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.
19:33 diakopter oh.
19:40 dalek rakudo/nom: 3b15966 | jnthn++ | src/ops/perl6.ops:
19:40 dalek rakudo/nom: Fix SEGV that arose from a return in a gather.
19:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b15966a49
19:40 jnthn diakopter: ^^
19:40 diakopter rakudo: class A { has $c where 1; }
19:40 p6eval rakudo 223419: OUTPUT«===SORRY!===␤Contextual %*PARAM_INFO not found␤»
19:41 diakopter jnthn++ # I'll update the ticket
19:41 * jnthn guesses update means "tag testneeded"
19:41 diakopter yeah
19:43 sisar jnthn: did you get a chance to look at http://irclog.perlgeek.de/perl6/2012-05-23#i_5627900, the backtrace related to module installation failures?
19:43 brrt joined #perl6
19:43 sisar is it helpful enough ?
19:50 diakopter std: enum A <a>; enum B <a>;
19:50 p6eval std f179a1b: OUTPUT«[31m===[0mSORRY![31m===[0m�Illegal redeclaration of symbol 'a' (see line 1) at /tmp/ExZPJrmV7T line 1:�------> [32menum A <a>; enum B <a>[33m�[31m;[0m�Check failed�FAILED 00:00 40m�»
19:50 diakopter phenny: ask TimToady is this right?  std: enum A <a>; enum B <a>;
19:50 phenny diakopter: I'll pass that on when TimToady is around.
19:52 MattDMo joined #perl6
19:52 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:…
19:52 p6eval ..pugs: OUTPUT«Int␤»
19:52 p6eval ..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…
19:52 diakopter p6: $*x = 42;
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/Vhay3VPmpQ:…
19:52 p6eval ..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…
19:52 p6eval ..pugs:  ( no output )
19:52 diakopter p6: $*x
19:52 p6eval pugs, rakudo 223419, niecza v18-1-gc86e3f0:  ( no output )
19:59 jnthn sisar: I didn't get to that one just yet.
19:59 jnthn sisar: Looking at precomp issues is pretty high on my todo list.
20:02 sisar jnthn: no problem :)
20:02 sisar jnthn's-todo-list++
20:02 jnthn Yeah, that's my todo list. Always getting incremented. :P
20:02 diakopter rakudo: my Int (Str (Int (Str $x))); say $x # hee hee
20:02 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␤␤»
20:03 jnthn ...wtf. :)
20:03 sisar :)
20:03 diakopter that's #73102
20:04 xenu i smell lisp in the air
20:04 xenu ;)
20:04 diakopter rakudo: my Int (Str (Int $x)); say $x.WHAT
20:04 p6eval rakudo 223419: OUTPUT«Can only use get_what on a SixModelObject␤  in block <anon> at /tmp/SoV3T4Ob5N:1␤␤»
20:04 jnthn Same root cause.
20:05 diakopter I wonder what $x is if it's not a SixModelObject
20:05 jnthn A Null PMC, as the message above said. :)
20:07 diakopter oh
20:07 * jnthn tries the obvious patch
20:07 diakopter std: my Int (Str (Int (Str $x)))
20:07 p6eval std f179a1b: OUTPUT«ok 00:00 42m␤»
20:08 diakopter n: my Int (Str (Int $x)); say $x.WHAT
20:08 p6eval niecza v18-1-gc86e3f0: OUTPUT«Any()␤»
20:08 diakopter n: my Int (Str (Int $x)); say $x
20:08 p6eval niecza v18-1-gc86e3f0: OUTPUT«Any()␤»
20:08 diakopter I have no idea what the nested types are supposed to mean
20:08 jnthn We either :)
20:08 jnthn Hm
20:09 jnthn I wonder whether it should be an error though.
20:10 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:11 jnthn hm, obvious fix didn't help much
20:11 * jnthn leaves this one for now
20:11 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
20:12 diakopter I'm triaging old tickets to see if behavior changed and tickets need updated
20:12 diakopter so far moritz and I have marked probably 40-50 as testneeded
20:12 jnthn wow
20:12 sisar yeah, I saw that
20:12 jnthn diakopter++ moritz++
20:12 sisar diakopter++ moritz++
20:13 dalek rakudo/nom: 0248432 | moritz++ | src/core/control.pm:
20:13 dalek rakudo/nom: typed exception for returning from exhausted routine
20:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0248432017
20:14 [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
20:14 p6eval rakudo 223419: OUTPUT«535␤»
20:14 p6eval 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␤␤»
20:14 diakopter I think the current behavior seems right.
20:15 benabik left #perl6
20:16 benabik joined #perl6
20:16 dalek roast: e708a8c | moritz++ | S (2 files):
20:16 dalek roast: test X::ControlFlow::Return
20:16 dalek roast: review: https://github.com/perl6/roast/commit/e708a8cb44
20:16 [Coke] nom: say NaN.perl
20:16 p6eval rakudo 223419: OUTPUT«NaN␤»
20:16 [Coke] diakopter: RT #103500
20:16 moritz 370 tests for typed exceptions.
20:17 [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␤␤»
20:17 [Coke] r: say Inf.Int
20:17 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␤␤»
20:18 diakopter p6: my Hash $x; $x[1] ; say $x.perl # is rakudo correct here now?
20:18 p6eval pugs: OUTPUT«\\()␤»
20:18 p6eval ..rakudo 3b1596, niecza v18-1-gc86e3f0: OUTPUT«Hash␤»
20:18 diakopter moritz++ typed exceptions
20:18 imarcusthis joined #perl6
20:19 moritz they make testing of that stuff much easier
20:19 moritz which was my main motivation
20:20 diakopter [Coke]: there are only 101 marked testneeded?
20:20 [Coke] diakopter: yes.
20:20 [Coke] 103
20:20 diakopter :)
20:20 [Coke] http://rakudo.org/rt/testneeded
20:27 diakopter rakudo: say "\xFDD0" # is this correct now?
20:27 p6eval rakudo 3b1596: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
20:27 diakopter "<lue> apparently it doesn't support the whole of unicode..."
20:28 jnthn .u FDD0
20:28 phenny U+FDD0 (No name found)
20:28 diakopter ok, marking notabug
20:28 snearch joined #perl6
20:29 jnthn I'm not sure what we should really do in this case.
20:29 * diakopter waits then
20:29 jnthn Technically, an NFG string *could* represent it.
20:39 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()␤»
20:39 diakopter "It's questionable whether an invocant can be specified both by the
20:39 diakopter > dot-call form and by passing a named parameter"
20:41 jnthn That ain't doing anything such
20:41 jnthn *%_ is collecting the :bar(42)
20:41 jnthn And $bar isn't a named so it's getting the invocant.
20:41 jnthn s/so it's/and it's/
20:43 diakopter I guess it's not a bug then
20:50 gfldex r: https://gist.github.com/2830624
20:50 p6eval rakudo 3b1596: OUTPUT«#00bb00␤#00aa00␤#00bb00␤#00aa00␤#00bb00␤#00aa00␤#00bb00␤#00aa00␤#00bb00␤#00aa00␤»
20:50 diakopter 15:48 <diakopter> r: (1..3).map({$_ => $_*$_}).perl.say
20:50 diakopter 15:48 <p6eval> rakudo 3b1596: OUTPUT«use of uninitialized variable $_ of type Any in
20:50 diakopter numeric context  in block <anon> at /tmp/h5JE2CAnLz:1␤␤use of uninitialized
20:50 diakopter variable $_ of type Any in numeric context  in block <anon> at
20:50 diakopter /tmp/h5JE2CAnLz:1␤␤use of uninitialized variable $!key of type Any in string
20:50 diakopter c…
20:50 gfldex on cygwin i get "ICU not loaded" for that gist
20:50 diakopter 15:49 <diakopter> r: (1..3).map({{$_ => $_*$_}}).perl.say
20:50 diakopter ugh
20:50 diakopter r: (1..3).map({$_ => $_*$_}).perl.say
20:50 p6eval rakudo 3b1596: OUTPUT«use of uninitialized variable $_ of type Any in numeric context  in block <anon> at /tmp/2hcyev09Jp:1␤␤use of uninitialized variable $_ of type Any in numeric context  in block <anon> at /tmp/2hcyev09Jp:1␤␤use of uninitialized variable $!key of type Any in string c…
20:51 diakopter r: (1..3).map({{$_ => $_*$_}}).perl.say
20:51 p6eval rakudo 3b1596: OUTPUT«({"1" => 1}, {"2" => 4}, {"3" => 9}).list␤»
20:51 diakopter gfldex: did you build parrot with icu on cygwin?
20:51 diakopter (sounds like not)
20:51 gfldex i think so, any quick way to check that?
20:52 diakopter parrot_config --dump|grep licudata
20:55 gfldex no parrot_config to be found
20:56 diakopter it's not in the same spot where the parrot binary was installed?
20:57 gfldex find can't find it
20:57 diakopter where is the parrot binary?
20:58 gfldex ~/rakudo/parrot/parrot
20:58 diakopter strange
20:58 diakopter I thought parrot_config was always built
20:59 diakopter I guess you could look in the Makefile
20:59 libertyprime joined #perl6
20:59 diakopter for that same string
20:59 gfldex i have more then one cygparrot4.?.?.dll
20:59 gfldex could it pick the wrong one?
20:59 diakopter ohhh.. you didn't build parrot; you used a package?
20:59 gfldex i think i will kill the dlls and rebuild
20:59 gfldex no i used --gen-parrot
20:59 diakopter oh
21:00 benabik parrot_config is always built with parrot.
21:06 wolfman2000 joined #perl6
21:07 libertyprime joined #perl6
21:08 gfldex no parrot_config on cygwin
21:08 diakopter check for licudata in the Makefile
21:13 ScreenSaudi joined #perl6
21:13 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␤␤»
21:15 gfldex no icudata in the Makefile
21:16 gfldex i will try to update cygwin
21:16 diakopter gfldex: then ./Configure couldn't find libicu-dev
21:17 sorear good * #perl6
21:18 diakopter sorear: hi
21:18 aesundstrom joined #perl6
21:28 plobsing_ joined #perl6
21:31 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 "␤»
21:31 diakopter moritz: what does that mean
21:33 diakopter it's RT #71196
21:33 jnthn It means that you put "is export" in the wrong place, I think :)
21:34 jnthn r: enum X is export <A B C>;
21:34 p6eval rakudo 024843:  ( no output )
21:34 jnthn Should be that.
21:34 diakopter oh
21:35 Kresike so was that a bug in diakopter ? :)
21:36 diakopter it was a bug in RT #71196
21:36 jnthn I heard you like bugs, so I put a bug in your bug.
21:39 Kresike night all ...
21:41 _jaldhar joined #perl6
21:41 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 p6eval ..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␤␤»
21:42 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…
21:42 diakopter that's odd. a Cursor without $!pos ?
21:42 crab2313 Hello #perl6
21:42 diakopter jnthn: ^^ ?
21:42 diakopter crab2313: howdy
21:42 diakopter oops
21:43 libertyprime joined #perl6
21:43 rsimoes joined #perl6
21:43 jnthn diakopter: The error is a tad misleading.
21:43 crab2313 joined #perl6
21:44 jnthn (I know the ticket you're thinking of.)
21:45 kurahaupo joined #perl6
21:46 libertyprime joined #perl6
21:48 pupoque joined #perl6
21:48 libertyprime joined #perl6
21:50 crab2313 Hello #perl6
21:51 diakopter howdy
21:51 icwiener joined #perl6
21:52 crab2313 diakopter: hello
21:53 diakopter crab2313: are you interested in Perl 6?
21:53 crab2313 diakopter: Yes.
21:54 diakopter crab2313: are you a Perl 5 user?
21:54 pupoque joined #perl6
21:55 libertyprime joined #perl6
21:56 crab2313 diakopter: Yes, I'm a Perl 5 user.And I really like Perl.
21:58 b1rkh0ff joined #perl6
21:59 jnthn 'night, #perl6
22:02 crab2313 I tried, perl6 --target=pir a.p6 > b.pir , but b.pir didn't work.
22:03 sorear You can just use perl6 a.p6
22:03 sorear --target=pir is not intended for general usage
22:03 sorear it only really works as part of the bootstrap
22:04 diakopter rakudo: for 1, 2, 3 { NEXT { say "!" }; .say } # why is NEXT executed 3 times
22:04 p6eval rakudo 024843: OUTPUT«1␤!␤2␤!␤3␤!␤»
22:04 crab2313 sorear: Thanks.
22:11 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.
22:16 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…
22:16 diakopter rakudo: my $foo = "foo"; say $foo R~= "foo"
22:16 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␤␤»
22:16 diakopter oops; pasted wrong one; sorry
22:16 diakopter rakudo: my ($x, $y) = <a b>; $x R~= $y; say "$x $y"
22:16 p6eval rakudo 024843: OUTPUT«a ba␤»
22:16 diakopter n: my ($x, $y) = <a b>; $x R~= $y; say "$x $y"
22:16 p6eval niecza v18-1-gc86e3f0: OUTPUT«a ba␤»
22:16 diakopter sorear: are those right?  if so, I'll close rakudo's #64818
22:32 diakopter 17:31 <diakopter> rakudo: say 1.not;
22:32 diakopter 17:31 <p6eval> rakudo 024843: OUTPUT«False␤»
22:32 diakopter ugh
22:32 diakopter r: say False.not
22:32 p6eval rakudo 024843: OUTPUT«True␤»
22:33 skids joined #perl6
22:37 sorear diakopter: I do beleive so
22:38 libertyprime joined #perl6
22:43 tokuhiro_ joined #perl6
22:43 Chillance joined #perl6
23:01 whiteknight joined #perl6
23:02 diakopter um. RT broke just as I was using it. I hope I didn't break it.
23:03 diakopter Internal Server Error
23:06 stephenlb joined #perl6
23:07 diakopter (working now)
23:10 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…
23:10 colomon n: my %h; %h<a>.push, 4, 2;
23:10 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…
23:14 TimToady phenny phood
23:14 phenny TimToady: 19:50Z <diakopter> ask TimToady is this right?  std: enum A <a>; enum B <a>;
23:14 phenny TimToady: 22:11Z <diakopter> ask TimToady stdbug/todo: RT #64022  std: my ::MyType ::= :(Num, Str)
23:14 TimToady diakopter: the two a enums are supposed to cancel and force you to use A::a or B::a
23:15 diakopter ok\
23:16 TimToady on the second you can't declare an 'en passant' type without an associated parameter
23:16 TimToady std: my ::MyType ::= :(Num, Str)
23:16 p6eval std f179a1b: OUTPUT«[31m===[0mSORRY![31m===[0m�Multiple prefix constraints not yet supported at /tmp/USQ6xfwKq1 line 1:�------> [32mmy ::MyType ::[33m�[31m= :(Num, Str)[0m�Illegal redeclaration of symbol 'MyType' (see line 1) at /tmp/USQ6xfwKq1 line 1:�------> [32mmy ::MyType[…
23:16 TimToady std: my ::MyType $ ::= :(Num, Str)
23:16 p6eval std f179a1b: OUTPUT«ok 00:00 43m␤»
23:17 diakopter S02 needs updated then
23:17 diakopter under Signature Objects
23:17 TimToady std: my (::MyType $) ::= :(Num, Str)
23:17 p6eval std f179a1b: OUTPUT«ok 00:00 44m␤»
23:17 diakopter Signature objects I mean
23:17 TimToady std: my (::MyType) ::= :(Num, Str)
23:17 p6eval std f179a1b: OUTPUT«ok 00:00 43m␤»
23:17 TimToady it's just too ambiguous without the ()
23:18 diakopter my ::MySig ::= :(Int, Num, Complex, Status)  # is in S02
23:19 diakopter want me to add the parens to the example?
23:19 TimToady no, that's not what it's trying to do
23:19 tokuhiro_ joined #perl6
23:20 TimToady that is a fossil from when :: was more of a sigl
23:20 TimToady *gil
23:20 TimToady subset MySig where :() is more like it
23:20 TimToady or, my \MySig ::= :()
23:21 TimToady std: my \MyType ::= :(Num, Str)
23:21 p6eval std f179a1b: OUTPUT«ok 00:00 43m␤»
23:22 TimToady you can change it to \ if you like
23:22 TimToady but subset would be clearer, I suspect
23:28 TimToady on the enum issue, S12:1932 applies, on the theory that 'enum A <a>' is importing 'a' from 'A'
23:29 TimToady one the second import of 'a', that symbol must be poisoned
23:29 TimToady such that any attempt to use bare 'a' as an enum value is disallwed
23:30 TimToady (STD doesn't do this yet)
23:30 diakopter oh
23:31 TimToady it's not supposed to blow up on trying to import the second 'a'; it's just supposed to force disambiguoation
23:31 TimToady *ua
23:31 diakopter I'll add those details to both RT tickets
23:32 TimToady btw, the poisioning trick is originally from Ada
23:32 tokuhiro_ joined #perl6
23:32 * colomon thinks that was a disturbing line to randomly read on the bottom of his screen
23:33 sorear o/ colomon
23:33 colomon \o
23:33 TimToady die...kill...one could write a poem...
23:34 diakopter at last
23:35 colomon I thought Sharon Hopkins already did?
23:35 colomon ;)
23:36 diakopter no, http://irclog.perlgeek.de/perl6/2010-05-11#i_2319752
23:37 tokuhiro_ joined #perl6
23:38 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 #perl6
23:41 * colomon apparently was wrong about Wikipedia not accepting the word of someone named TimToady on #perl6 about the authorship of that poem.
23:47 adu joined #perl6
23:50 lestrrat joined #perl6
23:54 dalek roast: 26a959e | (Solomon Foster)++ | S02-types/autovivification.t:
23:54 dalek roast: Fudge for Niecza.
23:54 dalek roast: review: https://github.com/perl6/roast/commit/26a959e7bb
23:59 thou joined #perl6

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

Perl 6 | Reference Documentation | Rakudo