Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-14

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:00 TimToady but it should really support coercive keys, since the default is essentially Str()
00:00 TimToady that is, coerce to Str
00:01 TimToady and uint8() should surely allow coercion from Int
00:01 TimToady but coercion types are still fairly recent
00:01 TimToady and largely faked at the moment
00:03 tony-o_ m: my %hash{Mu};
00:03 camelia rakudo-moar 8e8936: ( no output )
00:03 TimToady m: my %hash{Mu}; say %hash.WHAT
00:03 camelia rakudo-moar 8e8936: OUTPUT«(Hash[Any,Mu])␤»
00:04 tony-o_ m: class A { method r { "r".say; }; }; my %hash{Mu};  my $a = A.new; my $b = A.new; %hash{$a} = 50; %hash{$b} = 51; %hash.perl.say;
00:04 camelia rakudo-moar 8e8936: OUTPUT«Cannot call infix:<===>(Mu, Any); none of these signatures match:␤    (Any $?)␤    (Any $a, Any $b)␤    (Int:D \a, Int:D \b)␤    (int $a, int $b)␤    (Num:D \a, Num:D \b)␤    (Num $ where { ... }, Num $ where { ... })␤    (num $a, num $b --> …»
00:04 tony-o_ m: class A { method r { "r".say; }; }; my %hash{A};  my $a = A.new; my $b = A.new; %hash{$a} = 50; %hash{$b} = 51; %hash.perl.say;
00:04 camelia rakudo-moar 8e8936: OUTPUT«Hash[Any,A].new(A.new => 50, A.new => 51)␤»
00:04 tony-o_ m: class A { method r { "r".say; }; }; my %hash{A};  my $a = A.new; my $b = A.new; %hash{$a} = 50; %hash{$b} = 51; %hash{$a}.say; %hash{$b}.say;
00:04 camelia rakudo-moar 8e8936: OUTPUT«50␤51␤»
00:05 tony-o_ sweet
00:05 tony-o_ m: class A { method r { "r".say; }; }; my %hash{A};  my $a = A.new; my $b = A.new; %hash{$a} = 50; %hash{$b} = 51; .WHAT.say for %hash.keys;
00:05 camelia rakudo-moar 8e8936: OUTPUT«(A)␤(A)␤»
00:06 tony-o_ m: class æ { method r { "r".say; }; }; my %hash{æ};  my $a = æ.new; my $b = æ.new; %hash{$a} = 50; %hash{$b} = 51; .WHAT.say for %hash.keys;
00:06 camelia rakudo-moar 8e8936: OUTPUT«(æ)␤(æ)␤»
00:06 TimToady yes, === is not well defined on Mu, otherwise you could use === with junctions
00:06 TimToady *couldn't
00:06 jdv79 S11 says import "is primarily useful for modules declared inline, which do not automatically get imported into their surrounding scope"
00:06 jdv79 what would be an example of such a thing?
00:08 TimToady m: class A { sub ptui () is export { say "I spit." } }; ptui
00:08 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vudgZ0y5rC␤Undeclared routine:␤    ptui used at line 1␤␤»
00:08 TimToady m: class A { sub ptui () is export { say "I spit." } }; import A; ptui
00:08 camelia rakudo-moar 8e8936: OUTPUT«I spit.␤»
00:08 TimToady import is implied by 'use'
00:09 TimToady m: need Test; is 1,2,3;
00:09 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YYEMGcyC09␤Undeclared routine:␤    is used at line 1␤␤»
00:09 TimToady m: need Test; import Test; is 1,2,3;
00:09 camelia rakudo-moar 8e8936: OUTPUT«not ok 1 - 3␤␤# Failed test '3'␤# at /tmp/HTXbU8wc0H line 1␤# expected: '2'␤#      got: '1'␤»
00:09 TimToady 'use' just basically 'need' + 'import'
00:09 jdv79 hmm, i think i just read that part wrong.  i read it as implying there is a case where a module could be declared inline and be automatically imported.
00:10 rjbs Hm.  I need to do complex validation of new objects.  For example, $.x + $.y must be odd.  I thought I could do this in BUILD, as one does in Moose.  Not so: can't call the readers on a partially constructed object.
00:10 rjbs What's a human to do?
00:10 tony-o_ m: my $r = (module { sub a is export { "a".say; }; }); need $r;
00:10 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TOuNq2xeAL␤Undeclared routine:␤    need used at line 1␤␤»
00:10 tony-o_ m: my $r = (module { sub a is export { "a".say; }; }); import $r
00:10 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VSVFvLXMVO␤Undeclared routine:␤    import used at line 1␤␤»
00:10 tony-o_ rjbs: you can
00:11 TimToady you can cheat with self.x + self.y
00:11 rjbs Okay.
00:11 rjbs Thanks, that helped.
00:11 TimToady or you can write your own BUILDALL that calls the builtin and then tests
00:11 TimToady which is cleaner if you want to allow derivation
00:11 TimToady or you can write your own constructor that tests after the .bless
00:12 tony-o_ m: class A { has $.x; has $.y; submethod BUILD (Int :$!x, Int :$!y) { die 'dead' if ($!x + $!y) % 2 != 0; }; }; A.new(x => 1, y => 1); A.new(x => 2, y => 1);
00:12 camelia rakudo-moar 8e8936: OUTPUT«dead␤  in submethod BUILD at /tmp/tDicHu31ii:1␤  in block <unit> at /tmp/tDicHu31ii:1␤␤»
00:12 tony-o_ m: class A { has $.x; has $.y; submethod BUILD (Int :$!x, Int :$!y) { die 'dead' if ($!x + $!y) % 2 != 0; }; }; A.new(x => 1, y => 2); A.new(x => 2, y => 2);
00:12 camelia rakudo-moar 8e8936: OUTPUT«dead␤  in submethod BUILD at /tmp/cQTgujUxGu:1␤  in block <unit> at /tmp/cQTgujUxGu:1␤␤»
00:13 rjbs waah, args to BUILD?
00:13 TimToady there's a couple of things going on there
00:14 TimToady :$!x is short for :x($!x)
00:14 telex joined #perl6
00:14 TimToady and if you mention an attribute, it just writes it for you directly without you have to do the assignment
00:15 tony-o_ m: class A { has $.x; has $.y; has $.z; submethod BUILD (Int :$!x, Int :$!y) { 'odd'.say if ($!x + $!y) % 2 != 0; }; }; A.new(x => 1, y => 2, z => 8).z.say;
00:15 camelia rakudo-moar 8e8936: OUTPUT«odd␤(Any)␤»
00:15 tony-o_ gotta mention them all the 'has' in the signature though
00:16 rjbs I'm gonna stick with self. for now.
00:17 TimToady m: class A { has $.x; has $.y; method new(|c) { POST { ($!x + $!y) % 2 }; self.bless(|c); } }; A.new(:x(1), :y(1))
00:17 camelia rakudo-moar 8e8936: OUTPUT«Cannot look up attributes in a type object␤  in method new at /tmp/gGClIvlarD:1␤  in block <unit> at /tmp/gGClIvlarD:1␤␤»
00:18 TimToady m: class A { has $.x; has $.y; method BUILDALL(|c) { POST { ($!x + $!y) % 2 }; callsame; } }; A.new(:x(1), :y(1))
00:18 camelia rakudo-moar 8e8936: OUTPUT«Postcondition '{ ($!x + $!y) % 2 }' failed␤  in method BUILDALL at /tmp/OikmUkioA8:1␤  in block <unit> at /tmp/OikmUkioA8:1␤␤»
00:18 TimToady there's another way
00:18 atta joined #perl6
00:18 TimToady more of the DBC way
00:19 TimToady m: class A { has $.x; has $.y; method BUILDALL(|c) { POST { ($!x + $!y) % 2 }; callsame; } }; A.new(:x(1), :y(2))
00:19 camelia rakudo-moar 8e8936: ( no output )
00:19 dalek DBIish: d071875 | hoelzro++ | lib/DBDish.pm6:
00:19 dalek DBIish: Fix up destructuring signature for for loop + Z
00:19 dalek DBIish: review: https://github.com/perl6/DBIish/commit/d071875b3c
00:20 TimToady m: class A { has $.x; has $.y; POST { ($!x + $!y) % 2 } }; A.new(:x(1), :y(1))
00:20 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d10opABprk␤Variable $!x used where no 'self' is available␤at /tmp/d10opABprk:1␤------> 3class A { has $.x; has $.y; POST { ($!x7⏏5 + $!y) % 2 } }; A.new(:x(1), :y(1))␤»
00:20 TimToady I don't think we've implemented class-level constraints yet
00:21 tony-o_ m: class A { has $.x; has $.y;
00:21 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TwJJYbW5MS␤Missing block␤at /tmp/TwJJYbW5MS:1␤------> 3class A { has $.x; has $.y;7⏏5<EOL>␤»
00:21 TimToady presumably it'd have to attach the same POST constraint to every method in the class
00:22 TimToady m: class A { has $.x; has $.y; method new(|c) { my $r = self.bless(|c); POST { ($r.x + $r.y) % 2 }; $r; } }; A.new(:x(1), :y(1))
00:23 camelia rakudo-moar 8e8936: OUTPUT«Postcondition '{ ($r.x + $r.y) % 2 }' failed␤  in method new at /tmp/XIB9HBkcfT:1␤  in block <unit> at /tmp/XIB9HBkcfT:1␤␤»
00:23 tony-o_ ethod BUILDALL(|c) { POST { die "dead" if ($!x + $!y) % 2 != 0; }; callsame; };}; A.new(:x(1), :y(2));
00:23 TimToady m: class A { has $.x; has $.y; method new(|c) { my $r is post { (.x + .y) % 2 } = self.bless(|c); } }; A.new(:x(1), :y(1))
00:23 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ig3mOFbngK␤Can't use unknown trait 'is post' in a variable declaration.␤at /tmp/Ig3mOFbngK:1␤------> 3 has $.y; method new(|c) { my $r is post7⏏5 { (.x + .y) % 2 } = self.bless(|c); } }␤    expect…»
00:23 TimToady I guess we only have 'is leave' and friends so far
00:23 TimToady oh, duh
00:24 TimToady m: class A { has $.x; has $.y; method new(|c) { my $r will post { (.x + .y) % 2 } = self.bless(|c); } }; A.new(:x(1), :y(1))
00:24 camelia rakudo-moar 8e8936: ( no output )
00:24 tony-o_ m: class A { has $.x; has $.y; ethod BUILDALL(|c) { POST { die "dead" if ($!x + $!y) % 2 != 0; }; callsame; };}; A.new(:x(1), :y(2));
00:24 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UHuLb8FWk3␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/UHuLb8FWk3:1␤------> 3A { has $.x; has $.y; ethod BUILDALL(|c)7⏏5 { POST { die "dead" if …»
00:24 tony-o_ m: class A { has $.x; has $.y; method BUILDALL(|c) { POST { die "dead" if ($!x + $!y) % 2 != 0; }; callsame; };}; A.new(:x(1), :y(2));
00:24 camelia rakudo-moar 8e8936: OUTPUT«dead␤  in method BUILDALL at /tmp/O9ufiAydAf:1␤  in block <unit> at /tmp/O9ufiAydAf:1␤␤»
00:24 TimToady looks like 'will post' doesn't work yet, though it parses
00:24 tony-o_ m: class A { has $.x; has $.y; method BUILDALL(|c) { POST { die "dead" if ($!x + $!y) % 2 != 0; }; callsame; };}; A.new(:x(1), :y(1));
00:24 camelia rakudo-moar 8e8936: OUTPUT«Postcondition '{ die "dead" if ($!x + $!y) % 2 != 0; }' failed␤  in method BUILDALL at /tmp/rbgEXwVyTU:1␤  in block <unit> at /tmp/rbgEXwVyTU:1␤␤»
00:25 tony-o_ cool
00:25 TimToady rjbs: anyway, lots of ways to do these things already, which is why we don't always follow the exact Moosey mechanism
00:26 rjbs For sure, I don't mind if it's different, as long as it's not much harder!
00:30 TimToady we also have lots of ways to add sugar
00:35 colomon joined #perl6
00:42 jdv79 the README in t/spec/packages seems deletable since its wrong - idk
01:02 jdv79 i don't get it: http://paste.scsys.co.uk/478839
01:02 timotimo the code generated for "my int $ord = nqp::ordat($text, $pos); $pos = $pos + 1;" is pretty damn shoddy
01:02 jdv79 i thought that's what eqv likes
01:02 timotimo it gets the $pos lexical three times, for example
01:04 laouji joined #perl6
01:10 jdv79 what is the correct way to test 2 objs for equivalence insofaras type and contents?  which is what i though eqv was for.
01:11 jdv79 m: class A{has $a};say A.new(:a(5)) eqv A.new(:a(5))
01:11 camelia rakudo-moar 8e8936: OUTPUT«False␤»
01:11 timotimo eqv doesn't automatically work with classes that don't provide a WHICH with value-type semantics
01:11 jdv79 ok, how does one do that then on such classes?
01:13 jdv79 as an aside - it would be nice if all classes worked with eqv without this wrinkle...  what's the reason that is not the case?
01:14 timotimo m: class A{has $.a; method WHICH { "A|" ~ $.a.WHICH } };say A.new(:a(5)) eqv A.new(:a(5))
01:14 camelia rakudo-moar 8e8936: OUTPUT«True␤»
01:14 timotimo m: class A{has $.a; };say A.new(:a(5)) eqv A.new(:a(5))
01:14 camelia rakudo-moar 8e8936: OUTPUT«False␤»
01:14 timotimo m: class A{has $.a; method WHICH { "A|" ~ $.a.WHICH } };say A.new(:a(5)) eqv A.new(:a(6))
01:14 camelia rakudo-moar 8e8936: OUTPUT«False␤»
01:17 raydiak m: class A{has $.a; method WHICH { "A|" ~ $.a.WHICH } };say A.new(:a(5)) === A.new(:a(5))
01:17 camelia rakudo-moar 8e8936: OUTPUT«True␤»
01:17 aborazmeh joined #perl6
01:17 aborazmeh joined #perl6
01:18 raydiak not sure if that's what you want :)
01:18 timotimo hum?
01:19 raydiak it makes them === too
01:19 timotimo oh
01:20 raydiak it's just eqv falling back to identity comparison which is overloaded here, not true deep value comparison
01:20 * raydiak might use ACCEPTS and ~~...then it even works with given/when etc too
01:20 timotimo mhm
01:21 raydiak but how are we supposed to make our classes work with eqv?  it would be nice to know too :)
01:21 raydiak export overloaded &infix:<eqv> maybe
01:22 jdv79 http://doc.perl6.org/routine/eqv is misleading methinks
01:23 jdv79 at least by omission if not outright incorrect
01:23 timotimo ah
01:23 raydiak m: class A { has $.a; sub infix:<eqv> (::?CLASS:D $a, ::?CLASS:D $b) { $a.a eqv $b.a }; }; import A; say A.new(:a(5)) eqv A.new(:a(5))
01:23 camelia rakudo-moar 8e8936: OUTPUT«False␤»
01:24 raydiak m: class A { has $.a; sub infix:<eqv> is export (::?CLASS:D $a, ::?CLASS:D $b) { $a.a eqv $b.a }; }; import A; say A.new(:a(5)) eqv A.new(:a(5))
01:24 camelia rakudo-moar 8e8936: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gbPPJn1rgy␤Missing block␤at /tmp/gbPPJn1rgy:1␤------> 3s A { has $.a; sub infix:<eqv> is export7⏏5 (::?CLASS:D $a, ::?CLASS:D $b) { $a.a e␤    expecting any of:␤        new name to be defined␤»
01:24 timotimo subs are already "is export" in that way?
01:24 raydiak m: class A { has $.a; sub infix:<eqv> (::?CLASS:D $a, ::?CLASS:D $b) is export { $a.a eqv $b.a }; }; import A; say A.new(:a(5)) eqv A.new(:a(5))
01:24 camelia rakudo-moar 8e8936: OUTPUT«Type check failed in binding $a; expected 'A' but got 'Int'␤  in sub infix:<eqv> at /tmp/dIuVuW2wor:1␤  in sub infix:<eqv> at /tmp/dIuVuW2wor:1␤  in block <unit> at /tmp/dIuVuW2wor:1␤␤»
01:24 timotimo and you don't have to make that a multi sub?
01:24 raydiak m: class A { has $.a; multi sub infix:<eqv> (::?CLASS:D $a, ::?CLASS:D $b) is export { $a.a eqv $b.a }; }; import A; say A.new(:a(5)) eqv A.new(:a(5))
01:24 camelia rakudo-moar 8e8936: OUTPUT«True␤»
01:24 raydiak m: class A { has $.a; multi sub infix:<eqv> (::?CLASS:D $a, ::?CLASS:D $b) is export { $a.a eqv $b.a }; }; import A; say A.new(:a(5)) eqv A.new(:a(6))
01:24 camelia rakudo-moar 8e8936: OUTPUT«False␤»
01:24 raydiak m: class A { has $.a; multi sub infix:<eqv> (::?CLASS:D $a, ::?CLASS:D $b) is export { $a.a eqv $b.a }; }; say A.new(:a(5)) eqv A.new(:a(6))
01:24 camelia rakudo-moar 8e8936: OUTPUT«False␤»
01:24 raydiak there :P :)
01:25 * raydiak doesn't have his head in this space much atm, just finished getting the car drivable again
01:26 dalek roast: 0695520 | (Justin DeVuyst)++ | / (3 files):
01:26 dalek roast: Add tests for RT83354.
01:26 dalek roast: review: https://github.com/perl6/roast/commit/06955201f2
01:34 jdv79 how come .gist and .perl don't delve deep on a class?  this seems like pretty decent default behavior on boring classes to me.
01:34 jdv79 m: class A{has $a};say A.new(:a(5)).perl # :(
01:34 camelia rakudo-moar 8e8936: OUTPUT«A.new␤»
01:36 Sqirrel joined #perl6
01:36 laouji_ joined #perl6
01:39 TimToady m: class A {has $.a};say A.new(:a(5)).perl
01:39 camelia rakudo-moar 8e8936: OUTPUT«A.new(a => 5)␤»
01:39 TimToady only does public attributes
01:39 TimToady because they're, like, public...
01:40 raydiak and b/c passing them to .new wouldn't work by default?
01:40 TimToady we really gotta get a warning for that
01:40 ponbiki joined #perl6
01:41 TimToady people keep running into it over and over
01:41 raydiak always complaints about unrecognized nameds slipping through everywhere
01:42 raydiak oh, you meant the has $a thing
01:45 TimToady well, that's just equivalent to $!a
01:45 * rjbs wonders how to most easily convert from a buf16 to buf8.  map? :)
01:45 TimToady but the same result
01:45 TimToady but I meant the general warning on unused nameds
01:45 * TimToady wonders what rjbs intends to do with the high bits?
01:45 rjbs FFEF becomes FF EF
01:45 rjbs so I could map by doing that split myself, of course
01:45 jdv79 ah.  forgot default is private on attrs.
01:45 rjbs It may be that I should use a buf8 to begin with, given that the probably use case here is to print into a bytestream.
01:45 TimToady likely, and then you don't have to consider endian-ness
01:46 rjbs Yeah, it's just more sensible.  The packed form it packed word by word, but I don't really care about that beyond the algorithm.
01:46 TimToady m: say "\x2424".encode('ucs2').WHAT
01:46 camelia rakudo-moar 8e8936: OUTPUT«Unknown string encoding: 'ucs2'␤  in block <unit> at /tmp/WAqjRpNw63:1␤␤»
01:47 TimToady aww
01:47 ycaymanbo joined #perl6
01:47 TimToady might eventually be some pack/unpack magic for it, but unlikely to work yet
01:48 raydiak some of that does, I even fixed one thing myself that I was actually using
01:48 rjbs I'd make more progress on this tonight if I had some paper down here!
01:48 dayangkun joined #perl6
01:49 TimToady progress requires paper?
01:49 TimToady use sand like Archimedes
01:49 TimToady but avoid Romans...
01:49 rjbs I think I'd get in trouble with Gloria if I brought sand into the living room.
01:51 * TimToady failed to understand the [@a] race, other than to note that it's probably down in .eager/.gimme(*) somewhere
02:06 noganex_ joined #perl6
02:09 aborazmeh joined #perl6
02:09 aborazmeh joined #perl6
02:15 xinming joined #perl6
02:19 petercom1and joined #perl6
02:27 rmgk_ joined #perl6
02:28 colomon_ joined #perl6
02:31 chenryn joined #perl6
02:32 colomon_ joined #perl6
02:42 jdv79 m: class A { has Hash @.a = [{foo=>2},{bar=>3}] };say A.new.a[0] # should this work?
02:42 camelia rakudo-moar 8e8936: OUTPUT«Type check failed in assignment to '@!a'; expected 'Hash' but got 'Array'␤  in block <unit> at /tmp/ZaUoH7AMav:1␤␤»
02:42 jdv79 m: class A { has Hash @.a = ({foo=>2},{bar=>3}) };say A.new.a[0] # this seems to
02:42 camelia rakudo-moar 8e8936: OUTPUT«foo => 2␤»
02:43 jdv79 looking at #109880
02:51 Sqirrel joined #perl6
02:55 raiph joined #perl6
03:13 skids .tell FROGGS reprs/NFA.c lines 567 and 568 looked wrong to me on a cursory read: 1) should be if act == on both lines and the second should have an && (g != ...).  Or I totally don't get the code, which is possible.
03:13 yoleaux skids: I'll pass your message to FROGGS.
03:14 jdv79 [Coke]: i can't repro the last issue you raised on #113078
03:19 egrep joined #perl6
03:25 laouji_ joined #perl6
03:45 FROGGS_ joined #perl6
03:46 dalek rakudo/nom: 6ce90d5 | TimToady++ | src/ (2 files):
03:46 dalek rakudo/nom: skip onlystar on CALLER
03:46 dalek rakudo/nom:
03:46 dalek rakudo/nom: (Also, add &?ROUTINE entry on proto autogen so we can actually
03:46 dalek rakudo/nom: find the routine we need to check for onlystar...)
03:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ce90d529a
03:46 TimToady .tell jnthn it occurs to me that explicit onlystars are getting optimized away before first call, but autogenned ones aren't (or I wouldn't have needed this CALLER patch), which seems a bit odd
03:46 yoleaux TimToady: I'll pass your message to jnthn.
03:55 Sqirrel joined #perl6
03:57 raydiak TimToady++
04:13 jack_rabbit joined #perl6
04:18 bjz joined #perl6
04:25 Sqirrel joined #perl6
04:47 molaf joined #perl6
04:59 dalek specs: 13b4c60 | TimToady++ | S02-bits.pod:
04:59 dalek specs: CALLER skips empty protos
04:59 dalek specs: review: https://github.com/perl6/specs/commit/13b4c60565
05:13 jepeway joined #perl6
05:20 Foxcool joined #perl6
05:27 moritz_ m: say [1, 2] eqv [1, 2]
05:27 camelia rakudo-moar 6ce90d: OUTPUT«True␤»
05:27 moritz_ that's rather inconsistent, since arrays are value types, no?
05:28 jdv79 i am a bit unclear on how eqv should work
05:28 jdv79 i was hoping it was just me
05:28 jdv79 ;)
05:28 TimToady eqv is snapshot equivalence, so doesn't matter whether they're values or containers
05:28 TimToady "would these serialize to the same thing"
05:28 TimToady it's === that distinguishes container objects
05:28 moritz_ m: class A { };  say A.new eqv A.new
05:28 camelia rakudo-moar 6ce90d: OUTPUT«False␤»
05:29 moritz_ so that's wrong?
05:29 TimToady well, no .WHICH defoined
05:29 TimToady *fined
05:29 TimToady should probably work anyway somehow
05:30 jdv79 could there be a simple default and croaks on non-simpleness though?
05:30 mr-foobar joined #perl6
05:30 TimToady eqv shouldn't really depend on .WHICH anyway, that's === semantics
05:30 jdv79 s/and/that/ maybe
05:31 TimToady so I think that's just a bug
05:31 TimToady I wonder where it's getting falsified...
05:32 jdv79 would "serialize" include private attrs here?
05:32 jdv79 nm
05:40 mr-foobar joined #perl6
05:45 Psyche^ joined #perl6
05:46 TimToady well, for serialization there's basically nothing but private attrs, since that's where the data is
05:48 dalek specs: 01f263b | TimToady++ | S02-bits.pod:
05:48 dalek specs: define the CLIENT pseudopackage
05:48 dalek specs: review: https://github.com/perl6/specs/commit/01f263b1c0
05:48 dalek rakudo/nom: 65d90fd | TimToady++ | src/ (2 files):
05:49 dalek rakudo/nom: implement CLIENT::
05:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65d90fd56e
05:49 TimToady ^^ basically "carp" semantics
05:53 TimToady writing tests for CLIENT would be lhf for someone
05:55 timotimo "let's have fun!"
05:56 raydiak I wonder why CALLERS didn't work in the original CALLER/proto problem
05:59 TimToady probably because the autogen proto has a $_
05:59 raydiak of course
06:02 * raydiak is having such a good streak making changes without breaking things, he intentinoally broke something to make sure it still works and wasn't loading an out-of-date blib or something :)
06:03 raydiak so I guess Perl 6 is doing it's job pretty well
06:04 diana_olhovik joined #perl6
06:05 domidumont joined #perl6
06:05 cognominal joined #perl6
06:09 kaare_ joined #perl6
06:10 domidumont joined #perl6
06:28 chenryn joined #perl6
06:32 raydiak is there a way to specify different git commits or tag for different versions of your module?  eg if someone does use Foo:ver<1>, and installed Foo from the ecosystem is now at ver 2, great it gives a better error than just running until it breaks, but how can you tell it where to get ver 1 from?
06:37 raydiak I guess I'm wondering if there is a way to support something along the lines of panda install Foo:ver<1> or --ver=1 or so from a single module on the ecosystem, instead of distinct modules like FooV1, FooV2 etc which kinda defeats the purpose of all our nice versioning stuffs
06:41 raydiak the real thought which led to this was "I kinda wanna put this thing on the ecosystem, but I might want to keep radiacally changing the api/syntax for a while", so if anyone has a different answer to that dillema besides more useful versioning...cool :)
06:45 RabidGravy joined #perl6
06:47 Sqirrel joined #perl6
07:00 laouji_ joined #perl6
07:02 zakharyas joined #perl6
07:05 ugexe me and tony-o have been working on that ourselves
07:07 raydiak oh neat, how so?
07:08 ugexe other solutions just tag releases with a format vXX.XX
07:08 raydiak doesn't sound unreasonable
07:10 ugexe a combination of meta.info analysis, maintaining clones of authorities, package management integration crap to make it easy to do it a specific way
07:12 raydiak sounds like two changes to panda: to make --ver pull a specific git tag, and to allow it to install multiple versions in parallel instead of overwriting existing
07:12 raydiak then you can leave meta.info out entirely
07:14 raydiak though I guess it'd be better to declare what versions are valid and available or not in the meta.info, without fetching and grepping a list of all the git tags
07:14 ugexe not doing it in panda. and the meta stuff lets us do thing like flatten the dependency tree out as much as possible without having to serve out the meta of all packages
07:16 raydiak well ultimately the goal, at least my thought was, to allow users to install the proper version of the module to satisfy the dependency...how not doing it in panda?
07:20 ugexe yes, but how do you know what dependencies your dependencies have? you dont know until you download it. no reason that list couldnt be squashed into a de-duped tree so you can go right into paralell downloading/testing
07:20 rindolf joined #perl6
07:20 ugexe we wrote a different package manager
07:21 virtualsue joined #perl6
07:21 raydiak ah, now it makes more sense
07:22 raydiak and exciting :)
07:24 TimToady m: class A { method foo { self.bar }; method bar { say CLIENT::<$_> } }; my $obj = A.new; $obj.foo for <a b c>
07:24 camelia rakudo-moar 65d90f: OUTPUT«a␤b␤c␤»
07:25 TimToady m: class A { method foo { Bool.pick ?? self.bar !! self.foo }; method bar { say CLIENT::<$_> } }; my $obj = A.new; $obj.foo for <a b c>
07:25 camelia rakudo-moar 65d90f: OUTPUT«a␤b␤c␤»
07:28 raydiak very nice disambiguation to have handy :)
07:30 darutoko joined #perl6
07:33 xfix joined #perl6
07:33 xfix joined #perl6
07:37 FROGGS skids: you are right
07:37 yoleaux 03:14Z <skids> FROGGS: reprs/NFA.c lines 567 and 568 looked wrong to me on a cursory read: 1) should be if act == on both lines and the second should have an && (g != ...).  Or I totally don't get the code, which is possible.
07:38 pdcawley joined #perl6
07:42 mohij joined #perl6
07:47 berekuk joined #perl6
07:48 jepeway joined #perl6
07:55 masak morning, #perl6
07:56 DrForr Morning.
07:56 RabidGravy erp
07:59 jnthn o/
07:59 yoleaux 13 May 2015 22:51Z <japhb> jnthn: I got test failures attempting to panda install OO::Monitors, as of a fresh build Wednesday morning US/Pacific time.  Known breakage?
07:59 yoleaux 03:46Z <TimToady> jnthn: it occurs to me that explicit onlystars are getting optimized away before first call, but autogenned ones aren't (or I wouldn't have needed this CALLER patch), which seems a bit odd
08:01 mohij joined #perl6
08:02 FROGGS morning @all
08:03 masak \o
08:05 vendethiel joined #perl6
08:13 cygx joined #perl6
08:14 cygx o/
08:14 cygx I need some bikeshedding done
08:14 cygx the question at hand: what parameters should &open take
08:14 cygx my current thinking: https://github.com/rakudo/rakudo/pull/426#issuecomment-101916227
08:14 chenryn joined #perl6
08:23 Alina-malina joined #perl6
08:27 brrt joined #perl6
08:31 FROGGS TimToady: is it possible that S24-testing/line-numbers.t fails due to changes to CALLER or callframe?
08:33 jnthn .ask TimToady do you have a succinct example of the explicit/implicit onlystar issue?
08:33 yoleaux jnthn: I'll pass your message to TimToady.
08:35 dalek rakudo/nom: 2ea0087 | FROGGS++ | / (4 files):
08:35 dalek rakudo/nom: make REPL strict by default, leave only '-e' lines lax
08:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ea008731c
08:35 FROGGS rjbs and others^^
08:35 RabidGravy is there any ongoing work to introduce support for Unix domain sockets? My reading of the source would suggest it's entirely not possible at present.
08:36 FROGGS RabidGravy: I think timotimo++ started to work on this at some point
08:36 jnthn FROGGS: ooh, I was gonna look at that...nice :)
08:37 jnthn cygx: The latest design looks cleaner than the last one
08:37 FROGGS jnthn: :o)
08:37 RabidGravy cool, I'll back burner the Docker client for the time being then ;-)
08:37 jnthn cygx: About the VM interface, we do have the option of nqp::const:: to do flags
08:38 FROGGS jnthn: but we use nqp::open in nqp, no? we can't just change the signature of that op me thinks
08:38 jnthn FROGGS: True that...
08:39 laouji joined #perl6
08:40 jnthn So it'd be some "fun"
08:40 FROGGS via a temp op?
08:41 cygx also, '+ct' is far less typing that nqp::const::O_RDWR +| nqp::const::O_CREAT +| ...
08:41 cygx *than
08:41 FROGGS cygx: though, you don't type that anyway
08:42 FROGGS jnthn: about what you asked TimToady:
08:42 FROGGS git revert --no-commit 6ce90d529a7da1024a8d5d622ff6b239788254f2
08:42 FROGGS perl6 -e '$_= 42; multi foo { say CALLER::<$_> }; proto bar { * }; multi bar { say CALLER::<$_> }; foo; bar'
08:42 FROGGS (Any)
08:42 FROGGS 42
08:42 cygx FROGGS: regarding your comment, the problem is that :w implies :truncate, whereas :rw and :wx don't (thought it shouldn't hurt with the latter)
08:43 cygx so combinations don't fall out for free
08:43 cygx I think the situation improves after renaming :wx to :x
08:43 cygx that should give something nicely uniform
08:44 FROGGS I don't mind if it doesnt fall out for free... it is more that someone might want to do: open(:rw, :x($condition))
08:45 cygx mskes sense
08:47 jnthn FROGGS: Thanks.
08:49 laouji_ joined #perl6
08:49 cygx I updated the comment with s/wx/x/
08:49 andreoss joined #perl6
08:49 cygx I do think that looks pretty good
08:50 FROGGS cygx++
08:51 cygx it would be even more uniform if :rw implied :truncate, but that seems just the tiniest bit hostile ;)
08:52 FROGGS yes, that sounds reasonable
09:07 raydiak g'night #perl6 \o
09:09 eli-se joined #perl6
09:11 brrt joined #perl6
09:12 diana_olhovik joined #perl6
09:14 FROGGS[mobile] joined #perl6
09:19 Woodi joined #perl6
09:20 telex joined #perl6
09:36 cygx support for new open flags pushed  to the pr
09:41 pecastro joined #perl6
09:47 moritz_ cygx++
09:47 gfldex joined #perl6
09:48 FROGGS TimToady / jnthn: just confirmed, 6ce90d529a7da1024a8d5d622ff6b239788254f2 breaks S24-testing/line-numbers.t
09:51 chenryn joined #perl6
09:56 cygx later o/
09:57 cygx left #perl6
09:59 arnsholt jnthn: Is there a particular reason :reducecheck in HLL::Grammar.EXPR only works for infix operators? Having it for other ops (postfixes) would make my life simpler in Snake
10:00 jnthn arnsholt: Not that I'm aware of.
10:03 arnsholt Or maybe it only makes sense for infixes, on second thought. I may be confused
10:04 FROGGS arnsholt: if this is about tranforming '[a] b c d' to 'b a c a d', then it only makes sense for infixes
10:04 FROGGS though I don't understand what the code does there
10:04 FROGGS I had expected if captures the result of the call to do something with it
10:05 arnsholt Yeah, I think it only makes sense for infixes
10:06 broquaint joined #perl6
10:06 arnsholt My problem is that HLL::Actions.EXPR unshifts the argument onto the operator AST, where I want it to push
10:07 masak reduce as an operation only makes sense for infixes.
10:08 jnthn masak: I think this is in the context of "shift reduce" in OPP
10:09 arnsholt Yeah, I was confused
10:10 DrForr m: q hello world
10:10 camelia rakudo-moar 2ea008: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LoCU26COXh␤Alphanumeric character is not allowed as a delimiter␤at /tmp/LoCU26COXh:1␤------> 3q7⏏5 hello world␤»
10:12 DrForr Bummah.
10:18 vendethiel joined #perl6
10:20 masak jnthn: oh.
10:20 masak in that case, all the ops do some kind of reduce.
10:26 grondilu joined #perl6
10:34 laouji_ joined #perl6
10:39 chenryn joined #perl6
10:56 jdurand joined #perl6
11:10 rjbs FROGGS++ cool, re repl strict
11:15 timotimo yes! repl strictness!
11:17 lichtkind joined #perl6
11:25 brrt joined #perl6
11:28 lichtkind reini uses rurban?
11:28 lichtkind as irc handle
11:28 timotimo yes
11:29 lichtkind thank you
11:31 rjbs Say I read a UTF-8 bytestream from a file, then decode it.  Is there a way to get back the exact characters that were encoded in the bytestream, if they were not normalized?
11:31 timotimo if you first read it, then decode it, you still have the original ;)
11:31 FROGGS no
11:32 FROGGS when we normalize, we lose information
11:32 timotimo i've claimed before that this is dangerous for filenames
11:32 rjbs And is there a way to decode a string without NFGing it?
11:32 rjbs decode to a string
11:32 jnthn rjbs: You'll be able to get it as a Uni
11:32 jnthn Not as a Str
11:32 jnthn Str means NFG
11:32 jnthn Uni will give you an array of Unicode "as they were"
11:32 FROGGS like if the bytestream contained a ö as o + marks, then it won't end up being that
11:32 rjbs jnthn: but it's nyi?
11:33 timotimo NFG and Uni are very much I, jnthn++
11:33 jnthn rjbs: Uni is, reading one directly from a file isn't
11:33 jnthn Or Buf -> Uni
11:33 rjbs jnthn: That's cool, how does one get a Uni? (I don't see it on doc.perl6.org)
11:33 jnthn They're not *hard*, I just didn't do it yet
11:33 jnthn Yeah, Uni is quite newly I
11:33 jnthn Uni.new(...codepoints here...)
11:34 rjbs Cool.  And will Str coerce to Uni via NFC or something?
11:34 rjbs or must it be explicit?
11:34 jnthn Str.NFC gets you a Uni
11:34 jnthn And Str.NFD and so on
11:34 rjbs Right, but then I need to detect that what I got was Str and not Uni.  Which is fine...
11:34 jnthn But by then you've doen the NFG round-trip
11:35 jnthn Note that NFG is entirely internal
11:35 jnthn So output is NFC
11:35 rjbs I can just write a multi, I suppose, where the Str form calls the Uni form with str.NFC.
11:35 rjbs sure
11:35 jnthn You're going to have to go out of your way if you want to work with normal string data and not have it be normalized on input.
11:35 rjbs Okay, all very helpful!
11:36 rjbs jnthn++
11:36 jnthn For one because it's almost certainly never what you want in normal use cases. :)
11:36 rjbs jnthn: What do you mean when you say "with normal string data"?
11:36 jnthn rjbs: Uh, I mean, if you want to do text processing and not be under NFG semantics.
11:36 rjbs Okay.  That word "normal"... :)
11:37 jnthn Yes, that was unfortunate :P
11:37 rjbs $buf.decode($encoding, :Uni) ? :)
11:37 rjbs I'm afraid it's something I'm likely to need, but I know it's not the common case, and don't mind some hoops to jump through.
11:37 jnthn Well, one reason it's NYI yet also that when I mentioned something like that, TimToady wasnt' sure .decode with a named arg was the right way to expose it.
11:38 jnthn Though it's mostly just that I didn't get around to it.
11:38 rjbs I *definitely* am not sure, as I'm still flailing about and speaking p6 with a weird outworlder accent.
11:38 jnthn I'd be surprised if there are that many cases where it's an issue for anyone.
11:39 rjbs Da, el buf sui very suggoi!
11:39 timotimo SUGOOOOIIII desu ne
11:39 jnthn For one, within ASCII and Latin-1 then the NFG round-trip is a total no-op
11:39 FROGGS not so for e.g. utf8
11:39 rjbs In this case, it is a potential issue for people in my very very niche market doing very very niche-again things.  So I'm not worried, as long as it's somehow possible eventually.
11:40 FROGGS so utf8 -> nfg -> utf8 results in input ne output
11:40 FROGGS that's also the reason why we need buf/utf8 to become more Stringy
11:40 rjbs ...at least sometimes. Right, that was quite clear.
11:41 jnthn FROGGS: Correct, though what I said above was more "if you're using codepoints within the latin-1 range", which still applies even if you encoded them as UTF-8
11:41 rjbs btw, is the best way to iterate over codepoints with $str.split('') ?
11:41 jnthn The best way to go over codepoints is to do .NFC.list or .NFD.list
11:41 timotimo that's outworlder accent for $str.comb :)
11:41 jnthn .comb is grapheme level
11:42 FROGGS isnt there supposed to be a .codes or .codepoints method? dunno if this repr is still valid
11:42 jnthn m: .say for "D\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]".NFC.list
11:42 camelia rakudo-moar 2ea008: OUTPUT«7692␤775␤»
11:42 rjbs codes gives you a count
11:42 timotimo .codes is a counter method, like .chars or so
11:42 jnthn m: .say for "D\c[COMBINING DOT ABOVE]\c[COMBINING DOT BELOW]".NFD.list
11:42 camelia rakudo-moar 2ea008: OUTPUT«68␤803␤775␤»
11:42 jnthn FROGGS: .codepoints is underspecified, really...
11:43 rjbs Great, thanks.
11:43 jnthn FROGGS: If you know you want to work at that level, you probably also know enough to know if you want NFC or NFD. :)
11:44 FROGGS jnthn: yes, that's what I meant by 'valid'... I assumed that we need to adjust roast+syn to latest reality
11:45 jnthn FROGGS: Yeah, I'll take a pass through the syn in a few places wrt NFG soonish
11:45 jnthn For now, really lunch... :) &
11:45 FROGGS good lunch
11:46 jnthn kthxnom
11:46 laouji joined #perl6
11:52 laouji_ joined #perl6
12:00 eli-se joined #perl6
12:21 timotimo yay, another hip vulnerability with a kick-ass logo and name
12:22 FROGGS hmm?
12:23 timotimo "VENOM", it attacks the "virtual floppy disk driver" in qemu (which is vulnerable even if you switch support for it off) and gives users access to the host system
12:23 FROGGS ohh, nice :o)
12:28 rjbs Woah: QAST::Block with cuid cuid_12_1431606476.52319 has not appeared
12:29 timotimo yeah, that's the reason why we generate blocks that just die with "internal error!" for blocks the optimizer eliminates, rather than just kicking them out
12:31 andreoss joined #perl6
12:32 rjbs How does one diagnose this problem?
12:33 rjbs Hm, found it..
12:33 rjbs Aha, it was a syntax error,because I am a bad reader.
12:33 rjbs m: my constant ZSCII-Char = subset uint16 where * < 2 ** 10;
12:33 camelia rakudo-moar 2ea008: OUTPUT«===SORRY!===␤QAST::Block with cuid cuid_1_1431606829.91609 has not appeared␤»
12:34 bartolin j: "a" ~~ /"$0"/
12:34 camelia rakudo-jvm 2ea008: ( no output )
12:35 bartolin j: say "a" ~~ /"$0"/
12:35 camelia rakudo-jvm 2ea008: OUTPUT«Cannot unbox a type object␤␤»
12:36 bartolin that one is behind the spectest failure in S05-mass/rx.t on JVM
12:36 bartolin it fails strangly with --ll-exception: https://gist.github.com/usev6/bcdf2ada8cd523d37810
12:36 bartolin I create a PR for rakudo which fixes the "Cannot unbox a type object" (PR 427)
12:38 FROGGS rjbs: we need to catch that of course
12:39 dalek rakudo/nom: b9362d3 | usev6++ | src/core/control.pm:
12:39 dalek rakudo/nom: unbust warning for Nil in strings in regexes for JVM
12:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9362d3e50
12:39 dalek rakudo/nom: ca8232e | FROGGS++ | src/core/control.pm:
12:39 dalek rakudo/nom: Merge pull request #427 from usev6/warnings_jvm_nil
12:39 dalek rakudo/nom:
12:39 dalek rakudo/nom: unbust warning for Nil in strings in regexes for JVM
12:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ca8232e2c3
12:39 bartolin but I think that (PR 427) is just a workaround for another problem within "sub warn" in src/core/control.pm.
12:39 FROGGS no, that looks pretty correct
12:40 Alina-malina joined #perl6
12:41 bartolin FROGGS: if I add a "say %anno.perl" after line 192 in src/core/control.pm and run the above evaluation the output looks weird to me
12:41 bartolin https://github.com/rakudo/rakudo/blob/nom/src/core/control.pm#L192
12:41 FROGGS weird in what way?
12:42 bartolin wait a moment, have to recompile
12:44 pippo joined #perl6
12:45 dalek rakudo-star-daily: e9888c4 | coke++ | log/ (2 files):
12:45 dalek rakudo-star-daily: today (automated commit)
12:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/e9888c44ea
12:45 pippo j: say "I am back";
12:45 camelia rakudo-jvm 2ea008: OUTPUT«I am back␤»
12:45 pippo r: say "a" ~~ /<:alpha>/;
12:45 bartolin FROGGS: ohh, that weirdness went away with my patch :-)
12:45 camelia rakudo-moar 2ea008: OUTPUT«「a」␤»
12:45 camelia ..rakudo-jvm 2ea008: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {alpha} near index 8␤\p{alpha}␤        ^␤  in block <unit> at /tmp/tmpfile:1␤␤»
12:46 pippo ^^ rakudo-j bug?
12:46 FROGGS pippo: yes
12:46 FROGGS bartolin: so all is good :o)
12:47 spider-mario joined #perl6
12:47 pippo FROGGS: thanks.
12:47 bartolin FROGGS: indeed!
12:49 bartolin FROGGS: that's what I meant: https://gist.github.com/usev6/602ad169eb6e3bcdf27e
12:49 bartolin FROGGS: probably the "sub warn" was entered more than once?
12:50 FROGGS hmmm, no idea
12:51 pippo FROGGS: should I submit that to
12:51 pippo FROGGS: should I submit that to rakudobug@perl.org
12:51 FROGGS pippo: yes please
12:51 pippo FROGGS: OK.
12:51 FROGGS might be easy to fix though, we just need to translate that to Java's understanding of alpha
12:54 pippo FROGGS: done submitting.
12:55 FROGGS pippo++
12:55 pippo :-)
13:01 lizmat good *, #perl6!
13:01 lizmat backlogging
13:02 lizmat fwiw, I see an increase in parse time from ~ 32 to ~35 seconds, aka about a 10% increase
13:02 brrt joined #perl6
13:02 dalek nqp: 8a1edab | FROGGS++ | / (2 files):
13:02 dalek nqp: handle LTM for ignorecase+ignoremark
13:02 dalek nqp: review: https://github.com/perl6/nqp/commit/8a1edab151
13:03 jnthn lizmat: Hm, not anything local? It's about the same here as I remember it being from a week or so ago when I was last on this machine...
13:03 lizmat pretty sure it's not something local
13:04 lizmat feels to me it happend sometime between Monday and now
13:04 pippo o/ lizmat
13:06 lizmat pippo o/
13:07 lizmat hmmm.... all but one tests fail of t/spec/S24-testing/line-numbers.t ?
13:09 jnthn lizmat: Yeah, something TimToady did, though it may have been to work around something I can fix another way
13:09 airdisa joined #perl6
13:09 lizmat ok, I'll drop it off of my "attention" plate  :-)
13:14 muraiki joined #perl6
13:22 dalek nqp: 90e361b | FROGGS++ | / (3 files):
13:22 dalek nqp: update NFA_EGDE_* constants
13:22 dalek nqp: review: https://github.com/perl6/nqp/commit/90e361b571
13:22 dalek nqp: bff4a2b | FROGGS++ | src/QRegex/NFA.nqp:
13:22 dalek nqp: fix endpoints of fates for :m and :i:m
13:22 dalek nqp: review: https://github.com/perl6/nqp/commit/bff4a2ba21
13:22 timotimo lizmat \o/
13:23 dalek rakudo/nom: 4d74d79 | FROGGS++ | tools/build/NQP_REVISION:
13:23 dalek rakudo/nom: bump nqp for NFA segfault fix
13:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d74d79898
13:26 lizmat timotimo o/
13:26 lizmat afk again&
13:27 colomon OO::Monitors seems to be hanging my smoke tester
13:29 dalek roast: 1ec7a2d | FROGGS++ | S05-metasyntax/longest-alternative.t:
13:29 dalek roast: add LTM tests for /:i/ and /:i:m/
13:29 dalek roast: review: https://github.com/perl6/roast/commit/1ec7a2d298
13:31 dalek roast: 6dc7114 | jnthn++ | S02-literals/quoting.t:
13:31 dalek roast: Fix two tests to work on Windows also.
13:31 dalek roast: review: https://github.com/perl6/roast/commit/6dc71143ad
13:31 masak colomon: how ironic :/
13:32 dalek rakudo/nom: 32e57e5 | jnthn++ | src/core/IO/Spec.pm:
13:32 dalek rakudo/nom: Use a cheaper indirect lookup in IO::Spec.select.
13:32 dalek rakudo/nom:
13:32 dalek rakudo/nom: Now it accounts for only 0.4% of startup time, not 5%.
13:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/32e57e5b28
13:32 dalek rakudo/nom: 12eac61 | jnthn++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.nqp:
13:32 dalek rakudo/nom: Simplify and remove race in role handling.
13:32 dalek rakudo/nom:
13:32 dalek rakudo/nom: Since this code was written, it seems we (for other reasons) changed
13:32 dalek rakudo/nom: the order things happen when setting up parametric roles and groups
13:32 dalek rakudo/nom: of them. Therefore, simplify it. This also removes a race condition
13:32 dalek rakudo/nom: if two threads tried to specialize the role at the same time, which
13:32 dalek rakudo/nom: led to candidates maybe being added twice.
13:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/12eac61901
13:33 masak wow, threads and roles. didn't think of that.
13:34 timotimo throles?
13:34 jnthn We'll declare "I did declarative MOP operations from multiple threads at once on the same meta-object" as "your fault".
13:35 jnthn But stuff that you might do in normal use of an object should of course work out fine.
13:35 jnthn This is a case where it didn't, though thankfully the solution was removing a workaround for an earlier problem... :)
13:36 masak :)
13:36 vendethiel .oO( game of throles )
13:36 vytas joined #perl6
13:37 masak "in the game of throles, you do declarative MOP operations... or you die"
13:37 timotimo i like the sound of that
13:38 rjbs Hm.  I'm hitting a surprising error...
13:38 rjbs I have this error:
13:38 rjbs Method 'unicode-to-zscii' not found for invocant of class 'Any'
13:38 rjbs The line in question is: my $zscii  = .unicode-to-zscii($string)
13:39 rjbs I said {self} just before that and got an object of the class in which the method is defined, ZMachine::ZSCII.
13:39 rjbs so I'm not sure why the invocant is "Any"
13:39 moritz_ rjbs: .unicode-to-zscii calls a method on $_
13:39 moritz_ rjbs: you can $.unicode-to-zscii
13:39 moritz_ or self.
13:39 rjbs Oh, well, that's me being a newb, isn't it? :)
13:39 Juerd Or topicalise: for ($self) { my $zscii = .unicode-... }   # :P
13:39 rjbs Thanks, time to go fix up a zillion never-tested lines of code.
13:40 timotimo Juerd: or "... given self" or "method foobar($_:) { ... }" or ... :)
13:40 moritz_ Juerd: in Perl 6 one would use 'given' instead of 'for', more idiomatic
13:41 timotimo hmm
13:41 Juerd I don't really understand why given and for both exist.
13:41 timotimo could we get the name of the callee when a method is not found?
13:41 timotimo m: my $foo := (1, 2, 3); for $foo { .say; say "hehe" }
13:41 camelia rakudo-moar ca8232: OUTPUT«1␤hehe␤2␤hehe␤3␤hehe␤»
13:41 timotimo m: my $foo := (1, 2, 3); given $foo { .say; say "hehe" }
13:41 camelia rakudo-moar ca8232: OUTPUT«1 2 3␤hehe␤»
13:42 timotimo ^- weak argument
13:42 timotimo m: my $foo := (1, 2, 3); for $$foo { .say; say "hehe" }
13:42 camelia rakudo-moar ca8232: OUTPUT«1 2 3␤hehe␤»
13:42 moritz_ timotimo: re name of the callee, the backtrace should provide that
13:42 vendethiel (you could see any kind of method being called in stead of $foo here)
13:42 andreoss is rakudo aware of JAVA_HOME variable at any point?
13:42 moritz_ if not, we need to improve backtraces
13:43 timotimo moritz_: what i meant to say was: "can we get the error message to say "couldn't call unicode-to-zscii on $_ (of type Any)"?
13:43 timotimo plus another "
13:43 rjbs Oh, this is quite close to working! -- no ZSCII character available for Unicode U+00037 <LATIN CAPITAL LETTER G>
13:50 laouji joined #perl6
13:51 moritz_ timotimo: no idea
13:51 timotimo does that seem helpful?
13:51 colomon woah, major fail in smoker
13:51 timotimo especially if you end up calling a method on something you didn't expect like in rjbs's case it'd be nice
13:52 colomon “Trying to unwind over wrong handler”
13:53 [Coke] jdv79++ Thanks, me either; closed ticket.
13:55 domidumont joined #perl6
13:57 hoelzro morning #perl6
13:57 timotimo sup rob :)
13:58 masak hoelzro: \o
13:58 hoelzro hey timo!
13:58 hoelzro o/ masak
14:01 * [Coke] catches up to realtime. Hio, everyone.
14:01 moritz_ \Coke/
14:01 danaj joined #perl6
14:01 RabidGravy Been getting "Method 'name' not found for invocant of class 'Any'  in method revdeps at lib/Panda/Ecosystem.pm:148" from panda the last couple of days
14:01 timotimo RabidGravy: aye, i already suggested a fix for tadzik
14:01 masak TimToady++ # CLIENT::
14:02 RabidGravy timotimo, coolio - I won't worry about it too much
14:02 timotimo can you try turning the "return unless something something" into "return Empty unless something something" in the method it called just a few lines up there?
14:02 masak TimToady: a neat solution to some problems Carp.pm had, and also solved but less elegantly.
14:02 [Coke] moritz_: I feel like that looks like this: http://faustus70.deviantart.com/art/THE-HEAD-OF-COKE-294308219
14:03 timotimo that's pretty cool
14:05 _thou joined #perl6
14:06 moritz_ [Coke]: :-)
14:11 bjz joined #perl6
14:15 timotimo [Cake]
14:15 tony-o_ [Coke]: that's pretty metal
14:21 dalek snake: 06196ce | arnsholt++ | snake:
14:21 dalek snake: Update runner to use new installed NQP lib path.
14:21 dalek snake: review: https://github.com/arnsholt/snake/commit/06196ce26e
14:21 dalek snake: 2d95a5a | arnsholt++ | src/Snake/Metamodel/ClassHOW.nqp:
14:21 dalek snake: Add name method to ClassHOW
14:21 dalek snake: review: https://github.com/arnsholt/snake/commit/2d95a5af89
14:21 dalek snake: 9c6cf56 | arnsholt++ | src/Snake/Metamodel/ClassHOW.nqp:
14:21 dalek snake: Set simple type cache on classes.
14:21 dalek snake:
14:21 dalek snake: Now instances of a type will be recognized as such, but no handling of
14:21 dalek snake: subtypes yet.
14:21 dalek snake: review: https://github.com/arnsholt/snake/commit/9c6cf56527
14:21 dalek snake: 9435e30 | arnsholt++ | src/Snake/ (2 files):
14:21 dalek snake: Compute C3 method resolution order of classes.
14:21 dalek snake:
14:22 dalek snake: Code snarfed from NQP.
14:22 dalek snake: review: https://github.com/arnsholt/snake/commit/9435e3064a
14:22 dalek snake: 464d463 | arnsholt++ | src/Snake/Metamodel/ClassHOW.nqp:
14:22 dalek snake: Use the MRO to find attributes in superclasses.
14:22 dalek snake: review: https://github.com/arnsholt/snake/commit/464d463909
14:24 * jnthn wonders if OSDC.no badgered arnsholt enough to work on Snake :)
14:24 brrt joined #perl6
14:24 arnsholt Not so much badgered as reminded me that it's a fun project =)
14:25 masak arnsholt: "badgered" was a pun, fwiw. :)
14:25 jnthn I'm sure there's mushroom for improvement... :)
14:25 masak http://www.badgerbadgerbadger.com/
14:25 arnsholt Durr. Me so clever =D
14:25 masak didn't want you to miss that one :P
14:26 * masak .oO( "reminded me that it's a pun project" )
14:26 dakkar joined #perl6
14:28 skids joined #perl6
14:28 wtw joined #perl6
14:30 [Coke] perl6up, the pun cola?  # I tried too hard and ruined it. ;)
14:30 FROGGS :P
14:35 espadrine joined #perl6
14:37 [Coke] anyone have a panda setup for local dev installs? kind of a pain to install panda into my ./install so I can install linenoise, wondering if anyone else is doing this for local dev.
14:37 FROGGS m: say "a" ~~ /<:alpha>/;
14:37 camelia rakudo-moar 12eac6: OUTPUT«「a」␤»
14:38 FROGGS j: say "a" ~~ /<:Alpha>/;
14:38 camelia rakudo-jvm 12eac6: OUTPUT«「a」␤»
14:38 gtodd joined #perl6
14:38 [Coke] /bin/sh: ../install/bin/perl6: No such file or directory
14:39 [Coke] panda doesn't like relative paths, I guess.
14:40 gtodd the text smiley for camelia »ö«   needs bigger wings
14:42 [Coke] ok. Ran panda bootstrap, but now the panda in the install dir doesn't work. "...../bin/panda install Linenoise dies with:
14:42 [Coke] Unhandled exception: Bytecode stream version too high
14:43 muraiki joined #perl6
14:56 brrt huh, i had an interesting idea...
14:57 [Tux] m: use Test;like("Foo",rx{^ <["A".."Z"]> <["a".."z"]>+ $},"like");done;
14:57 camelia rakudo-moar 12eac6: OUTPUT«Potential difficulties:␤    Repeated character (") unexpectedly found in character class␤    at /tmp/QEScmrK3B5:1␤    ------> 3use Test;like("Foo",rx{^ <7⏏5["A".."Z"]> <["a".."z"]>+ $},"like");don␤    Repeated character (") unexpectedly found…»
14:57 brrt you know how one of the differences between components and primitives is that primitives is that  primitives are always predictable (don't depend on unknown internal state)
14:58 brrt well, functional programming then is the desire to program using only primitives
15:05 laouji joined #perl6
15:05 FROGGS[mobile] joined #perl6
15:06 FROGGS [Tux]: strip the quotes
15:06 [Tux] yeah, I was more aiming at an overly verbose and unclear error message
15:07 FROGGS it might be verbose but it is not unclear IMO
15:07 FROGGS m: /<[aa]>/
15:07 camelia rakudo-moar 12eac6: OUTPUT«Potential difficulties:␤    Repeated character (a) unexpectedly found in character class␤    at /tmp/J84qnLlpdd:1␤    ------> 3/<7⏏5[aa]>/␤»
15:07 [Tux] it was to me :)
15:07 FROGGS bbl
15:07 masak hrm, brrt is always gone when I want to say thing to him :)
15:07 masak brrt: you should get screen. ;)
15:09 gfldex joined #perl6
15:12 estrabd joined #perl6
15:13 molaf_ joined #perl6
15:13 go|dfish joined #perl6
15:16 Erendis42d joined #perl6
15:16 Erendis42d carrier has arrived
15:17 masak Erendis42d: but is it a European carrier, or an African carrier?
15:17 Erendis42d :D
15:19 colomon hmmm, for isn’t flattening anymore.  is there a cleaner upgrade that   for (whatever).flat  ?
15:19 hoelzro FROGGS: is your NativeC++all work more of a POC, or do you forsee that being merged in someday?
15:20 masak colomon: maybe `for @(whatever)` ?
15:20 * masak is not sure
15:20 jnthn colomon: for flat whatever { ... }
15:20 jnthn colomon: Though guess that's a matter of taste :)
15:21 colomon jnthn++
15:21 colomon masak++
15:21 masak ...but check whether I'm right! :P
15:22 colomon masak: I was just being nice because you tried to help.  :p
15:22 masak haha
15:22 colomon for flat works nicely, and makes my brain happy
15:24 masak m: sub f { 1, 2, 3 }; for f(), f() { say .perl }
15:24 camelia rakudo-moar 12eac6: OUTPUT«(1, 2, 3)␤(1, 2, 3)␤»
15:25 masak m: sub f { 1, 2, 3 }; for flat f(), f() { say .perl }
15:25 camelia rakudo-moar 12eac6: OUTPUT«1␤2␤3␤1␤2␤3␤»
15:25 masak m: sub f { 1, 2, 3 }; for @(f(), f()) { say .perl }
15:25 FROGGS[mobile]2 joined #perl6
15:25 camelia rakudo-moar 12eac6: OUTPUT«(1, 2, 3)␤(1, 2, 3)␤»
15:25 masak ok, I'm wrong. :) masak--
15:26 colomon masak++ # for checking
15:26 masak can't get rid of that bloody karma... :P
15:28 vendethiel Erendis42d: not enough minerals!
15:30 vendethiel masak: @() should only remove one level of itemization, right?
15:30 TimToady and the inside lists aren't, in fact, itemized
15:30 yoleaux 08:33Z <jnthn> TimToady: do you have a succinct example of the explicit/implicit onlystar issue?
15:31 jnthn TimToady: Ignore ^^, somebody gave me one
15:31 jnthn TimToady: I've just been juggling enough other problems so far today that I didn't get to it.
15:31 masak TimToady: so you're saying I was right but Rakudo is wrong?
15:31 vendethiel TimToady: sorry, wasn't clear, I meant I expected that behavior from @() seemed expected from me
15:32 TimToady masak: no, I wouldn't expect @() to flatten anything inside
15:32 jnthn masak: No, I think the point was that Rakudo is right because we removed some places things flatten
15:32 jnthn (intentionally)
15:32 masak okioki
15:32 airdisa joined #perl6
15:33 masak in times like this I still feel that I don't speak native containerese.
15:34 dalek nqp: 72c717e | jnthn++ | / (2 files):
15:34 dalek nqp: Map nqp::neverrepossess op on MoarVM.
15:34 dalek nqp: review: https://github.com/perl6/nqp/commit/72c717e026
15:35 TimToady jnthn: well, gee, maybe you should deprioritize all this other thread robustness work and fix the piddly little thing I'm complaining about first... :)
15:35 jnthn TimToady: I switched to pre-comp robustness work by now :P
15:36 TimToady you need to find fewer important problems to fix :P
15:37 * jnthn tries to forget what RT is...
15:37 moritz_ RT is Radio Transmitter, right? :-)
15:38 jnthn Uh...I thought it was Random Teleporter?
15:39 geekosaur rotten tomatoes
15:41 TimToady as a datapoint, removing the frame cache did not fix the start { [@a] } race, so there's still something wrong down in .gimme somewhere
15:41 TimToady maybe GLR will pave it over though
15:43 jnthn Maybe. I've been working on the stuff exposed by hitting up an IO::Socket::Async server with a bunch of requests.
15:43 jnthn But nothing I found/fixed so far was specified to that.
15:43 jnthn So other things might behave rather less like magic 8-balls now too :)
15:44 jnthn (But I'm aware there's still more to hunt down and fix.)
15:44 TimToady this one does look like a nursery issue, insofar as it always happens earlyish in the sequence, never later
15:44 jnthn Hm, interesting.
15:45 jnthn Well, there's GC diags I can turn on to see if they also fit the hypothesis.
15:45 * jnthn is almost all the way to a RT #125090 fix
15:45 jnthn But gotta be attentive to something else for a little while. Back later. :)
15:47 synbot6 joined #perl6
15:48 [Sno] joined #perl6
15:49 * TimToady wonders how much user code depends on Parcel being named Parcel rather than, say, Tuple...
15:52 dalek perl6-roast-data: a0d2875 | coke++ | / (9 files):
15:52 dalek perl6-roast-data: today (automated commit)
15:52 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/a0d2875468
15:53 Erendis42d :)~
15:54 [Coke] build bug: after configuring for moar only, then doing "make -j install", I do not have a ./perl6
15:56 TimToady that's the make m-runner-default target's job
15:57 TimToady but yeah, for that reason I depend more on aliases and PATH than on ./perl6
15:57 raiph joined #perl6
15:58 lichtkind greetings, my perl 6 talk in dreden went well i only said bs twice and FROGGS cought me imediately
15:58 [Coke] I can see where install might not have to depend on that.
15:58 lichtkind the version in granada will have new bugs
15:59 TimToady sounds like what we do around here all the time :)
16:01 moritz_ [Coke]: but you do have a ./perl6-m, right?
16:01 colomon Getting this error in the Testing module — “concatenate requires a concrete string, but got null” — looks like it might be new in the last day or two?
16:03 bartolin colomon: for what code do you get that error?
16:03 moritz_ [Coke]: I'm testing a fix right now
16:03 colomon bartolin:
16:03 colomon my $caller = callframe(2);
16:03 colomon $diagnostics ~= sprintf($TEMPLATE, '#') ~ "  at $caller.file() line $caller.line()\n"
16:03 colomon ~ "#   have: $have.perl()\n";
16:05 colomon oh wow, just got a seg fault trying to debug this
16:05 TimToady and you're not even on a segmented architecture!
16:05 colomon my $caller = callframe(2);
16:05 colomon say :$caller.perl; # /Users/colomon/.rakudobrew/bin/perl6: line 2: 30251 Segmentation fault: 11
16:08 [Coke] moritz_: yes, had ./perl6-m
16:09 bartolin colomon: hmm, 'sub proclaim' in Test.pm uses a similiar construct and tests in S24-testing/line-numbers.t started to fail after commit 6ce90d52 (see http://irclog.perlgeek.de/perl6/2015-05-14#i_10600999)
16:09 bartolin colomon: maybe that's related
16:10 TimToady having looked recently at the implementation of callframe, I'm not terribly surprised...throwing a fake exception in order to collect a backtrace from which we fake up objects that pretend to be frames seems a bit roundabout...
16:10 colomon bartolin++
16:11 colomon TimToady: what does “skip onlystar on CALLER” mean?
16:11 TimToady if you have a proto whose body is defined as {*}, it's not counted as the caller of the multi
16:12 TimToady it's as if the caller of the proto called the multi directly
16:12 colomon and that’s the default proto?
16:12 lichtkind TimToady thanks man looking foreward to see you again in granada
16:12 TimToady colomon: yes
16:12 colomon bet that’s exactly it
16:12 TimToady I didn't change callframe
16:12 TimToady callframe actually has nothing to do with CALLER currently
16:13 TimToady CALLER and other PseudoStashes are implemented with low-level nqp ops that access the frames directly
16:13 colomon TimToady: you say that, but it’s in a multi sub with a default proto and changing it to callframe(1) fixes the seg fault
16:14 TimToady the default proto is often optimized away anyway, so it could be a similar trigger, yes
16:14 TimToady the bug I was working on was that an implicit (autogenerated) proto was not optimized away till after the first call
16:15 TimToady so you had to say CALLER::CALLER:: on the first call, but CALLER:: on subsequent calls
16:15 TimToady callframe could easily suffer the same issue, I suppose
16:15 TimToady an explicit proto is a workaround
16:15 colomon and that fixed things
16:16 TimToady but I didn't change how things actually get optimized, just compensated for the inconsistency
16:16 TimToady callframe probably needs the same compensation, unless the optimizer is made more consistent
16:17 Erendis42d bbl<3
16:18 TimToady unless, maybe, the fix I did to the autogen also fixed callframe, maybe it already skips onlystars, but didn't have the info because the autogen didn't install a &?ROUTINE symbol
16:18 Erendis42d ¦*
16:18 Erendis42d left #perl6
16:18 raydiak m: multi sub foo { say callframe.level }; proto sub bar (|) {*}; multi sub bar { say callframe.level }; foo; bar;
16:18 camelia rakudo-moar 12eac6: OUTPUT«2␤2␤»
16:18 TimToady that would be consistent with what you saw
16:19 raydiak I can confirm that ^^ is the same before the CALLER change as well, oddly
16:19 sunnavy joined #perl6
16:23 tony-o_ m: my $r = start { sleep .25; say $*E; }; my $*E = 5; await $r;
16:23 camelia rakudo-moar 12eac6: OUTPUT«===SORRY!===␤Dynamic variable $*E not found␤»
16:23 tony-o_ TimToady: is there any way to make that start block refresh its cache if that is the issue?
16:25 [Coke] weird. perl tools/auto<tab> gives me perl tools/autounfudge.pl/
16:26 sunnavy joined #perl6
16:26 [Coke] (yes, I realize this probably has nothing to do with rakudo)
16:27 TimToady tony-o_: I can't think of a way, offhand
16:28 jdurand_ joined #perl6
16:29 TimToady m: my $*E; my $r = start { sleep .25; say $*E; }; $*E = 5; await $r;
16:29 camelia rakudo-moar 12eac6: OUTPUT«===SORRY!===␤Dynamic variable $*E not found␤»
16:29 lizmat while backlogging and thinking about CLIENT::  I can't help but wonder whether CLIENT:: is not a special case of STASH[selector]::
16:29 TimToady m: my $*E = 5; my $r = start { sleep .25; say $*E; }; await $r;
16:29 camelia rakudo-moar 12eac6: OUTPUT«===SORRY!===␤Dynamic variable $*E not found␤»
16:29 TimToady I don't think the problem is cacheing here
16:30 TimToady looks more like a visibility problem
16:30 lizmat pretty sure that CALLER:: inside the start is something entirely different
16:30 lizmat m: my $E = 5; my $r = start { sleep .25; say $E; }; await $r;
16:30 camelia rakudo-moar 12eac6: OUTPUT«5␤»
16:30 lizmat hmmm....
16:30 TimToady that's outers, not callers
16:31 lizmat Ah, yeah, duh
16:31 * lizmat gets some invigorating tea after a long cycle trip
16:31 TimToady m: my $r = start { sleep .25; say %*ENV<HOME>; }; await $r;
16:31 camelia rakudo-moar 12eac6: OUTPUT«/home/camelia␤»
16:31 jdv79 lizmat: how long?
16:31 lizmat all in all only 100 minutes  :-)
16:32 lizmat 26.5 km at an average of 20 km/hour
16:32 andreoss m: say hyper 1..10
16:32 andreoss m: say 1
16:32 camelia rakudo-moar 12eac6: OUTPUT«Use of Nil in string context at /home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm line 1  in any multi_sig_list at src/gen/m-Perl6-Optimizer.nqp:1661␤␤Use of Nil in string context at src/gen/m-Perl6-Optimizer.nqp line 1661  in any rep…»
16:32 camelia rakudo-moar 12eac6: OUTPUT«1␤»
16:32 andreoss joined #perl6
16:33 jdurand_ joined #perl6
16:33 * jdv79 should probably ride today - been a few days...
16:34 TimToady that hyper is a poorly named internal routine
16:34 TimToady it's not the specced hyper
16:34 lizmat s/hyper/HYPER ?
16:35 TimToady at least
16:35 lizmat there appears to be a method dispatch:<hyper> in Mu
16:35 lizmat and a proto sub hyper(|) { * } in metaops
16:35 lizmat will change the latter and see what breaks
16:44 [Coke] lizmat: can we run S17-procasync/kill.t again?
16:45 [Coke] Not sure why you removed it in 456d8f0d48ee37240deb7a52a589795f2025200e
16:45 vendethiel joined #perl6
16:45 [Coke] It seems to be fudged ok.
16:46 lizmat sure...  the most important test still fails, however...  :-(
16:46 TimToady restart-concurrent still fails in pretty much the same way(s)
16:47 achauvin joined #perl6
16:49 coffee` joined #perl6
16:50 dalek rakudo/nom: 49666f3 | coke++ | t/spectest.data:
16:50 dalek rakudo/nom: Run this (fudged) test again.
16:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/49666f3d3f
16:52 [Coke] t/spec/S16-filehandles/connect.t - this is testing 'connect', which doesn't seem to be a thing anymore. Kill it?
16:56 yqt joined #perl6
16:57 Possum joined #perl6
16:58 dalek nqp: 2fbfb3d | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
16:58 dalek nqp: map <:alpha> etc to proper lookup on jvm, RT #125190
16:58 dalek nqp: review: https://github.com/perl6/nqp/commit/2fbfb3d256
16:58 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125190
16:59 spider-mario joined #perl6
16:59 eli-se joined #perl6
17:00 [Coke] m: connect
17:00 camelia rakudo-moar 12eac6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KMYC_V6vOc␤Undeclared routine:␤    connect used at line 1␤␤»
17:02 telex joined #perl6
17:09 coffee` joined #perl6
17:09 dalek roast: f403822 | coke++ | S16-filehandles/connect.t:
17:09 dalek roast: remove old test - connect not mentioned in SYN
17:09 dalek roast: review: https://github.com/perl6/roast/commit/f403822bf3
17:10 dalek rakudo/nom: 9c6e709 | coke++ | t/spectest.data:
17:10 dalek rakudo/nom: Remove reference to deleted test
17:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c6e7090a4
17:12 [Coke] the specs say:
17:12 [Coke] The following functions can now be found in or replaced by something in the Temporal
17:12 [Coke] modules.
17:12 [Coke] gmtime, localtime, time
17:13 [Coke] but t/spec/S32-temporal/time.t seems to indicate we should have those, not replacements. Direction?
17:15 vendethiel joined #perl6
17:16 kaare_ joined #perl6
17:17 spider-mario joined #perl6
17:20 andreoss joined #perl6
17:20 jnthn About this one:
17:20 jnthn my $r = start { sleep .25; say $*E; }; my $*E = 5; await $r;
17:20 jnthn We currently look up $*FOO down the caller chain (only).
17:21 jnthn And the caller chain of the thread that runs the start block is unrelated to that of the thing that does "start"
17:22 jnthn I dunno if we're *meant* to do something else, but we've been getting away with doing it the current way for...ages. :)
17:22 * jnthn is gonna eat, then will get back to fixing stuffs :)
17:24 TimToady so it's really getting the worker thread's caller, eh?  that seems not very...useful...
17:26 jnthn Not even that
17:26 jnthn Every thread's call chain bottoms out at the start of the thread.
17:26 jnthn The call stacks are independent.
17:26 TimToady I get more than that when I list callframes though
17:26 TimToady seems
17:27 TimToady but anyway, how hard would it be to fake caller back to the start?
17:27 jnthn Well, you'll be able to see the infrastructure that is pulling tasks out of the todo list
17:27 jnthn Hmm
17:27 jnthn It may not be too terrible
17:27 jnthn I mean, we already do various kinds of fallback
17:27 TimToady seems like it's just poking an appropriate pointer somewhere
17:27 jnthn It's just another of those perhaps.
17:28 FROGGS m: say "\t" ~~ /<.space>/; say "\t" ~~ /<:space>/ # shouldn't that be the same?
17:28 camelia rakudo-moar 49666f: OUTPUT«「    」␤Nil␤»
17:28 jnthn It should be do-able.
17:28 jnthn really food :) &
17:28 timotimo i can't make out what piece of rakudo generates that extra decont in my mastref branch :(
17:29 diana_olhovik_ joined #perl6
17:30 TimToady tony-o_: feel free to RT the start caller thing if you haven't already
17:41 vendethiel joined #perl6
17:41 * lizmat will take Madness to the Max on a Fury Road for a bit &
17:42 DrForr I'm going tomorrow night, all indications are it's fun.
18:00 * jnthn back
18:06 dalek nqp: d4e1ae0 | TimToady++ | src/QRegex/P6Regex/Grammar.nqp:
18:06 dalek nqp: Alert user to thinko on quotes in cclasses
18:06 rjbs jnthn: Any sort of p6 events going on around YAPC::Asia?
18:06 dalek nqp: review: https://github.com/perl6/nqp/commit/d4e1ae0497
18:06 * rjbs needs to plan and book his travel, wonders where to pad. :)
18:07 * TimToady is fortunate to be married to his travel agent :)
18:07 jnthn rjbs: Not that I know of.
18:08 jnthn rjbs: I suspect I'll be there not that much longer than the conf
18:08 jnthn For one 'cus I've gotta get back for the Swiss workshop. :)
18:08 rjbs I'll definitely get in a day or two early so I can adjust to the clock.
18:08 TimToady heading straight to Sw...yeah that
18:09 jnthn I'll be heading there via home
18:09 TimToady cheapest fare from .jp to .ch turned out to be Turkish Air
18:10 * jnthn has used Turkish plenty of late
18:10 TimToady though we might have snapped up the last couple seats give or take
18:10 rjbs Every seat in first class has its own samovar?
18:10 cognominal joined #perl6
18:10 jnthn Not the most punctual of airlines, but the food beats the average :)
18:10 TimToady what is the first class of which you speak?
18:11 rjbs TimToady: It's the weird corridor full of enormous chairs that leads to the cabin.
18:11 TimToady ah, I always wondered what those were for
18:11 rjbs I wonder whether I'll ever have enough prestige to get an upgrade to first...
18:11 rjbs TimToady: It's where they seat the samovar maintenance crews.
18:11 dalek nqp: 1022bca | jnthn++ | src/vm/jvm/ (3 files):
18:11 dalek nqp: Implement nqp::neverrepossess on JVM.
18:11 dalek nqp: review: https://github.com/perl6/nqp/commit/1022bca696
18:12 TimToady as far as I know, prestige has little to do with it, compared to money
18:12 rjbs Oh, I just mean frequently flyer miles.
18:12 rjbs (Why did I adverb that?)
18:12 vendethiel joined #perl6
18:15 DrForr Thinko for 'frequently flying'?
18:15 dalek rakudo/nom: 161bc58 | jnthn++ | tools/build/NQP_REVISION:
18:15 dalek rakudo/nom: Bump NQP_REVISION for nqp::neverrepossess.
18:15 dalek rakudo/nom:
18:15 dalek rakudo/nom: And also a MoarVM pre-comp regression fix.
18:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/161bc58fae
18:15 dalek rakudo/nom: 928c9a9 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
18:15 dalek rakudo/nom: Opt PROCESS out of serialization repossession.
18:15 dalek rakudo/nom:
18:15 dalek rakudo/nom: Prevents us screwing up $*OUT and friends when we happen to put stuff
18:15 dalek rakudo/nom: in PROCESS during a module's compile time.
18:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/928c9a9bac
18:16 DrForr . o ( neverrepossess - Someone trying to break the record for doubled letters? )
18:16 jnthn .oO( Dammit, caught again )
18:17 dalek roast: 5fcb855 | jnthn++ | S10-packages/precompilation.t:
18:17 dalek roast: Tests covering RT #125090.
18:17 dalek roast: review: https://github.com/perl6/roast/commit/5fcb855394
18:17 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125090
18:17 TimToady lunch &
18:18 naptastic joined #perl6
18:19 naptastic Do I understand correctly that the distinctions between hashes / hashrefs, and arrays / arrayrefs, have been basically done away with in Perl 6?
18:20 vendethiel naptastic: yes
18:20 naptastic :)
18:20 vendethiel we have itemization instead of references
18:21 vendethiel m: for 1, 2, 3 -> { say $n.perl }; say 'and now...' for (1, 2, 3).item -> $n { say $n.perl };
18:21 camelia rakudo-moar 9c6e70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dnemqM7u7u␤Variable '$n' is not declared␤at /tmp/dnemqM7u7u:1␤------> 3for 1, 2, 3 -> { say 7⏏5$n.perl }; say 'and now...' for (1, 2, 3␤»
18:21 naptastic Is there a good place to read about itemization?
18:21 vendethiel m: for 1, 2, 3 -> $n { say $n.perl }; say 'and now...' for (1, 2, 3).item -> $n { say $n.perl };
18:21 camelia rakudo-moar 9c6e70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6w1DgpZOZU␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/6w1DgpZOZU:1␤------> 3l }; say 'and now...' for (1, 2, 3).item7⏏5 -> $n { say $n.perl };…»
18:22 vendethiel m: for 1, 2, 3 -> $n { say $n.perl }; say 'and now...'; for (1, 2, 3).item -> $n { say $n.perl }; # grr, semicolons!
18:22 camelia rakudo-moar 9c6e70: OUTPUT«1␤2␤3␤and now...␤$(1, 2, 3)␤»
18:22 tony-o_ how do i do an RT?
18:22 vendethiel the first loop iterates 3 times, the second one only once
18:22 gfldex naptastic: you want to look at traits in signatures (is rw, is ro, is copy) and binding (the fancy := operator)
18:22 vendethiel tony-o_: I guess an email to perlbug?
18:22 jnthn tony-o_: Submit one?
18:22 vendethiel gfldex: I don't think so
18:23 tony-o_ ive never used nor do i know what rt is
18:23 vendethiel naptastic: It's a bit moving these days, but I have a part ready for my tutorial that explains how it goes (the perl6 learnxinyminutes, if you've seen it)
18:23 tony-o_ other than a bug tracker
18:23 jnthn tony-o_: It's the bug tracker we use for Rakudo
18:23 jnthn tony-o_: You add a ticket by mailing rakudobug@perl.org
18:23 jnthn tony-o_: Preferably showing code you ran, what it did, and what you expected it to do.
18:24 naptastic I haven't... my job is Perl 5, and I'm finding Perl 6 to be very different and, in many ways, inaccessible, so I'm not spending a ton of time on it.
18:24 tony-o_ ah cool ty
18:30 berekuk joined #perl6
18:30 timotimo naptastic: it'd be nice if you could tell us what things you stumble over when trying to approach it
18:31 naptastic timotimo, There doesn't appear to be a direct, "here is what's different from Perl 5" that's also up-to-date.
18:31 naptastic That's a problem that will solve itself, in time, so I've taken the attitude that I should just wait.
18:32 timotimo the one on perlgeek.de has just been revisited a few months back
18:32 timotimo http://doc.perl6.org/language/5to6 - this should be fine, too
18:32 naptastic Oh cool... I probably haven't seen the updated version then.
18:36 naptastic m: open( my $fh, ">", "/dev/null" ); say ref $fh;
18:36 camelia rakudo-moar 9c6e70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tQE7bIvU1o␤Undeclared routine:␤    ref used at line 1␤␤»
18:37 naptastic m: open( my $fh, ">", "/dev/null" ); say $fh;
18:37 camelia rakudo-moar 9c6e70: OUTPUT«open is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub open at src/RESTRICTED.setting:9␤  in block <unit> at /tmp/dga8XXlXKs:1␤␤»
18:37 * naptastic nods
18:37 timotimo can't do that with the evalbot
18:37 naptastic Very well, then.
18:37 naptastic Makes sense.
18:37 naptastic After all, securitah :)
18:37 naptastic Would be nice to be able to open into a scalar, at least; though I'm sure that's not a super common need.
18:38 timotimo please explain what "open into a scalar" means?
18:38 timotimo i never perl5'd, you see
18:39 masak timotimo: think it means just "store the file handle in a variable". :)
18:39 timotimo oh, that's cute
18:39 timotimo is that what the barewords thing is with perl5?
18:39 timotimo no, not barewords. what was the term?
18:39 timotimo something glob?
18:39 naptastic no, I mean
18:39 naptastic open (my $fh, ">", \$scalar);
18:40 naptastic and if you print {$fh}, the output goes into the scalar.
18:41 naptastic I use it in testing, if some subroutine wants to read a file and I can't guarantee the file exists. "Here's an example of what such a file might look like," I say, handing the subroutine a scalar-ref instead of a filename...
18:54 dalek rakudo/nom: 0960004 | jnthn++ | src/core/Inc.pm:
18:54 dalek rakudo/nom: Remove workaround we (hopefully) don't need.
18:54 dalek rakudo/nom:
18:54 dalek rakudo/nom: The earlier fixes to $*DISTRO and friends in pre-comp mean we should
18:54 dalek rakudo/nom: not need this any more. The various pre-comp spectests continue to
18:54 dalek rakudo/nom: work.
18:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09600046db
18:58 ugexe grammar foo { rule TOP { $<some-token-name>=<alpha>+ ":" <<$some-token-name>> }; token bar { <digit>+ };  }; foo.parse("bar:42").say; foo.parse("bar:xx") # Can I somehow use a stringified match result to use a token/rule of the same name without actions? (so my made up <$<some-token-name>>, if $<some-token-name> was bar, would be parsed as <bar>)
18:59 raiph naptistic: http://stackoverflow.com/questions/28702850/i-can-create-filehandles-to-strings-in-perl-5-how-do-i-do-it-in-perl-6
19:00 raiph er, naptastic ^^
19:00 masak naptastic: I think in Perl 6 one'd... what raiph linked.
19:00 masak well, my suggestion isn't really in that page, so here goes anyway.
19:01 Sqirrel joined #perl6
19:01 masak it's easy to create a class which acts just like an IO::Handle, but which closes over a scalar. so when you print/say things to the object, they end up in the scalar.
19:01 masak let me see if I can produce a small example.
19:06 dalek roast: 7a30e35 | FROGGS++ | S05-mass/properties-general.t:
19:06 dalek roast: add tests for RT #125190
19:06 dalek roast: review: https://github.com/perl6/roast/commit/7a30e3544a
19:06 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125190
19:06 dalek nqp: d5b3a73 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
19:06 dalek nqp: bring ischarclass in line with moar
19:06 dalek nqp: review: https://github.com/perl6/nqp/commit/d5b3a73f9a
19:06 dalek rakudo/nom: 4f69ba1 | jnthn++ | src/core/Inc.pm:
19:06 dalek rakudo/nom: Avoid full init of $*VM at startup.
19:06 dalek rakudo/nom:
19:06 dalek rakudo/nom: We tried this before, but it ran into pre-comp issues. Those are now
19:06 dalek rakudo/nom: hopefully resolved, so let's try it another time. Verified we do not
19:06 dalek rakudo/nom: regress any spectests and that Panda still rebootstraps fine.
19:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4f69ba199f
19:07 dalek rakudo/nom: 7ae5a85 | FROGGS++ | tools/build/NQP_REVISION:
19:07 dalek rakudo/nom: bump nqp/jvm for ischarclass fixes
19:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7ae5a852bb
19:08 masak m: my $scalar; my $fh = IO::Handle.new but role { method print(*@stuff) { $scalar ~= $_ for @stuff }; method print-nl { self.print("\n") } }; $fh.say("OH HAI"); $fh.say("bai bai"); say $scalar
19:08 camelia rakudo-moar 928c9a: OUTPUT«IO::Handle is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/cFN1Y8JZnh:1␤␤»
19:08 masak oh well.
19:08 masak works locally :)
19:08 masak naptastic: ^^^
19:10 FROGGS hoelzro: I expect that the C++ will be merged in at some point
19:11 hoelzro FROGGS: is the work just on MoarVM at this point?
19:11 hoelzro or are there nqp/Rakudo branches as well?
19:12 FROGGS there is stuff in moarvm and rakudo
19:12 bartolin FROGGS: you looked at the failing tests in S24-testing/line-numbers.t this morning. I opened a (trivial) PR (428) for rakudo, which fixes these failures.
19:12 bartolin j: say 1..Any  # would be fixed with PR 429
19:12 camelia rakudo-jvm 928c9a: OUTPUT«Cannot unbox a type object␤␤»
19:13 FROGGS bartolin: hmmm, I dunno if jnthn is working on that too
19:13 dalek rakudo/nom: c9c8faf | usev6++ | src/core/control.pm:
19:13 dalek rakudo/nom: unbust warning for Any as Range endpoint for JVM
19:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9c8faff43
19:13 dalek rakudo/nom: e63369d | FROGGS++ | src/core/control.pm:
19:13 dalek rakudo/nom: Merge pull request #429 from usev6/warnings_jvm_any
19:13 dalek rakudo/nom:
19:13 dalek rakudo/nom: unbust warning for type objects as Range endpoint for JVM
19:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e63369d070
19:16 bartolin FROGGS: no problem, it can wait. just wanted to mention it, so that you or someone else don't have to spend time on that
19:17 FROGGS bartolin: yes, also there is a chance that your patch is the right fix :o)
19:17 bartolin *g*
19:17 hoelzro FROGGS: ok ,thanks
19:18 hoelzro I want to do something with a C++ library (Xapian), so I figured I could start playing with it
19:18 FROGGS hoelzro: I'd be happy if union would go in this week... the C++ stuff needs more work to be mergeable
19:18 hoelzro FROGGS: the cpp branch can be ignored, right? it's cpp2 that matters?
19:18 jnthn FROGGS, bartolin: Currently spectesting what I think was the right fix for the thing that I believe busted line number reproting
19:19 FROGGS hoelzro: correct
19:19 sunnavy joined #perl6
19:19 bartolin jnthn++
19:19 hoelzro FROGGS: well, if I play with it, I can help find issues, or maybe even submit fixes if I'm capable =)
19:19 jnthn But it doesn't fix the line numbers. Hm.
19:20 DrForr hoelzro: I'm headed to bed here, but https://github.com/drforr/perl6-readline is documented and reasonably ready to roll. There's a bunch of stuff inside that's untested, and I need to figure out how to bind the rl_input_fh and output_fh to perl6 before I can write proper tests, but feel free to look it over.
19:20 FROGGS hoelzro: I removed MoarVM/cpp btw
19:20 FROGGS hoelzro: would be nice if you'd play with it :o)
19:20 hoelzro DrForr: cool, I'll try to look at it!
19:20 FROGGS hoelzro: there are cpp tests in rakudo/t/04-nativecall/
19:21 FROGGS jnthn: maybe PR 428 is sensible after all?
19:21 DrForr The script in examples/ does everything I've been able to do with it so far, but I haven't extensively written up testing stuff, and no callbacks yet.
19:21 hoelzro FROGGS: I'll give it a shot, thanks!
19:22 hoelzro DrForr: we'll need the callbacky stuff for REPL integration
19:22 hoelzro well, that's a lie
19:22 jnthn FROGGS: Looking. My fix does deal with the actual goal
19:22 hoelzro we can use it without enabling the tab completion stuff
19:22 jnthn FROGGS: That is, it fixes the thing you gave me this morning.
19:22 FROGGS hoelzro: I'd be happy to implement stuff for you if you need something
19:23 DrForr hoelzro: Yeah, I need to look at that next, just to have a wider variety in the testing suites. I'l look at it this weekend probably.
19:23 hoelzro FROGGS: I'll try it out and let you know
19:23 hoelzro DrForr: I'll try it out and see how hard it would be to tie into the REPL
19:23 jnthn FROGGS, bartolin: I think the pull request actually is needed in addition to my fix
19:23 jnthn TimToady's got righter semantics but in a less-than-ideal way
19:24 FROGGS that's why he pinged you
19:24 jnthn The PR brings Test.pm in line with the correct semantics, which I'm maintaining.
19:24 DrForr Cool. I'm usually around from 10am-6pm UTC+2, then break or supper, and popping up bak at home.
19:24 FROGGS jnthn: that's proper collab :o)
19:24 dalek rakudo/nom: 8e65a32 | usev6++ | lib/Test.pm:
19:24 dalek rakudo/nom: Fix reported line numbers for failing tests
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8e65a321a2
19:24 dalek rakudo/nom: 965237f | jnthn++ | lib/Test.pm:
19:24 dalek rakudo/nom: Merge pull request #428 from usev6/line_numbers
19:24 dalek rakudo/nom:
19:24 dalek rakudo/nom: Fix reported line numbers for failing tests
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/965237f889
19:25 [Coke] repeat question: is anyone using panda in a ./install directory? I keep getting errors.
19:25 [Coke] now getting Missing or wrong version of dependency 'src/gen/m-CORE.setting' trying to use 'panda install Linenoise'
19:26 FROGGS I've not used/installed panda since two weeks or so
19:26 dalek rakudo/nom: e8fdad7 | jnthn++ | src/ (2 files):
19:26 dalek rakudo/nom: Make CALLER ignore gen'd protos a better way.
19:26 dalek rakudo/nom:
19:26 dalek rakudo/nom: This avoids the need for extra code in the CALLER:: implementation by
19:26 dalek rakudo/nom: using the same mechanism that makes explicit onlystar protos be
19:26 dalek rakudo/nom: skipped over.
19:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8fdad7545
19:29 * jnthn wonders if any tests got added for the CALLER/proto thing he just fixed...
19:30 spider-mario joined #perl6
19:30 jnthn Well, fixed the fix for :)
19:31 FROGGS jnthn: btw, I'd be ready for serialization stuff when you are :o)
19:32 jnthn FROGGS: OK, I'll make a cup of tea and then I'm ready :)
19:33 FROGGS \o/
19:33 * FROGGS asked $wife for tee via irc - life is good
19:33 FROGGS tea*
19:34 FROGGS 1) checkout jsoff in MoarVM, nqp and rakudo, and rebuild all the things
19:37 timotimo 0.07user 0.01system 0:00.09elapsed 100%CPU (0avgtext+0avgdata 60544maxresident)k
19:37 timotimo ^- perl6 -e 'say 1'
19:37 FROGGS timotimo: is that good or bad?
19:37 timotimo i think it's rather good
19:37 FROGGS okay :o)
19:37 FROGGS I don't monitor that
19:38 hoelzro FROGGS: I'm probably going to merge nom/master into cpp/cpp2; is it alright for me to push those merges?
19:38 FROGGS hoelzro: sure
19:41 timotimo used to be 0.13 elapsed and 68.3mb
19:41 FROGGS ohh nice
19:41 FROGGS that's quite an improvement
19:42 jnthn FROGGS: Building the jsoff branches at the moment
19:42 FROGGS k
19:45 JimmyZ ./perl6-m -e0  0.12s user 0.02s system 99% cpu 0.147 total
19:45 JimmyZ was 0.2
19:46 jnthn FROGGS: All built. Next? :)
19:46 FROGGS jnthn: go to you rakudo dir, and run: perl6 ser.pl
19:46 FROGGS jnthn: [] is the object to be serialized, after that is the string heap
19:47 jnthn ===SORRY!===
19:47 jnthn Bytecode stream version too high
19:47 FROGGS O.o
19:47 jnthn ah
19:47 jnthn it's better after "make install" :)
19:47 FROGGS jnthn: do you have a TEST_FILE in there by... ahh!
19:47 FROGGS :D
19:47 FROGGS so, you see the string heap?
19:49 FROGGS (the stuff after the word "serialize")
19:49 jnthn ah, that's what it is
19:49 FROGGS yeah
19:49 FROGGS run ser.pl one more time
19:49 FROGGS you'll see the string heap again (after "dersialize")
19:49 zoosha joined #perl6
19:50 FROGGS then the objects of the sc and then the modified object
19:50 FROGGS and then you see a truncated string heap after "serialize"
19:50 jnthn yes, and then a bunch of nuke lines
19:50 jnthn And then a [42]
19:50 FROGGS and the truncated string heap is the problem
19:50 FROGGS [42] is the desialized object we pushed to
19:50 FROGGS look at ser.pl
19:51 jnthn Looking, but I don't get an explosion...
19:51 jnthn oh, I do the third time
19:51 FROGGS I'll explain
19:51 FROGGS right
19:51 jnthn ("Probable version skew in Ser.pm)
19:51 FROGGS since we now serialized a truncated string heap, we cannot serialize it this time
19:51 FROGGS deserialize*
19:52 FROGGS jnthn: when you change $a.push to $a.unshift it works
19:52 FROGGS because push_o in interp.c has a WB check and unshift does not
19:53 FROGGS jnthn: but, you need to delete TEST_FILE after such a "crash"
19:53 jnthn *nod*
19:53 pmichaud_ good morning, #perl6
19:53 FROGGS so, what does that mean that hitting such a WB makes this kind of trouble?
19:53 pmichaud_ er, good afternoon
19:53 FROGGS hi pmichaud_
19:53 FROGGS hi pmichaud* :o)
19:54 jnthn FROGGS: Hm, why can I not find scdisclaim in the Moar source tree?
19:54 jnthn oh, 'cus you didn't call it that yet :)
19:54 vendethiel \o pmichaud
19:54 jnthn o/ pmichaud
19:54 jnthn Hope the journey home was easy
19:55 FROGGS jnthn: because the op is (wrongly) called nukescidx
19:55 pmichaud yes, no problems with the journey home.  Mainly I've just needed to catch up on sleep since then.  :)
19:55 FROGGS it will get the correct name when I reapply the code to moar/master
19:56 cognominal joined #perl6
19:58 FROGGS what I don't understand with the WB in push_o is that the condition in the check in MVM_SC_WB_OBJ for the sc_idx should not become true
20:02 jnthn FROGGS: Yeah, exploring what's going on...
20:02 FROGGS MVM_get_idx_of_sc is 0 for all 5 objects in my SC, just added debug output for that
20:07 * raydiak thinks we should stop living in big cities and break back up into communal villages and nomadic hunter-gatherer tribes so he doesn't have to fight this fu^Wcar any more :)
20:07 FROGGS raydiak: I don't even have a car :o)
20:08 bartolin m: my $str = "abc"; my $re  = { $str ~~ s:Perl5/^(.)/{ state $svar; ++$svar; }/; }; $re(); $re(); say $str
20:08 camelia rakudo-moar e8fdad: OUTPUT«2bc␤»
20:08 raydiak FROGGS: then you likely pay a lot more for your transportation than the rest of us, or Gernamy is very different from where I am :)
20:08 raydiak *Germany
20:08 vendethiel bartolin: `state $++` :P
20:08 FROGGS raydiak: I walk 1000m to $work :P
20:08 bartolin ^^ "2bc" is the correct result, isn't it?
20:09 [Coke] FROGGS: "that's a lot of miles, pardner" </clueless american>
20:09 raydiak FROGGS: that's quite commendable and a direction I may head.  :)  carried a car battery more than a mile over the last two days just to have it die on me again :P
20:09 bartolin vendethiel: yes. I copied the code from S04-declarations/state.t
20:10 raydiak (car battery with no carrying handle)
20:10 * raydiak thought about using rope but decided to build up the shoulder muscles instead
20:10 FROGGS raydiak: either way that thing does not want to be carried :o)
20:10 [Coke] (I drive 14.7mi. I should really think about biking now that the weather's decent.)
20:10 pmichaud I currently walk 20m to work.
20:10 lichtkind_ joined #perl6
20:11 FROGGS pmichaud: and you don't check the weather report before dressing up for $work?
20:11 raydiak FROGGS: I see now why physicists call it "work" :)
20:11 FROGGS heh
20:11 andreoss joined #perl6
20:12 pmichaud FROGGS: correct, I don't check the weather report for that.
20:15 FROGGS I work from home only every once in a while
20:15 FROGGS and I am usually more productive that way, but for that the kids have to cope
20:16 FROGGS which is what they do now because they sleep :o)
20:16 FROGGS pesky little things :o)
20:19 jnthn FROGGS: Patches pushed to MoarVM/jsoff that resolve the issue.
20:19 raiph joined #perl6
20:19 FROGGS O.O
20:20 jnthn FROGGS: Well, one resolving it, another is to push you in the right direction on something else that'll need fixing.
20:20 raydiak FROGGS: I know you have been involved with S22 implementation...have you seen my versioning question in the backlog? http://irclog.perlgeek.de/perl6/2015-05-14#i_10600513
20:21 FROGGS jnthn: awesome!
20:21 dalek roast: de2e5ea | usev6++ | S04-declarations/state.t:
20:21 dalek roast: Fix and unfudge test for state() inside regex
20:21 dalek roast: This test failed because it assumed +'3foo' evaluating to 3
20:21 dalek roast: review: https://github.com/perl6/roast/commit/de2e5eaa77
20:21 andreoss m: say [-] -1
20:21 camelia rakudo-moar e8fdad: OUTPUT«-1␤»
20:21 jnthn FROGGS: Please give it a spin and see if it helps :)
20:21 jnthn FROGGS: I've got a lot of 42s now though :)
20:22 FROGGS it seems to help!!!
20:22 FROGGS *g*
20:22 jnthn \o/
20:22 * FROGGS is happy
20:22 jnthn Does that sufficiently unblock you for now?
20:23 FROGGS jnthn: I did know about the overflow index stuff, but I guess I would have forgotten to do that when cleaning it up
20:23 airdisa joined #perl6
20:23 FROGGS jnthn: I guess so
20:23 FROGGS need to check that with panda
20:24 FROGGS doing that atm
20:24 virtualsue joined #perl6
20:24 FROGGS uhh, panda is still upset
20:25 jnthn .oO( sadpanda )
20:26 virtualsue_ joined #perl6
20:26 FROGGS the behaviour with panda is identical to before...
20:26 FROGGS the third MANIFEST file is truncated
20:26 FROGGS or rather the second...
20:27 jnthn :(
20:27 andreoss examples.perl6.org seems to be stuck
20:28 FROGGS jnthn: I try to debug it
20:29 FROGGS raydiak: I'll look into that later
20:29 jnthn FROGGS: OK, thanks.
20:33 raydiak FROGGS: thanks :)  was just a thought, even thought maybe there was already some way I didn't know about, but if it's a new idea.../me thinks this one is worth considering
20:34 * lizmat is back
20:34 lizmat a better title would have been "there and back again"
20:35 FROGGS raydiak: the goal is to support that, that's why I put to versions of Foo in the ecosystem... for testing and implementing that
20:35 FROGGS li lizmat
20:35 FROGGS hi*
20:35 lizmat FROGGS o/
20:35 jnthn wb lizmat
20:36 lizmat if you're in for mindless spectacle, a lot of fire and dust, Fury Road is the place to be
20:37 raydiak FROGGS: cool...then you and the rest of #perl6 is more than one step ahead of me as usual, and all is right with the world ha ha :)
20:37 FROGGS raydiak: not quite... it still needs doing :o)
20:39 raydiak FROGGS: is there anything not tremendously complex that I might not mess up relative to a sane person's expectations, that I could help with?
20:39 yqt joined #perl6
20:39 andreoss m: my @array := [ for ^3 { [ for ^5 { '@' } ] } ]; say @array[1][1].perl;
20:40 camelia rakudo-moar e8fdad: OUTPUT«"\@"␤»
20:40 raydiak a lot of what I write is "experimental" so I have this mental conundrum all the time
20:40 raydiak about versioning, I mean
20:40 FROGGS raydiak: try to make 'panda search Foo' list both
20:40 andreoss m: my @array := [ for ^3 { [ for ^5 { '@' } ] } ]; say @array[(^3).pick(1)][(^5).pick(1)].perl;
20:40 camelia rakudo-moar e8fdad: OUTPUT«(Nil,)␤»
20:41 raydiak FROGGS: by pulling a list of the git tags?
20:41 FROGGS raydiak: no, both Foo's have a version in their META.info
20:42 raydiak FROGGS: so we'd put a separate ecosystem entry for each version we want to provide?
20:43 raydiak ecosystem entry as in META.list
20:43 FROGGS raydiak: no, but handing two Foo's from distinct URLs is the first (and easier) step
20:43 raydiak that makes sense
20:44 FROGGS if that works you can split a repo into several releases, if the repo has tags
20:45 andreoss should .pick(1) return a List?
20:45 * raydiak is giving himself a day off after mechanical hell and not doing really anything now, but writes that at top of his list to at least look at and see if he comes up with an implementation strategy
20:46 masak andreoss: I think "no", because .pick() defaults to .pick(1), which shouldn't return a List in general
20:46 raydiak FROGGS: also, it'll break all kinds of other things like cpandatesters but I guess we worry about that later
20:46 andreoss m: say (^10).pick.WHAT
20:46 camelia rakudo-moar e8fdad: OUTPUT«(Int)␤»
20:46 andreoss m: say (^10).pick(1).WHAT
20:46 camelia rakudo-moar e8fdad: OUTPUT«(List)␤»
20:46 FROGGS raydiak: why should it?
20:47 raydiak oh, I guess they're all broken down by author too already, aren't they?
20:47 jnthn m: say (^10).pick.WHAT
20:47 camelia rakudo-moar e8fdad: OUTPUT«(Int)␤»
20:47 FROGGS raydiak: correct :o)
20:47 jnthn .pick and .pick(n) are different candidates
20:47 yoleaux jnthn: You must provide at least two options.
20:48 jnthn .pick shutting up or getting kicked
20:48 yoleaux jnthn: You must provide at least two options.
20:48 FROGGS :P
20:48 FROGGS .pick: be nice
20:48 jnthn .pick($n) should return a List even if it's 1, 'cus otherwise you're an odd discountinuity
20:48 raydiak FROGGS: I mean, I think a lot of the things we have in place might not consider this yet...also, idk about you, but I do plan to be the same author for different versions of my module :)
20:49 FROGGS hmmm
20:49 jnthn uh, *you've
20:49 raydiak but I'm sure I'm getting way ahead of myself, won't even think further about it for now
20:49 jnthn I think this was discussed recently.
20:49 timotimo i'm very glad jsoff got unblocked \o/
20:49 FROGGS raydiak: correct... though testers.perl6.org can handle all that
20:50 andreoss jnthn: Int could be autovivified into List if need
20:50 raydiak FROGGS: neat :)
20:50 andreoss *needed
20:51 masak m: my @ints = -3, -4, -5; say @ints.pick.abs
20:51 andreoss or not?
20:51 camelia rakudo-moar e8fdad: OUTPUT«4␤»
20:51 masak jnthn: I expect the above to behave like it does, though
20:51 timotimo eew, don't pick my abs
20:52 jnthn andreoss: Not really. What if you're passing it to something that wants to bind it to an @foo arg?
20:53 jnthn andreoss: Worse, what if you had a list of lists, and did .pick? Suddenly your one item case gives you one of the inner lists and you can't tell the difference.
20:53 tony-o_ m: my Int @r = 1,2,3; @r.pick(1).join(',').say;
20:53 camelia rakudo-moar e8fdad: OUTPUT«1␤»
20:53 tony-o_ m: my Int @r = 1,2,3; @r.pick(2).join(',').say;
20:53 camelia rakudo-moar e8fdad: OUTPUT«3,2␤»
20:54 tony-o_ m: my Int @r = 1,2,3; @r.pick(1).map({ die $_; }).say;
20:54 camelia rakudo-moar e8fdad: OUTPUT«1␤  in block <unit> at /tmp/sy0n83BE8M:1␤␤»
20:54 tony-o_ m: my Int @r = 1,2,3; @r.pick(1).map({ die $_; }).say;
20:54 camelia rakudo-moar e8fdad: OUTPUT«1␤  in block <unit> at /tmp/o3eBTRV_Dg:1␤␤»
20:55 masak just pointing out that I've occasionally been bitten by very surprising behavior introduced by thinking like "it should return a List even if it's 1"
20:55 masak as far as I can tell, Perl 6 doesn't run on that particular kind of consistency.
20:55 masak instead, it tries to make non-Lists look very much like 1-element Lists.
20:55 masak m: say 42[0]
20:55 camelia rakudo-moar e8fdad: OUTPUT«42␤»
20:55 tony-o_ that kind of consistency isn't common in spoken language anyway
20:56 masak m: say "OH HAI".elems
20:56 camelia rakudo-moar e8fdad: OUTPUT«1␤»
20:56 tony-o_ how many data is that
20:57 jnthn masak: You just used two cases of item promoting to a single-item list, but the topic at hand is in the opposite direction, so they're not really relevant.
20:58 pmichaud lizmat++ asked me this question in Oslo, and I came down pretty strongly on the side of   pick($n) should always return a List.
20:58 pmichaud the fact that some scalar values autopromote to List doesn't resolve the problem, because we also have to worry about the (user-defined) types that might not.
20:59 masak let me see if I understand you correctly.
20:59 pmichaud and, the bigger problem is when picking from a list of lists, or a list of mixed scalars-and-lists
20:59 jnthn We long ago decided not to keep the thing where a one-item Parcel dissolved into that item, as I remember it.
20:59 masak you're proposing breaking the current behavior of .pick() for consistency
20:59 * vendethiel thinks .pick should return an item, and .pick($n) a list as well
20:59 tony-o_ vendethiel++
21:00 masak so that all current code that relies on .pick not being a list will have to be rewritten to .pick[0]
21:00 pmichaud I don't know that that's what I'm proposing.  I don't know where it's been established that   .pick() should be the same as .pick(1).
21:00 pmichaud I'm okay with  .pick() returning a single element, while .pick($n) returns a list.
21:00 jnthn masak: .pick returns a single elemnt, as we just saw
21:00 jnthn masak: And .pick($n) a list
21:00 masak ok, so .pick() just becomes distinct from .pick(1) -- ok
21:00 masak I'm less against that. :)
21:01 FROGGS jnthn: seems I can serialize the data from with CUR::Installation when I push it through to-json/from-json first...
21:01 pmichaud I do know that having   .pick($n)  do different things depending on the value of $n is a Bad Idea.
21:01 FROGGS jnthn: so I might have some object in the structure that do not like serializing
21:01 pmichaud I also know that   Bool.pick   probably doesn't want to return a List
21:03 jnthn FROGGS: Maybe, yeah...guess that can be golfed
21:03 TimToady goodness, I go away to lunch and buy groceries, and a Backlog happens!
21:03 dalek rakudo/nom: d4cf248 | lizmat++ | src/core/ (2 files):
21:03 dalek rakudo/nom: Hide internal sub "hyper" by uppercasing it
21:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d4cf248954
21:05 raydiak welcome back o/
21:06 masak we baked you some backlog <3
21:07 TimToady looks more like backlava
21:07 tony-o_ nice
21:10 raydiak welll...good enough to trigger my hunger reflex...lunch &
21:11 dalek roast: f6fb6ab | usev6++ | S02-magicals/dollar-underscore.t:
21:11 dalek roast: Fix and unfudge test for implicit param in pointy block
21:11 dalek roast: The test code dies and should die -- so I changed the test accordingly
21:11 dalek roast: review: https://github.com/perl6/roast/commit/f6fb6ab810
21:12 dalek perl6-examples: 98bb438 | (Andrei Osipov)++ | categories/best-of-rosettacode/create-a-two-dimensional-array-at-runtime.pl:
21:12 dalek perl6-examples:  .pick(1) returns a List now. Change to .pick
21:12 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/98bb438c52
21:12 dalek perl6-examples: 8ce3b7a | (Andrei Osipov)++ | t/categories/best-of-rosettacode.t:
21:12 dalek perl6-examples: Nil was passed to qqx{}
21:12 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/8ce3b7a6c3
21:15 pippo joined #perl6
21:15 pippo r: say "a" ~~ /<:alpha>/;
21:15 camelia rakudo-{moar,jvm} e8fdad: OUTPUT«「a」␤»
21:18 FROGGS :o)
21:18 pippo :-))
21:20 timotimo what exactly had been the problem with rakudo-j on the evalbot?
21:20 vendethiel ooh, that's how the pick() sub shuld be called? hehe
21:20 FROGGS timotimo: <:alpha> did not work
21:20 vendethiel timotimo: OOM?
21:20 vendethiel ah
21:20 timotimo didn't the -j always immediately error out just a few days ago?
21:22 pippo timotimo: yes I remember it was not working at all.
21:22 zacts joined #perl6
21:22 zacts hello
21:23 zacts I'm going to be studying some programming language design
21:23 zacts and some basic linguistics for fun
21:23 zacts I got some books
21:23 zacts but they are mostly lisp books
21:23 zacts I wonder which resources may be helpful for eventually hacking on rakudo
21:23 zacts (or even an alternate implementation)
21:23 jercos probably all of them
21:23 zacts I do know of appel too
21:23 zacts ok
21:23 andreoss m: use warnings;
21:23 camelia rakudo-moar d4cf24: OUTPUT«===SORRY!===␤Could not find warnings in any of:␤  file#/home/camelia/.perl6/2015.04-260-gd4cf248/lib␤  inst#/home/camelia/.perl6/2015.04-260-gd4cf248␤  file#/home/camelia/rakudo-inst-2/share/perl6/lib␤  file#/home/camelia/rakudo-inst-2/share/perl…»
21:23 FROGGS jnthn: I was able to bootstrap panda :S
21:24 jercos I mean, that's just my opinion, a great amount of general programming knowledge can come from specific teachings about unrelated languages.
21:24 zacts I don't mean to just read books too, I just didn't know if any stood out as great compiler / interpreter design and implementation books
21:24 zacts jercos: I'm reading a bunch of lispy MIT Press language design books first
21:25 zacts as lisp is so easy to parse, and I can implement language semantics without a ton of parsing
21:25 jnthn FROGGS: Why is success so ":S"? :)
21:25 FROGGS jnthn: I had to also scdisclaim the sc I create in serialize, because otherwise it would refer to that SC when we serialize again in the same process
21:25 FROGGS jnthn: because I can't believe it :o)
21:25 zacts but I'm really interested in the practicality of perl5 and perl6 (I'm afraid of perl5 src, but perl6 seems more well designed for newbies to get involved with core rakudo hacking)
21:25 FROGGS I've got mixed feeling, is all :o)
21:25 zacts I just love perl and regex, and the way it maps to my brain
21:25 jnthn FROGGS: :)
21:26 cognominal what is the appropriate way to augment par of the setting without getting an "is closed". In  other words, I want in some places an augmented setting.
21:26 cognominal *augment part of the setting
21:26 jercos zacts: I agree with your observation, perl 5 is difficult to get into the source of, perl 6 is much more transparent.
21:26 jnthn zacts: There is an NQP and Rakudo internals tutorial
21:26 zacts oh neat
21:26 FROGGS next up is making the string heap sane, cleaning up moar and implementing the json fallback (for when we recompile rakudo)
21:26 FROGGS but that happens tomorrow
21:26 FROGGS jnthn: thanks a lot btw
21:26 zacts is the tutorial the github one?
21:26 jnthn zacts: https://github.com/edumentab/rakudo-and-nqp-internals-course/
21:26 jnthn There's PDFs
21:27 zacts yeah
21:27 zacts cool
21:27 zacts thanks man!
21:27 jnthn (linked in the README)
21:27 Erendis42d joined #perl6
21:27 Erendis42d re!
21:27 jnthn There's even a set of exercises with sample solutions. :)
21:27 jnthn FROGGS: Welcome...rest well :)
21:27 cognominal jnthn++  # I am rereading it. It's great.
21:28 zacts I'm also working through a few MIT opencourseware linguistics courses and books
21:28 zacts anyway, I may try to make a Perl6 minikanren module
21:28 zacts http://minikanren.org
21:28 zacts ^ minikanren is a DSL for logic programming
21:29 zacts although, indeed this would be at the level of Perl6 and not the interpreter
21:29 cognominal btw, as a sequitur to my question? is there a tutorial about this setting business. The stuff in S02 about all theses pseudo packages makes me dizzy.
21:29 zacts anyway, heading to a music lesson. laters
21:29 zacts and thanx
21:30 jnthn cognominal: RESTRICTED.setting is one example in the Rakudo repo
21:31 cognominal jnthn, thx
21:33 japhb jnthn: Did you happen to look at the OO::Monitors problem?  (I see a lot of MoarVM commits today, so I figure you're probably deep on that, but just in case ....)
21:34 jnthn japhb: Didn't get to it today, though have been fixing other conc related issues
21:34 jnthn japhb: Doing Perl 6 things tomorrow
21:34 andreoss jnthn: is there a doc like that about Slangs?
21:34 jnthn japhb: So will get to it then
21:35 jnthn andreoss: Not that I'm aware of.
21:35 japhb jnthn: Oh, cool!
21:35 aindilis joined #perl6
21:39 colomon_ joined #perl6
21:40 TimToady m: /<["a".."z"]>/
21:40 camelia rakudo-moar d4cf24: OUTPUT«Potential difficulties:␤    Quotes are not metacharacters in character classes␤    at /tmp/hBmAireBVd:1␤    ------> 3/<7⏏5["a".."z"]>/␤    Repeated character (") unexpectedly found in character class␤    at /tmp/hBmAireBVd:1␤    ------> …»
21:42 timotimo m: /<-[ ]>/
21:42 camelia rakudo-moar d4cf24: OUTPUT«===SORRY!===␤Iteration past end of iterator␤»
21:42 timotimo TimToady: fix this? :)
21:42 timotimo i seem to recall you worked on this kind of thing recently?
21:43 TimToady well, that's a poorly worded syntax error :)
21:43 colomon joined #perl6
21:43 TimToady m: /<-[ ]>/ ]> /
21:43 camelia rakudo-moar d4cf24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2bV4l4P0lY␤Unexpected closing bracket␤at /tmp/2bV4l4P0lY:1␤------> 3/<-[ ]>/ 7⏏5]> /␤»
21:44 TimToady hmm, maybe not
21:44 masak std: /<-[ ]>/
21:44 camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
21:44 masak why should it be a syntax error, ooc?
21:44 TimToady was thinking it was doing the ignore ] and - if first char thing
21:45 TimToady std: /<-[-]>/
21:45 camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
21:45 TimToady m: /<-[-]>/
21:45 camelia rakudo-moar d4cf24: ( no output )
21:45 TimToady I guess it does with -
21:45 TimToady m: /<-[]]>/
21:45 camelia rakudo-moar d4cf24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mtE75fr66_␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/mtE75fr66_:1␤------> 3/<-[]7⏏5]>/␤    expecting any of:␤        term␤»
21:45 TimToady but not with ]
21:45 timotimo OK, sorry :)
21:46 TimToady I was just working on the error message when it notices duplicate chars
21:47 TimToady since |Tux| wanted it to guess what he was thinking
21:47 cognominal joined #perl6
21:48 TimToady m: /<['a'..'z']>/
21:48 camelia rakudo-moar d4cf24: OUTPUT«Potential difficulties:␤    Quotes are not metacharacters in character classes␤    at /tmp/fPxWQbL1GK:1␤    ------> 3/<7⏏5['a'..'z']>/␤    Repeated character (') unexpectedly found in character class␤    at /tmp/fPxWQbL1GK:1␤    ------> …»
21:48 masak nice.
21:49 TimToady wish I could move the eject over one, but it's a low-level nqp error really
21:49 Erendis42d aaaw
21:49 vendethiel is there a difference between "at the moment" and "at this moment" in english?
21:49 masak I like how Perl 6 often turns user confusion into informative error messages.
21:49 TimToady a slight difference
21:50 vendethiel masak: rust also does a really good job!
21:50 vendethiel only think I regret in rust error messages is that it's often a bit *too* wordy when explaining, say, how some code was macro-generated, including all the innerworking parts
21:50 masak vendethiel: I can imagine. gotta try Rust.
21:51 TimToady "at the moment" is vanilla for 'currently' or 'in constrast to some other time'
21:51 TimToady "at this moment" would be a marked form emphasizing this moment to the exclusion of any other moment
21:52 [Tux] TimToady++; # clear error messages!
21:52 vendethiel TimToady++ # teaching me proper use
21:58 masak 'night, #perl6
21:58 Erendis42d <3
22:02 timotimo so ... did anybody try the Proc::Async workload again with newest rakudo?
22:02 TimToady I tried it this morning and it failed, lemme try now
22:03 jnthn Some of the exceptions you ended up with are ones I managed to make go away, but I've still got crashes in the IO::Socket::Async under load.
22:04 jnthn And the next issue looked like a parallel GC issue. "Fun!"
22:05 TimToady restart-concurrent still has about 5 failure modes
22:05 jnthn Well, that's down from 8 or so :)
22:05 TimToady P6opaque: no such attribute '$!tappers_lock' is the most common
22:05 jnthn ooh
22:05 jnthn Is the latest restart-concurrent somewhere somewhere?
22:05 jnthn uh, one somewhere :)
22:06 jnthn ...damn, now I have data races too :P
22:06 TimToady there's a github of it, though you have to remove a spurious return
22:06 timotimo a gist*
22:07 TimToady https://raw.githubusercontent.com/kgoess/restart-concurrent/master/restart.p6 is the original
22:08 TimToady my copy is identical except for s/'return %result'/%result/
22:09 TimToady it also does: *** Error in `/home/larry/nom/install/bin/moar': double free or corruption (fasttop): 0x00000000021ae9a0 ***
22:10 TimToady and sometimes Cannot invoke this object (REPR: Null)
22:10 TimToady and occasionally just hangs
22:11 TimToady oh, and once I got This representation (Null) does not support elems
22:11 jnthn Ugh
22:11 jnthn But yeah, reproduced here
22:12 TimToady it's a really good test case, for some definition of good that ain't :)
22:12 TimToady looks slightly *nix centric, I guess
22:13 TimToady but I suspect it doesn't much matter what commands are run
22:13 jnthn Yeah, I tweaked them all to Windows equivs
22:14 TimToady I think once in the last 100 times I've run it, I got the actual desired output, which is something...
22:16 rhr joined #perl6
22:16 dolmen joined #perl6
22:16 * TimToady hopes he didn't hang the jnthn process...
22:18 jepeway joined #perl6
22:18 zacts ok /me installs rakudo Perl6 on debian jessie
22:20 lizmat and /me goes to bed, so good night, #perl6!
22:21 andreoss [ptc]: how often are perl6-examples web pages updated?
22:21 LordV joined #perl6
22:22 jnthn TimToady: No, though I think I may synchronously spawn a sleep process for some hours... :)
22:22 Erendis42d left #perl6
22:23 andreoss the (some) tests pass, but the content was updated a week ago
22:27 Erendis42d joined #perl6
22:32 Erendis42d <3
22:39 Erendis42d brb
22:39 Erendis42d left #perl6
22:52 Erendis42d joined #perl6
22:52 rjbs On http://doc.perl6.org/language/variables#The_!_Twigil the link to "objects"  is broken
22:53 rjbs links to /routine/objects but should be /language/objets
22:53 rjbs *objects
22:53 Ulti joined #perl6
22:56 pippo left #perl6
22:59 tony-o_ m: my Buf $a .=new(1,2,3); my Buf $b .=new(2); say $a ~~ / $b /;
22:59 camelia rakudo-moar d4cf24: OUTPUT«Cannot use a Buf as a string, but you called the Str method on it␤  in block <unit> at /tmp/pSCNylN1ut:1␤␤»
23:09 airdisa joined #perl6
23:12 airdisa joined #perl6
23:14 andreoss joined #perl6
23:20 telex joined #perl6
23:20 skids joined #perl6
23:42 rjbs It's not a big deal, but:  is there a way to get a hashlike where the keys come out as ints?  Or a sparse array?
23:45 itz_ joined #perl6
23:53 vendethiel joined #perl6
23:54 rjbs "bindpos expected object register" ??
23:57 rjbs m: subset ZSCII-Char of uint16 where * < 2 ** 10; constant ZSCII-Buf = Buf[ZSCII-Char]; my $b = ZSCII-Buf.new; $b[ +* ] = 0
23:57 camelia rakudo-moar d4cf24: OUTPUT«MVMArray: bindpos expected object register␤  in block <unit> at /tmp/C03O6YdWXx:1␤␤»
23:57 rjbs IDGI.
23:59 itz joined #perl6

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

Perl 6 | Reference Documentation | Rakudo