Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-04

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:02 jnap joined #perl6
00:06 timotimo jvm-sockets is 3 weeks old, is there something newer up on github to try?
00:07 dayangkun joined #perl6
00:07 timotimo the network graph up on github seems b0rked somehow
00:07 timotimo it's empty
00:08 timotimo works in firefox, though
00:15 araujo joined #perl6
00:15 TimK1 joined #perl6
00:20 TimK1 rn: sub infix:<add> (@a, $n) is equiv<X> { @a <<+>> $n }; say 1 .. 3 add 5;
00:20 camelia niecza v24-92-g3961d5d: OUTPUT«6 7 8␤»
00:20 camelia ..rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5w0Zggre2Nâ�¤Can't use unknown trait 'is equiv' in a sub+{precedence} declaration.â�¤at /tmp/5w0Zggre2N:1â�¤------> â�¤    expecting any of:â�¤        rw parcel hidden_from_backtraceâ�¤        pure default DEPRECATE inl…
00:21 TimK1 rn: sub infix:<add> (@a, $n) is equiv(&infix:<X>) { @a <<+>> $n }; say 1 .. 3 add 5;
00:21 camelia niecza v24-92-g3961d5d: OUTPUT«6 7 8␤»
00:21 camelia ..rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/J6R82sHIP7�Routine given to equiv does not appear to be an operator�at /tmp/J6R82sHIP7:1�------> �»
00:21 TimK1 rn: sub infix:<add> (@a, $n) is equiv(&infix:<+>) { @a <<+>> $n }; say (1 .. 3) add 5; # definitely not what I wanted
00:21 camelia rakudo 484f08, niecza v24-92-g3961d5d: OUTPUT«6 7 8␤»
00:21 sizz joined #perl6
00:23 TimK1 "is equiv" ov Rakudo seems to behave equally strangely for a bunch of operators.
00:26 timotimo r: say 1 .. 3 X 5
00:26 camelia rakudo 484f08: OUTPUT«1 5 2 5 3 5␤»
00:27 timotimo i see what you mean
00:27 timotimo but yeah, i think infix:<X> is a bit slippery
00:31 TimK1 My thought was, in general, if I create a custom list infix operator, I probably want it to behave with list-infix precedence. So 1..3 FOO 5 should act the same as 1..3 X 5, 1..3 Z 5, 1..3 minmax 5, etc.
00:35 dalek roast: a01bfab | coke++ | S05-substitution/subst.t:
00:35 dalek roast: start lines with test verbs for fudging
00:35 dalek roast: review: https://github.com/perl6/roast/commit/a01bfabd5f
00:35 dalek roast: 29b2876 | coke++ | S (3 files):
00:35 dalek roast: niecza fudge
00:35 dalek roast: review: https://github.com/perl6/roast/commit/29b2876a6d
00:35 [Coke] there is one niecza failure left - botched plan count in S05-substitution/subst.t
00:35 [Coke] niecza sees 139 tests, rakudo sees 140. I could use a pair of eyes on that.
00:36 timotimo is it not enough to compare the output of the fudger?
00:36 fridim_ joined #perl6
00:36 colomon will try to take a look.  actually just looking at end.t at the moment, and wondering WTH that method is.
00:37 [Coke] if someone has a built rakudo.parrot and could gist the results, that woudl be awesome.
00:37 timotimo gives you the index of the last element
00:37 timotimo can do in 30minutes
00:37 [Coke] r: my @a=1,2,3; say @a.end
00:37 camelia rakudo 484f08: OUTPUT«2␤»
00:37 [Coke] but it's supposed to be Cool, I guess.
00:38 timotimo well since cool has other similar methods yeah sure
00:39 [Coke] so, going forward, let's try to keep niecza fudged so we can have a clean slate to work from.
00:41 colomon [Coke]: https://gist.github.com/colomon/6431447
00:42 TimK1 left #perl6
00:42 timotimo i was not able to build niecza last time i tried
00:42 timotimo it was for doing benchmarks
00:44 [Coke] timotimo: maybe https://github.com/coke/perl6-roa​st-data/blob/master/bin/niecza.sh has a clue for fixing your build?
00:45 * [Coke] finds a case where he can todo rakudo.parrot, but has to skip rakudo.jvm
00:45 timotimo i got some not found things for mono while compiling
00:46 [Coke] timotimo: ah.
00:47 [Coke] colomon:  ?
00:47 [Coke] oh, you want me to compare the fudged file?
00:47 [Coke] ok.
00:48 colomon [Coke]: you asked for the fudged output of subst.t from rakudo.parrot, no?
00:50 [Coke] I was looking for the test run output; I probably misspoke
00:51 colomon oh, can do that to
00:51 colomon o
00:51 [Coke] I see differences on the fudged file, but nothing obvious.
00:52 colomon https://gist.github.com/colomon/6431519
00:55 [Coke] *facepalm*
00:55 [Coke] throws_like is -two- tests.
00:56 [Coke] so that last block does need a DOES
00:57 dalek roast: f71e492 | coke++ | S05-substitution/subst.t:
00:57 dalek roast: niecza fudge - fix DOES count for throws_like
00:57 dalek roast: review: https://github.com/perl6/roast/commit/f71e492903
00:57 [Coke] colomon++
01:02 FROGGS_ joined #perl6
01:04 timotimo niecza built successfully \o/
01:05 cognominal joined #perl6
01:08 [Coke] woot.
01:21 * colomon is spectesting a niecza patch.  [Coke]++
01:24 [Coke] sweet!
01:24 [Coke] didn't think that would pay off so soon!
01:25 colomon it's a simple patch, mind you.
01:25 timotimo i'm wondering how to implement this properly: i have a list of strings and a big string. i want to make sure all of the substrings are in the string in order and give helpful TAP output ...
01:25 dalek roast: 79a7a58 | coke++ | S05-mass/properties-derived.t:
01:25 dalek roast: rakudo.jvm fudge
01:25 dalek roast: review: https://github.com/perl6/roast/commit/79a7a58328
01:26 [Coke] there, that avoids: S05-mass/properties-derived.rakudo.jvm aborted 228 test(s)
01:26 timotimo maybe i should actually do a bit of actual html parsing
01:27 * [Coke] goes to pick up the kid from rehearsal.
01:29 colomon [Coke]++
01:31 timotimo r: my @expected = <foo bar baz>; my $teststr = @expected.join(" "); say @expected.map({ $teststr.index($_) });
01:31 camelia rakudo 484f08: OUTPUT«0 4 8␤»
01:31 timotimo r: my @expected = <foo bar baz>; my $teststr = @expected.join(" "); say [<] @expected.map({ $teststr.index($_) });
01:31 camelia rakudo 484f08: OUTPUT«True␤»
01:31 timotimo that seems sensible-ish
01:32 TimToady are overlaps allowed?
01:32 timotimo don't think so.
01:33 timotimo i mean: i don't think i need it to
01:33 TimToady well, that method allows them
01:33 timotimo or even: i don't think i need to care more specifically
01:33 timotimo but it's a good point.
01:33 TimToady or you could .join('.*?') and then <$pattern>
01:34 timotimo mhm, but am i going to get sensible "this one piece is missing" errors out of that?
01:35 TimToady wrap each bit in ['string'||{die 'string is missing'}]
01:35 timotimo oh, that sounds nice actually
01:35 timotimo i should probably use "nok" instead, though
01:35 timotimo (this is just for testing that the stuff in the html output of Pod::To::HTML kind of corresponds to the input)
01:37 timotimo hm, how much do i have to worry about quoting?
01:37 timotimo i should be able to just refer to @foo[0], @foo[1], ... instead of interpolating into the pattern?
01:39 cooper joined #perl6
01:40 TimToady no, because [] is too ambiguous with grouping
01:40 timotimo aaw.
01:40 timotimo but escaping ' and \ is enough, right?
01:41 timotimo is there a mysql_real_escape_ex sub i can use or something?
01:42 TimToady you can do "@foo[0]"
01:42 timotimo ah, that's good
01:42 TimToady "{@foo.shift}"
01:43 timotimo that seems dangerous for backtracking :)
01:43 timotimo also, i'll need to map over the bits anyway to generate the proper errors
01:44 timotimo r: <foo bar baz>.pairs.perl.say
01:44 camelia rakudo 484f08: OUTPUT«(0 => "foo", 1 => "bar", 2 => "baz").list␤»
01:44 timotimo r: <foo bar baz>.kv.perl.say
01:44 camelia rakudo 484f08: OUTPUT«((0, "foo"), (1, "bar"), (2, "baz")).list␤»
01:44 timotimo r: <foo bar baz>.kv.map({ say "$^idx has $^val" })
01:44 camelia rakudo 484f08: OUTPUT«0 has foo␤1 has bar␤2 has baz␤»
01:44 timotimo great
01:45 timotimo lucky that idx comes before val lexicographically
01:47 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say q{["\@foo[$^idx]" || { die "\@foo[$^idx] is missing" } } })
01:47 camelia rakudo 484f08: OUTPUT«["\@foo[$^idx]" || { die "\@foo[$^idx] is missing" } ␤["\@foo[$^idx]" || { die "\@foo[$^idx] is missing" } ␤["\@foo[$^idx]" || { die "\@foo[$^idx] is missing" } ␤True True True␤»
01:47 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say q{["@foo[$^idx]" || { die "@foo[$^idx] is missing" } } })
01:47 camelia rakudo 484f08: OUTPUT«["@foo[$^idx]" || { die "@foo[$^idx] is missing" } ␤["@foo[$^idx]" || { die "@foo[$^idx] is missing" } ␤["@foo[$^idx]" || { die "@foo[$^idx] is missing" } ␤True True True␤»
01:47 timotimo hm, {} won't do it seems
01:47 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say q/["@foo[$^idx]" || { die "@foo[$^idx] is missing" } / })
01:48 camelia rakudo 484f08: OUTPUT«["@foo[$^idx]" || { die "@foo[$^idx] is missing" } ␤["@foo[$^idx]" || { die "@foo[$^idx] is missing" } ␤["@foo[$^idx]" || { die "@foo[$^idx] is missing" } ␤True True True␤»
01:48 timotimo ah, BS, q is the wrong, qq is right
01:48 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say qq{["@foo[$^idx]" || { die "@foo[$^idx] is missing" }} })~
01:48 camelia rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DiaET0QlU5â�¤Two terms in a rowâ�¤at /tmp/DiaET0QlU5:1â�¤------> [32m|| { die "@foo[$^idx] is missing" }} })~[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤        statement modi…
01:48 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say qq{["@foo[$^idx]" || { die "@foo[$^idx] is missing" }} })
01:48 camelia rakudo 484f08: OUTPUT«["foo" || { die "foo is missing" }␤["bar" || { die "bar is missing" }␤["baz" || { die "baz is missing" }␤True True True␤»
01:48 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say qq{["\@foo[$^idx]" || { die "\@foo[$^idx] is missing" }} })
01:48 camelia rakudo 484f08: OUTPUT«["@foo[0]" || { die "@foo[0] is missing" }␤["@foo[1]" || { die "@foo[1] is missing" }␤["@foo[2]" || { die "@foo[2] is missing" }␤True True True␤»
01:49 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say qq/ ["\@foo[$^idx]" || { die "\@foo[$^idx] is missing" }] / }).join(".*?")
01:49 camelia rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hlhQVRJ0jW�Placeholder variable $^idx may not be used here because the surrounding block takes no signature�at /tmp/hlhQVRJ0jW:1�------> [32mx]" || { die "\@foo[$^idx] is missing" }[33m�[31m] / }).join(".…
01:49 timotimo r: my @foo = <foo bar baz>; say @foo.keys.map({ say qq/ ["\@foo[$^idx]" || \{ die "\@foo[$^idx] is missing" }] / }).join(".*?")
01:49 camelia rakudo 484f08: OUTPUT« ["@foo[0]" || { die "@foo[0] is missing" }] ␤ ["@foo[1]" || { die "@foo[1] is missing" }] ␤ ["@foo[2]" || { die "@foo[2] is missing" }] ␤True.*?True.*?True␤»
01:49 timotimo r: my @foo = <foo bar baz>; my $rex = @foo.keys.map({ say qq/ ["\@foo[$^idx]" || \{ die "\@foo[$^idx] is missing" }] / }).join(".*?"); say "foo meep bar meep baz" ~~ /<$rex>/
01:50 camelia rakudo 484f08: OUTPUT« ["@foo[0]" || { die "@foo[0] is missing" }] ␤ ["@foo[1]" || { die "@foo[1] is missing" }] ␤ ["@foo[2]" || { die "@foo[2] is missing" }] ␤Nil␤»
01:50 timotimo r: my @foo = <foo bar baz>; my $rex = @foo.keys.map({ qq/ ["\@foo[$^idx]" || \{ die "\@foo[$^idx] is missing" }] / }).join(".*?"); say "foo meep bar meep baz" ~~ /<$rex>/
01:50 camelia rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Variable '@foo' is not declaredâ�¤at eval_0:1â�¤------> [32mmy $x = anon regex { ^ ["@foo[0][33mâ��[31m" || { die "@foo[0] is missing" }] .*? [[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤â€¦
01:50 cognominal joined #perl6
01:50 timotimo oh, huh?
01:50 TimToady o.O
01:50 timotimo these go through eval and don't get the right lexical scope?
01:51 TimToady rakudobug, I'll venture
01:51 timotimo because i interpolated a regex?
01:51 timotimo i'll golf it, but someone else needs to file it for me
01:51 TimToady n: my @foo = <foo bar baz>; my $rex = @foo.keys.map({ qq/ ["\@foo[$^idx]" || \{ die "\@foo[$^idx] is missing" }] / }).join(".*?"); say "foo meep bar meep baz" ~~ /<$rex>/
01:51 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: bar is missing␤  at /home/p6eval/niecza/lib/CORE.setting line 1535 (die @ 5) ␤  at (eval) line 1 (ANON @ 18) ␤  at /tmp/iWflDHNeMb line 1 (ANON @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3107 (Regex.ACCEPTS @ 10) ␤  at /tmp/i…
01:52 TimToady niecza gets heartburndifferently
01:52 timotimo r: my @foo = <foo bar baz>; my $rex = @foo.keys.map({ qq/ ["\@foo[$^idx]" || \{ die "\@foo[$^idx] is missing" }] / }).join(".*?"); say $rex
01:52 camelia rakudo 484f08: OUTPUT« ["@foo[0]" || { die "@foo[0] is missing" }] .*? ["@foo[1]" || { die "@foo[1] is missing" }] .*? ["@foo[2]" || { die "@foo[2] is missing" }] ␤»
01:53 timotimo these pieces of whitespace are ignored the way i interpolated the regex, right?
01:53 TimToady yes, whitespace is always ignored unless :sigspace is in the air
01:53 timotimo good
01:56 * colomon is now trying to put "sigspace is in the air" to the Love Boat theme….
01:57 timotimo r: my $foo = "hi"; my $pat = '$foo'; "hi" ~~ /<$pat>/
01:57 camelia rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling eval_0�Variable '$foo' is not declared�at eval_0:1�------> [32mmy $x = anon regex { ^$foo[33m�[31m }[0m�»
01:57 timotimo that's sufficiently short for a rakudobug submission, no?
01:58 TimToady yes
02:00 dayangkun joined #perl6
02:04 timotimo when dumping the qast, the regex has a bare QAST::Node in there :|
02:04 timotimo the one directly outside of the Var for $pat
02:06 timotimo self.HOW.name(self) should actually give the correct result, so it's actually a bare QAST::Node?!
02:07 timotimo indeed, it seems to do that
02:12 dalek niecza: 1042054 | (Solomon Foster)++ | lib/CORE.setting:
02:12 dalek niecza: Try adding Any.end.
02:12 dalek niecza: review: https://github.com/sorear/niecza/commit/1042054235
02:22 slavik joined #perl6
02:24 TimK1 joined #perl6
02:31 dalek roast: b4311be | (Solomon Foster)++ | S32-array/end.t:
02:31 dalek roast: Unfudge for Niecza.
02:31 dalek roast: review: https://github.com/perl6/roast/commit/b4311be574
02:53 TimK1 left #perl6
03:03 [Coke] colomon++ #awesome
03:03 xorp joined #perl6
03:05 colomon Tiny steps forward....
03:29 diakopter nqp: our $foo is export; BEGIN { $foo := nqp::list_i(); };
03:29 camelia nqp: OUTPUT«Method 'name' not found for invocant of class 'NQPMu'␤current instr.: '' pc 129723 (src/stage2/gen/NQP.pir:46360) (src/stage2/gen/NQP.nqp:2786)␤»
03:29 diakopter *cry*
03:32 JimmyZ nqp:  BEGIN {our $foo is export; $foo := nqp::list_i(); };
03:32 camelia nqp: OUTPUT«Method 'name' not found for invocant of class 'NQPMu'␤current instr.: '' pc 129723 (src/stage2/gen/NQP.pir:46360) (src/stage2/gen/NQP.nqp:2786)␤»
03:32 abnorman joined #perl6
03:34 diakopter what *can* you do in nqp's BEGIN??
03:35 JimmyZ nqp:  BEGIN { }
03:35 camelia nqp:  ( no output )
03:35 diakopter :)
03:35 JimmyZ nothing :P
03:45 diakopter okay, I found rakudo\src\gen\BOOTSTRAP.nqp's BEGIN {}
03:56 diakopter nqp-jvm: my $foo; class A { method bar () { $foo := nqp::list_i() } }; BEGIN { A.new().bar() }
03:56 camelia nqp-jvm: OUTPUT«java.lang.NullPointerException␤ at org.perl6.nqp.runtime.Ops.in​vokeInternal(Ops.java:1229)␤     at org.perl6.nqp.runtime.Ops.invoke(Ops.java:1200)␤     at 32E184A159F2AB2B80B927BE69AB29​A193D0E286.qb_25(<generated>)␤ at org.perl6.nqp.runtime.Ops.in​vokeInternal(Ops.java:1240)␤     at
03:56 camelia ..…
03:57 diakopter bah.
03:57 [Coke] that is an old version of nqp-jvm, yes?
03:57 diakopter nqp: my $foo; class A { method bar () { $foo := nqp::list_i() } }; BEGIN { A.new().bar() }
03:57 camelia nqp: OUTPUT«Lexical '$foo' not found␤current instr.: 'bar' pc 6 ((file unknown):26) (/tmp/FW7Pxwnn5E:1)␤»
03:58 diakopter r: my $foo; class A { method bar () { $foo := nqp::list_i() } }; BEGIN { A.new().bar() }
03:58 camelia rakudo 484f08: OUTPUT«===SORRY!===␤Can only use nqp_set_sc_for_object with a SixModelObject␤»
03:58 diakopter *headdesk*
03:58 diakopter I can't get a list of integers serialized for teh life of me
03:59 frettled_ joined #perl6
03:59 diakopter I'm starting to guess that NQP's BEGIN can only call things in a dependency SC
03:59 Psyche^ joined #perl6
04:00 ilogger2 joined #perl6
04:00 diakopter hm
04:01 diakopter better, I might be able to serialize *from another SC*
04:01 * diakopter goes to try
04:02 dalek joined #perl6
04:58 SamuraiJack__ joined #perl6
05:00 agre joined #perl6
05:20 hummeleBop joined #perl6
05:33 fhelmberger joined #perl6
06:05 kaleem joined #perl6
06:42 iSlug joined #perl6
06:48 salv0 joined #perl6
06:50 odoacre joined #perl6
06:56 salv0 joined #perl6
06:56 zakharyas joined #perl6
06:58 masak morning, sixers.
07:01 FROGGS_ joined #perl6
07:07 domidumont joined #perl6
07:09 dmol joined #perl6
07:11 zakame joined #perl6
07:11 diakopter I'm more of a 'Niner
07:13 domidumont joined #perl6
07:24 ssutch_ joined #perl6
07:26 scottp joined #perl6
07:38 moritz r: say infix:<X>(1, 2)
07:38 camelia rakudo 484f08: OUTPUT«1 2␤»
08:10 dakkar joined #perl6
08:21 donaldh joined #perl6
08:21 dmol joined #perl6
08:31 pernatiy joined #perl6
08:37 jnthn diakopter: what, I showed you how you should shove stuff into a package to have it serialized...
08:42 jnthn diakopter: The only thing you can talk about outside of the BEGIN is a type name.
08:44 diakopter jnthn: :( I didn't see/remember what you showed me
08:44 jnthn diakopter: In a gist last night...
08:44 moritz it was a gist
08:44 * diakopter looks in the kkkkklogs
08:45 jnthn oh, maybe on #moarvm
08:45 diakopter augh; I completely missed that message
08:45 diakopter <- poor showing
08:45 jnthn https://gist.github.com/jnthn/6429209
08:45 jnthn oh...
08:46 jnthn OK, then you weren't ignoring my suggestion, just missed it. :)
08:46 diakopter nope, not ignoring.. just ignorant :D
08:46 diakopter meanwhile I broke'd the nobank branch... but am still fixing.
08:47 jnthn ok
08:47 jnthn Well, it's a branch
08:51 fhelmberger joined #perl6
09:00 tadzik hahahaahah
09:01 tadzik Jolla, the new phone vendor said they'll ship their phones by christmas
09:01 tadzik sounds legit
09:01 FROGGS *g*
09:01 Rotwang joined #perl6
09:01 * FROGGS .oO( Do It The Perl 6 Way(tm) )
09:01 jnthn Fif yhry fdy which one?
09:01 jnthn wtf
09:01 jnthn Did they say...
09:02 tadzik go home keyboard, you're drunk
09:03 jnthn yeah, not one I'm used to :)
09:29 danaj joined #perl6
09:42 lizmat joined #perl6
09:42 moritz r: sub mysleep($x) { sleep $x; return now - ENTER new }; say mysleep 2
09:43 camelia rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/J6TCW66tm_â�¤Undeclared routine:â�¤    new used at line 1â�¤â�¤Â»
09:43 moritz r: sub mysleep($x) { sleep $x; return now - ENTER now }; say mysleep 2
09:43 camelia rakudo 484f08: OUTPUT«use of uninitialized value of type Nil in numeric context  in sub mysleep at /tmp/LJ0f3fmxws:1␤␤Instant:1378287830.626545␤»
09:43 lizmat good *, #perl6!
09:43 moritz :/
09:43 moritz \o lizmat
09:44 lizmat r: { say ENTER "foo" }
09:44 camelia rakudo 484f08: OUTPUT«Nil␤»
09:44 lizmat not good
09:44 moritz I have no idea what the spec says on that
09:44 lizmat r: { say BEGIN "foo" }
09:45 camelia rakudo 484f08: OUTPUT«foo␤»
09:45 lizmat should be the same, I thnk
09:46 FROGGS are phasers supposed to return something?
09:46 moritz FROGGS: depends on the phaser
09:46 moritz FROGGS: it doesn't make any sense to return something from a CATCH or a LEAVE block
09:47 lizmat r: say now - BEGIN now
09:47 camelia rakudo 484f08: OUTPUT«0.0512249␤»
09:47 lizmat r: say now - BEGIN now
09:47 camelia rakudo 484f08: OUTPUT«0.0490507␤»
09:48 lizmat breakfast&
09:52 danaj joined #perl6
09:59 rindolf joined #perl6
10:05 dalek Perlito: a8106a1 | (Flavio S. Glock)++ | / (7 files):
10:05 dalek Perlito: Perlito5 - js - more support for typeglob assignment
10:05 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/a8106a19fd
10:08 denysonique joined #perl6
10:25 danaj joined #perl6
10:26 jaldhar joined #perl6
10:34 daxim joined #perl6
10:40 sqirrel joined #perl6
10:44 kaleem joined #perl6
10:45 lizmat moritz: thinking more about it, it also doesn't make sense for LEAVE / END type phasers to return anything
10:45 lizmat Ah, LEAVE you already mentioned  :-)
10:48 woolfy joined #perl6
10:56 logie joined #perl6
11:14 lizmat $ perl6 -e 'my $a=set(<a b c>); say set($a).perl'
11:14 lizmat set(set("a", "b", "c"))
11:14 lizmat running spectest now
11:18 Teratogen CONN, SONAR.  CRAZY IVAN!
11:18 moritz Teratogen: please stop that
11:18 Teratogen ok =(
11:18 Teratogen sorry watched The Hunt for Red October again
11:19 tadzik <hipster>I liked the book better</hipster.
11:19 tadzik Clancy is generally good at submarine stuff in his books
11:25 lizmat r: my $a=set(<a b c>); say set($a).perl'
11:25 camelia rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/trhSMTEbcNâ�¤Two terms in a rowâ�¤at /tmp/trhSMTEbcN:1â�¤------> [32mmy $a=set(<a b c>); say set($a).perl[33mâ��[31m'[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤        infix stopperâ�¤     …
11:25 lizmat r: my $a=set(<a b c>); say set($a).perl
11:25 moritz trailing '
11:25 camelia rakudo 484f08: OUTPUT«set("a b c")␤»
11:26 lizmat just double checking it didn't work yet  :-)
11:26 dalek Perlito/replito: a8106a1 | (Flavio S. Glock)++ | / (7 files):
11:26 dalek Perlito/replito: Perlito5 - js - more support for typeglob assignment
11:26 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/a8106a19fd
11:26 dalek Perlito/replito: ca778b8 | (Stanislaw Pusep)++ | / (7 files):
11:26 dalek Perlito/replito: Merge branch 'master' into replito
11:26 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/ca778b85c0
11:26 dalek Perlito/replito: d2ac8c9 | (Stanislaw Pusep)++ | html/replito.html:
11:26 dalek Perlito/replito: replito @INC fix
11:26 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/d2ac8c9a12
11:26 dalek Perlito/replito: c528e36 | (Stanislaw Pusep)++ | / (4 files):
11:26 dalek Perlito/replito: Perlito5 - js - can't handle "return ()"; trying "return (true)" instead
11:26 dalek Perlito/replito: review: https://github.com/fglock/​Perlito/commit/c528e36f7e
11:31 salv0 joined #perl6
11:38 JimmyZ Do most users want 'now - begin now' every sleep?
11:39 moritz JimmyZ: dunno, but sleep usually isn't performance critical
11:39 moritz so it doesn't hurt do a few extra operations
11:41 JimmyZ but it inc CO2
11:41 JimmyZ :P
11:42 JimmyZ and weather gets more warm
11:43 FROGGS moritz: that is not that true
11:43 crab2313 joined #perl6
11:43 FROGGS if you write an event loop (for a game), sleeping 10 or 20ms should be a cheap as possible
11:44 JimmyZ always return now - begin now is not cheap
11:44 JimmyZ the user don't want it, or they can get it themself if they want
11:45 jnthn ENTER should indeed return the value
11:45 jnthn Just NYI
11:45 JimmyZ sleep should do the sleep thing
11:45 JimmyZ not always return now - begin now
11:46 spider-mario joined #perl6
11:46 JimmyZ it's a really bad design
11:48 lizmat jnthn: fwiw, I don't think rakudo uses the return value of nqp::sleep anywhere
11:48 JimmyZ I'd like to change the spec if there is a one
11:48 jnthn lizmat: I'm not even sure what it returns :)
11:49 lizmat rakudo only uses nqp::sleep in sink context
11:49 jnthn Then, it doesn't matter :)
11:50 JimmyZ so remove the new sleep from MoarVM?
11:50 jnap joined #perl6
11:50 jnthn I'm pretty sure on JVM if you don't use it in sink context, it returns exactly what you gave it. It may well be the same on Parrot.
11:51 jnthn QAST::Operations.add_core_pirop_mapping('sleep', 'sleep', '0n', :inlinable(1));
11:51 jnthn yup.
11:52 jnthn In sink context, nothing, in non-sink context, returns its argument.
11:52 JimmyZ on MoarVM can returns arg 0 if not sink
11:52 jnthn "returns"
11:52 jnthn No, the op should just be sleep r(int64)
11:52 sqirrel joined #perl6
11:53 jnthn And any "return" is just 'cus it does the (... , 0) thing in the NQP op mapper.
11:53 JimmyZ QAST::MASTOperations.add_core​_moarop_mapping('setpayload', 'bindexpayload', 1);
11:53 JimmyZ the '1'
11:53 jnthn Right.
11:53 jnthn Just like that, but 0 :)
11:53 jnthn ('cus args are numbered from 0)
11:53 JimmyZ yes, I said 0 :)
11:54 domidumont joined #perl6
11:54 JimmyZ jnthn: are you fine to revert the new sleep commit?
11:55 jnthn I didn't read it...
11:55 jnthn nqp::sleep on MoarVM was wrong before...'cus it accepted an integer microseconds rather than a floating point number of seconds...
11:55 * jnthn looks at the commit
11:56 jnthn wtf is microsleep... :/
11:56 JimmyZ jnthn: it's the old sleep
11:56 jnthn Yeah, we don't need that. A double allows plenty of prevision.
11:56 jnthn *precision
11:57 jnthn And yeah, returning the time slept for is useless in so far as it's unused by Rakudo.
11:57 colomon joined #perl6
11:58 jnthn Unless we spec that we want that behavior everywhere...
11:58 JimmyZ so remove the microsleep and make sleep args as double?
11:58 jnthn well, it already is a double it seems
11:58 lizmat fwiw, Rakudo's sleep() *does* return the amount actually slept
11:58 jnthn So yeah, remvoe microsleep and we don't need sleep to call now twice...
11:59 jnthn lizmat: Hm, but does it at Perl 6 level?
11:59 JimmyZ just remove the return
11:59 JimmyZ right?
11:59 lizmat jnthn: yes
11:59 jnthn JimmyZ: Well, it'd be consistent with other backends...
11:59 jnthn (to remove it)
12:00 jnthn lizmat: You know if that's spec'd? :)
12:00 JimmyZ QAST::MASTOperations.add_co​re_moarop_mapping('sleep', 'sleep', 0);
12:01 jnthn wfm
12:01 lizmat that does not seem to be specced
12:01 lizmat but perl5's sleep *does*
12:01 jnthn Ah...
12:01 lizmat p5eval: say sleep 2
12:01 * jnthn wonders if it's useful... :)
12:01 p5eval lizmat: 21
12:02 jnthn And if it's measuring or returning or just returning the argument...
12:02 lizmat don't know either…  but Perl6 sleep does seem like something you wouldn't put in a game
12:03 lizmat it would for sure be an nqp::sleep in a game
12:03 lizmat anyway, most uses that I've seen for the retiurn value of sleep() is to make intervals with fixed time length
12:03 lizmat for that, I specced and implemented interval()
12:04 lizmat so maybe the need for a return value of sleep() is no longer there
12:04 jnthn It looks like POSIX-y sleep returns the number of unslept seconds 'cus a signal may wake you from slumber and it's a way to see if that might have taken place...
12:10 mtj_ joined #perl6
12:12 xenoterracide joined #perl6
12:13 bloonix joined #perl6
12:14 dalek rakudo/nom: ec890db | (Elizabeth Mattijsen)++ | src/core/Set.pm:
12:14 dalek rakudo/nom: Make Set work according to spec, without using typed hashes :-)
12:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec890db1ce
12:14 dalek roast: 1d1e315 | (Elizabeth Mattijsen)++ | S0 (4 files):
12:14 dalek roast: Fudges / unfudges while working on Set
12:14 dalek roast: review: https://github.com/perl6/roast/commit/1d1e315152
12:18 nwc10 it's not clear to me, for the common case, whether it's more useful for sleep to actually sleep (and loop to restart), or to give up on a signal
12:18 nwc10 also, looks like it is more work to return "unslept time" for sub-second sleeps
12:23 jaldhar joined #perl6
12:26 colomon woah, lizmat++
12:27 lizmat colomon o/
12:27 colomon \o
12:27 lizmat not sure if I can use the same approach for bags yet
12:28 colomon you'd have to make a second hash in the Bag, I think.
12:28 lizmat or use pairs as values
12:28 colomon yeah, that would work too
12:28 colomon KeySet first?
12:29 lizmat doing that now, but alas:
12:29 lizmat ok 3 - Default value is false
12:29 lizmat Segmentation fault: 11
12:30 nwc10 yay. a Rakudobug?
12:31 lizmat $ perl6 -e 'say KeySet.new( <a b c>)<a>'
12:31 lizmat Segmentation fault: 11
12:31 lizmat only in my local copy, though  :-)
12:32 lizmat found it, I think
12:33 mtk joined #perl6
12:41 benabik joined #perl6
12:48 PacoAir joined #perl6
12:58 ajr joined #perl6
13:07 dalek rakudo/nom: 2af0f88 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
13:07 dalek rakudo/nom: Remove some unneeded (double) stubs
13:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2af0f88d06
13:08 kbaker joined #perl6
13:22 lowpro30 joined #perl6
13:24 moritz fwiw I have the impression that setting compilation time slowed down in the past weeks
13:24 moritz from 70s to 115s or so
13:25 masak that's... significant.
13:25 * masak pictures something that would track that over time, along with building every commit and running the spectests
13:25 donaldh it got bigger.
13:26 FROGGS masak: I see that too infront of my inner eye
13:26 lizmat $ wc -l src/gen/CORE.setting
13:26 lizmat 16147 src/gen/CORE.setting
13:26 FROGGS masak: travis could do that fwiw
13:26 FROGGS ~3k loc more than in april or so
13:27 masak what's the percentual increase?
13:27 not_gerd joined #perl6
13:28 moritz r: say 3 / 16 * 100
13:28 camelia rakudo 2af0f8: OUTPUT«18.75␤»
13:28 moritz r: say 115/70 * 100
13:28 FROGGS nah, if you add an infix it is one line more compared to, say, 1s more stage parse
13:28 benabik FROGGS: I think travis limits the time of a job, it seems unlikely you couple compile Rakudo and run spec tests.
13:28 camelia rakudo 2af0f8: OUTPUT«164.285714␤»
13:28 FROGGS benabik: I'm not talking about spectests
13:28 FROGGS but one could see the parse time
13:29 FROGGS benabik: it already builds parrot, and this takes its time too
13:29 lowpro30_ joined #perl6
13:32 benabik FROGGS: It also times out on Parrot tests on a regular basis, so...
13:36 FROGGS :/
13:36 FROGGS gah, we just build moarvm+nqp+rakudo in 20s then, and we are fine -.-
13:37 FROGGS ahh, plus spectest in < 1minute
13:37 FROGGS == WORLD DOMINATION BEFORE CHRISTMAS \o/
13:37 masak s/CHRISTMAS/BREAKFAST/
13:37 FROGGS *g*
13:38 FROGGS masak: you are Brain then?
13:38 masak I am *a* brain, if that's what you mean.
13:38 FROGGS ohh, I was thinking my role more as Pinky
13:38 masak in other news, it should of course be called "body transplant", not "brain transplant".
13:40 FROGGS bbl
13:44 btyler joined #perl6
13:45 donaldh in http://perlcabal.org/syn/S32/IO.html#IO%3A%3APipe does the redirection spec :err<Str> mean readirect to file?
13:46 PerlJam donaldh: as opposed to ... ?
13:46 PerlJam donaldh: writing to the string?
13:47 skids joined #perl6
13:47 donaldh a named thing?
13:49 donaldh so pathname then?
13:51 donaldh and for IO::Pipe.from what should happen to the command's stdin ?
13:51 benabik joined #perl6
13:52 sorear joined #perl6
13:59 kaare_ joined #perl6
13:59 dalek roast: 2df4c4a | (Elizabeth Mattijsen)++ | S02-types/ (2 files):
13:59 dalek roast: Fudges while work continues on Key|KeySet
13:59 dalek roast: review: https://github.com/perl6/roast/commit/2df4c4a86d
14:01 dalek rakudo/nom: 8bfb3c7 | (Elizabeth Mattijsen)++ | src/core/KeySet.pm:
14:01 dalek rakudo/nom: Make KeySet a Set, and make it work according to spec
14:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8bfb3c7d67
14:01 lizmat 1 file changed, 30 insertions(+), 56 deletions(-)  # in my work to reduce Kloc in CORE.setting
14:01 lizmat cycling and dinner&
14:03 * colomon has no memory of writing those tests.  :(
14:03 thou joined #perl6
14:06 bluescreen10 joined #perl6
14:08 logie joined #perl6
14:08 * colomon apparently wrote Set and Bag .ACCEPTS for Niecza, too.
14:12 kbaker joined #perl6
14:29 not_gerd this is how I'd factor sleep(): https://gist.github.com/gerdr/6437734
14:29 not_gerd thoughts?
14:32 pernatiy joined #perl6
14:32 ajr joined #perl6
14:33 diakopter not_gerd: ww?
14:35 not_gerd diakopter: see backlog
14:35 not_gerd it would change NQP semantics, ie it's now MoarVM specific
14:36 diakopter ok, like, all 30 miles of backlog? :)
14:37 not_gerd discussion begins at http://irclog.perlgeek.de/​perl6/2013-09-04#i_7540766
14:37 JimmyZ not_gerd: rakudo doesn't need  return sleep time
14:40 JimmyZ and it needs float args for sleep
14:44 diakopter nqp: class Foo {}; BEGIN { Foo.WHO<@s> := nqp::list_i(4,5,6); }; say(@Foo::s.WHAT)
14:44 camelia nqp: OUTPUT«Can only use get_what on a SixModelObject␤current instr.: '' pc 113 ((file unknown):163223069) (/tmp/AXk_qgAAab:1)␤»
14:44 diakopter jnthn: npq::list_i() returns a non-6model pmcia?
14:44 not_gerd JimmyZ: just because the user-facing interface wants floats doesn't mean it makes sense for the low-level API to do so
14:44 FROGGS joined #perl6
14:45 FROGGS o/
14:48 JimmyZ addded a ceil_n in top level inc indirect goto :P
14:49 moritz nqp: nqp::list_i().WHAT
14:49 camelia nqp: OUTPUT«Can only use get_what on a SixModelObject␤current instr.: '' pc 43 ((file unknown):162079872) (/tmp/X33hIl1Kjh:1)␤»
14:49 moritz diakopter: looks like it
14:49 jnthn diakopter: On Parrot, yes
14:49 jnthn diakopter: On JVM and Moar, everything is a 6mode obj
14:50 diakopter k
14:50 diakopter can list_i be serialized by parrot?
14:55 slava jnthn: in the future (once rakudo, jvm and moar are all ready to go) which will be the recommended vm for running system scripts (not long lived code)
14:55 diakopter sh
14:56 jnap I imagine moarvm is aimed at fast startup
14:56 FROGGS slava: probably the one that fits your needs best
14:56 slava FROGGS: I am not sure of the various strengths between jvm/rakudo/moarvm
14:57 FROGGS if, for example moarvm would not run on your os, but the jvm, then the choice gets simpler
14:57 jnap slava:  I mostly just lurk here, but my understanding is that the jvm version is aimed at people that need to use the jvm because work dictates it, or because the want the potential java interoperability
14:57 jnthn diakopter: yes
14:57 diakopter slava: rakudo is the name of the perl 6 implementation, not a backend
14:58 slava ahh
14:58 slava then parrot/jvm/mvm :D
14:58 FROGGS slava: we can't really talk about it until rakudo runs on moarvm
14:58 slava I see, fair enough
14:58 slava thank you. :)
14:58 jnthn slavka: Rakudo on JVM will likely always start up slowly, so for short-running things I expect MoarVM will win. :)
14:58 jnap whereas moarvm is a special purpose vm aimed to just your Perl6, and is aimed to be fast startup and similar to the current perl cli, or at least that is my understanding
14:58 jnthn um, slava :)
14:58 FROGGS but we expect it to be awesome fwiw *g*
14:58 diakopter irrationally
14:58 slava haha
14:59 jnthn yay, hometime...
14:59 FROGGS \o/
14:59 * jnthn goes to see how late the trains are running today
14:59 jnthn bbl &
14:59 nwc10 optimist on the "today" part?
15:00 FROGGS hehe
15:06 thou joined #perl6
15:16 JimmyZ_ joined #perl6
15:20 Util r: my $a = 1; my $b = 2; my $c = 3; ( $a, $b, $c ) .= rotate; say $a, $b, $c;
15:20 camelia rakudo 8bfb3c: OUTPUT«No such method 'rotate' for invocant of type 'Parcel'␤  in method dispatch:<.=> at src/gen/CORE.setting:1152␤  in block  at /tmp/X5VIP_BnX4:1␤␤»
15:23 Util r: my $a = 1; my $b = 2; my $c = 3; ( $a, $b     ) .= reverse; say $a, $b, $c;
15:23 camelia rakudo 8bfb3c: OUTPUT«213␤»
15:23 Util If .reverse is valid for Parcel, shouldn't .rotate also be legal?
15:29 TimToady presumably
15:31 Util TimToady: Thanks! I will try a LHF implementation.
15:31 TimK1 joined #perl6
15:44 perigrin .fold .spindle .mutilate
15:49 segomos joined #perl6
16:03 crab2313_ joined #perl6
16:15 kaleem joined #perl6
16:34 slava joined #perl6
16:35 kaleem joined #perl6
16:36 dmol joined #perl6
16:44 Celelibi joined #perl6
16:48 dalek nqp/donaldh-sockets: 66c9113 | (Donald Hunter)++ | src/vm/jvm/ (6 files):
16:48 dalek nqp/donaldh-sockets: Added server socket and process pipe to IO.
16:48 dalek nqp/donaldh-sockets: review: https://github.com/perl6/nqp/commit/66c91135b6
16:48 dalek nqp/donaldh-sockets: 9636fe9 | (Donald Hunter)++ | / (4 files):
16:48 dalek nqp/donaldh-sockets: Add nqp::openpipe tests (JVM only)
16:48 dalek nqp/donaldh-sockets: review: https://github.com/perl6/nqp/commit/9636fe931d
16:49 locsmif joined #perl6
16:56 eternaleye joined #perl6
17:04 eternaleye joined #perl6
17:05 pmurias joined #perl6
17:06 pmurias jnthn: the cstack reg is a pmc right? and we assing a integer to it?
17:06 diakopter cstack stands for cursorstack
17:06 jnthn We assing cursors (other PMCs) to it.
17:07 jnthn uh, assign
17:07 FROGGS do we say assing now?
17:07 FROGGS ahh
17:07 * diakopter assing
17:07 jnthn ...damn, I was like, "lol, assing"...then typed it :/
17:07 isBEKaml joined #perl6
17:07 FROGGS Python does assing :P
17:08 pmurias heh
17:08 pmurias jnthn: https://github.com/perl6/nqp/blob/maste​r/src/vm/parrot/QAST/Compiler.nqp#L1205
17:08 jnthn Oh...if you mean like
17:08 jnthn assign cstack, 42
17:08 jnthn Or whatever
17:08 jnthn It's setting the height of it
17:08 jnthn That is, it's nqp::setelems
17:08 diakopter it's a parrot trick
17:08 jnthn We use it to chop the top off
17:08 jnthn On JVM the thing is actually called setelems.
17:08 jnthn On Moar too...I hope :P
17:09 pmurias on Moar it's assing cstack, 42 ;)
17:09 jnthn That typo is becoming the butt of many jokes...
17:10 diakopter on Moar it's SeTeLeMs[[[c-s-t-a-c-k, FORTY_TWO)))|
17:10 pmurias I king
17:10 pmurias sorry
17:12 isBEKaml diakopter: camelcased is bad enough as it is. Now you want HYPHENS too? :P
17:12 isBEKaml and bad parens
17:12 ssutch joined #perl6
17:12 diakopter yes :D
17:14 isBEKaml "fingers on fire, fingers on fire" - so said diakopter.
17:27 isBEKaml joined #perl6
17:27 isBEKaml joined #perl6
17:28 not_gerd joined #perl6
17:32 rindolf joined #perl6
17:41 sqirrel joined #perl6
17:44 TimK1 rn: sub f (@a) { @a }; say f 1 ... 10; # should be 1 2 3 4 5 6 7 8 9 10
17:44 camelia rakudo 8bfb3c, niecza v24-94-g1042054: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
17:44 TimK1 rn: sub f (Num @a) { @a }; say f 1 ... 10; # same thing, but with type in signature
17:44 camelia niecza v24-94-g1042054: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
17:44 camelia ..rakudo 8bfb3c: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got List instead␤  in sub f at /tmp/rE76b6Mr4d:1␤  in block  at /tmp/rE76b6Mr4d:1␤␤»
17:45 TimK1 sub f (Num @a) { @a }; say f [1 ... 10]; # same thing, except passing an Array
17:45 TimK1 rn: sub f (Num @a) { @a }; say f [1 ... 10]; irc://irc.freenode.net:6667/# same thing, except passing an Array
17:45 camelia niecza v24-94-g1042054: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Confused at /tmp/SkNWDK7xXh line 1:â�¤------> [32mf (Num @a) { @a }; say f [1 ... 10]; irc[33mâ��[31m://irc.freenode.net:6667/# same thing, e[0mâ�¤â�¤Undeclared routine:â�¤   'irc' used at line 1â�¤â�¤Parse failedâ�¤â�¤Â»â€¦
17:45 camelia ..rakudo 8bfb3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/nHVFulkM2Yâ�¤Two terms in a rowâ�¤at /tmp/nHVFulkM2Y:1â�¤------> [32mf (Num @a) { @a }; say f [1 ... 10]; irc[33mâ��[31m://irc.freenode.net:6667/# same thing, e[0mâ�¤    expecting any of:â�¤        argument listâ�¤   …
17:45 TimK1 (I'll get it yet.)
17:45 TimK1 rn: sub f (Num @a) { @a }; say f [1 ... 10]; irc://irc.freenode.net:6667/# same thing, except passing an Array
17:45 camelia niecza v24-94-g1042054: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Confused at /tmp/QFGbnEAgEt line 1:â�¤------> [32mf (Num @a) { @a }; say f [1 ... 10]; irc[33mâ��[31m://irc.freenode.net:6667/# same thing, e[0mâ�¤â�¤Undeclared routine:â�¤   'irc' used at line 1â�¤â�¤Parse failedâ�¤â�¤Â»â€¦
17:45 camelia ..rakudo 8bfb3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/X09fhwxzoeâ�¤Two terms in a rowâ�¤at /tmp/X09fhwxzoe:1â�¤------> [32mf (Num @a) { @a }; say f [1 ... 10]; irc[33mâ��[31m://irc.freenode.net:6667/# same thing, e[0mâ�¤    expecting any of:â�¤        argument listâ�¤   …
17:46 TimK1 rn: sub f (Num @a) { @a }; say f [1 ... 10]; # same thing, except passing an Array
17:46 camelia rakudo 8bfb3c: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Array instead␤  in sub f at /tmp/l7pZg_NrYr:1␤  in block  at /tmp/l7pZg_NrYr:1␤␤»
17:46 camelia ..niecza v24-94-g1042054: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
17:46 TimK1 (The travails of copy-and-paste programming.)
17:46 TimK1 Both List and Array do Positional, so I believe Niecza is right. (Don't understand what any of it has to do with the type declaration of the formal param.)
17:47 kbaker joined #perl6
17:50 panchiniak joined #perl6
17:59 * TimK1 files bug
18:01 moritz TimK1: it's already known
18:01 moritz n: sub f(Str @a) { say @a }; f [1, 2, 3]
18:01 camelia niecza v24-94-g1042054: OUTPUT«1 2 3␤»
18:02 moritz niecza simply doesn't check the type of @a
18:02 abnorman joined #perl6
18:02 moritz and rakudo is right in rejecting it, but gives a bad error message
18:03 TimK1 That explains why Niecza accepts it.
18:03 TimK1 Why should Rakudo reject it, however?
18:03 timotimo r: sub f(Int @a) { say @a }; my Int @foo = 1 ... 10; f(@foo);
18:03 camelia rakudo 8bfb3c: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
18:03 TimK1 I see.
18:03 timotimo @a could be lazy, how do you infer that it's actually an Int @a without making it eager immediately, *or* even worse exploding after partially computing the thing
18:04 timotimo i once had a suggested patch that would explode at compile time when you had code like sub foo (Int *@a), i.e. a typed slurpy, because those are even worse
18:04 timotimo but it wasn't accepted
18:08 TimK1 Make sense, but a little confusing at first. Thanks for the explanation. I'm trying to figure out what the best practice should be, then. Sounds like use static or dynamic typing for everything (the two extremes, including for array literals) should be the two practices that work reliably. Might be some effort in figuring out whether there's any practical middle-ground.
18:15 timotimo the middle ground is what we're hoping to make practical with our "gradual typing"
18:15 moritz TimK1: if you want fully static typing, Perl 6 isn't the language you're looking for
18:18 moritz finding a suitable middle ground is just a matter of experience and preference
18:18 timotimo i'm sometimes a bit sad about how hard it is to statically optimize such things
18:19 timotimo sub foo(Int @a) { my Int $b = @a[0] };  <- is it safe to elide the type check for the assingment to $b? no, because @a could have all kinds of roles attached to it, or be a subclass of List that does weird things :(
18:19 dalek specs: fcd17ad | larry++ | S29-functions.pod:
18:19 dalek specs: split sleep() into three functions
18:19 dalek specs:
18:19 dalek specs: Specify sleep in terms of Reals, Durations and Instants, so that Int,
18:19 dalek specs: Rat and FatRat types are also allowed as inputs.  Use sleep() now when
18:19 dalek specs: you don't care how long it really sleeps, and you may use sleep-timer()
18:19 dalek specs: to convey the intent to measure remaining time.  Use sleep-till()
18:19 dalek specs: to sleep to a particular Instant without cumulative clock drift.
18:19 dalek specs: review: https://github.com/perl6/specs/commit/fcd17ad88c
18:19 TimK1 moritz: I don't want static typing. (I actually appreciate dynamic typing.) Experience and preference: That's one reason I've been experimenting with P6.
18:20 moritz TimK1: ok, great :-)
18:20 TimK1 timotimo: The power of Perl in action? :)
18:21 timotimo yeah :|
18:25 timotimo i can understand why nqp is considered "more optimizable" ... there's list_i, list_n, list_s and list. much easier
18:25 sftp joined #perl6
18:26 timotimo (funny how i only just started an optimizer for nqp, there was none before at all)
18:32 TimK1 left #perl6
18:33 arnsholt timotimo: Oh, speaking of the optimiser, you forgot to add the command line flag to turn it off =)
18:34 timotimo oopsie daisies
18:34 arnsholt --optimize=off didn't seem to work for me the other day, at any rate =)
18:43 Rotwang joined #perl6
18:48 agre joined #perl6
18:58 abnorman joined #perl6
19:03 slava arnsholt: why would you NOT want to optimize stuff? :P
19:04 jnthn slava: If you suspect there's a bug in the optimizer and want to make sure that ain't the problem :)
19:07 diakopter also, if you want to study performance characteristics of particular code
19:08 ajr joined #perl6
19:10 dalek specs: 7e9c2b6 | larry++ | S29-functions.pod:
19:10 dalek specs: merge interval and sleep-till to one function
19:10 dalek specs:
19:10 dalek specs: The sleep-till function now returns a boolean to make it easy to
19:10 dalek specs: do cycle-skipping like the old interval function does.  The old
19:10 dalek specs: interval function is deprecated for being a bit too special-purpose
19:10 dalek specs: and maintaining implicit state.  Better to make the user keep the
19:10 dalek specs: timebase state explicit, I feel.
19:10 dalek specs: review: https://github.com/perl6/specs/commit/7e9c2b64d0
19:17 TimToady for now ... * -> $tick { sleep-till($tick) and do_stuff() }  # very succinct now
19:18 * lizmat puts it on her list of things to fix
19:19 slava :(
19:20 jnap joined #perl6
19:21 REPLeffect joined #perl6
19:21 TimToady lizmat++
19:28 arnsholt jnthn: Passing an NQP array to an op that's specified as P in that argument is the right thing to do, no?
19:31 jnthn arnsholt: Should be
19:32 cognominal joined #perl6
19:32 arnsholt Probably not a wrong op spec, then
19:33 arnsholt It's just so weird that the get keyed VTABLE returns a completely spurious pointer
19:33 arnsholt Oh, which PMC is implementing lists these days? Are they still RPAs, or has everything been moved over to something 6model based?
19:33 iSlug joined #perl6
19:37 moritz nqp: say(pir::type__PS(nqp::list()))
19:37 camelia nqp: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting '(' ('$P5005')␤ in file '(file unknown)' line 41␤␤␤»
19:37 moritz nqp: say(pir::type__SP(nqp::list()))
19:37 camelia nqp: OUTPUT«error:imcc:syntax error, unexpected SREG, expecting '(' ('$S5001')␤ in file '(file unknown)' line 165723932␤␤␤»
19:38 moritz nqp: say(pir::type_str__SP(nqp::list()))
19:38 camelia nqp: OUTPUT«error:imcc:syntax error, unexpected SREG, expecting '(' ('$S5001')␤ in file '(file unknown)' line 158994204␤␤␤»
19:39 moritz nqp: my $a := nqp::list(); say($a.HOW.name($a))
19:39 camelia nqp: OUTPUT«Can only use get_how on a SixModelObject␤current instr.: '' pc 53 ((file unknown):44) (/tmp/8pINiNpg_j:1)␤»
19:39 * arnsholt just spotted something potentially important
19:40 moritz arnsholt: seems it's not a 6model object at least
19:40 arnsholt I never call the native_call_setup op in the test file...
19:40 moritz nqp: say(nqp::list().typename)
19:40 camelia nqp: OUTPUT«Method 'typename' not found for invocant of class 'ResizablePMCArray'␤current instr.: '' pc 49 ((file unknown):40) (/tmp/g1qxm4K5I4:1)␤»
19:40 moritz ok, still RPA :-)
19:40 arnsholt Which means that I'm kind of surprised class Call is repr('NativeCall') works at all
19:41 arnsholt jnthn: Should "class Foo is repr('BogusREPR') { ... }" explode in NQP?
19:42 jnthn Probably.
19:42 diakopter joined #perl6
19:42 jnthn C:\consulting\rakudo\nqp>nqp.bat -e "class Foo is repr('Blah') { }"
19:42 jnthn java.lang.RuntimeException: No REPR Blah
19:43 arnsholt Wut? "KnowHOWREPR cannot box other types"
19:43 jnthn Does on nqp-jvm.
19:43 arnsholt Doesn't on my Parrot REPL =)
19:43 anocelot joined #perl6
19:43 jnthn And Moar is equally unhappy
19:43 arnsholt nqp: class Foo is repr('Blah') { }
19:43 camelia nqp:  ( no output )
19:43 jnthn So, Parrot is the odd one out. My fault, of course... :)
19:44 FROGGS jnthn: it is always your fault :o)
19:44 FROGGS err, :P
19:44 jnthn FROGGS: I noticed :P
19:44 TimToady joined #perl6
19:46 ingy timotimo: ping
19:47 arnsholt jnthn: What's ""KnowHOWREPR cannot box other types" mean?
19:47 jnthn arnsholt: On Parrot, probably that you typo'd a REPR name and KnowHOWREPR is number 0... :)
19:48 arnsholt Hmm
19:49 arnsholt So what I'd expect to happen -before- I added the init op...
19:50 jnthn arnsholt: Remember that class Foo { } and similar happens at compile itme
19:51 jnthn arnsholt: So if you're doing an init op as a normal nqp::op in the mainline, even if it's before the class decl, it'll be too late.
19:51 jnthn (Use BEGIN if so)
19:51 arnsholt Excellent point!
19:52 arnsholt YAAAAAY!
19:52 arnsholt It's alive!
19:53 timotimo ingy: pong
19:53 arnsholt I'm very thankful this didn't turn out to be some kind of deep and inscrutable bug. Just my own mess up ^_^
19:53 ingy timotimo: can I ask you some p6 module questions?
19:54 ingy rakudo doesn't have panda, just R*, yes?
19:56 REPLeffect joined #perl6
19:57 FROGGS rakudo is just the compiler
19:57 FROGGS no modules (except Test.pm perhaps)
19:57 moritz and lib.pm :-)
19:58 * ingy updates http://wiki.perl6.org/Create%​20and%20Distribute%20Modules
19:59 FROGGS true :o)
20:06 ingy ok so to test yaml-pm6 I'm pointing PERL6LIB at testml-pm6 and running prove …
20:06 ingy timotimo: seem right?
20:07 PerlJam ingy: "prove -e perl6", right?
20:07 timotimo ingy: i'd suggest you use "ufo"
20:08 timotimo call ufo to make a makefile, run "make test" and done :)
20:09 ingy PerlJam: yes
20:10 ingy timotimo: so ufo is still in the picture? ok…
20:10 moritz for development, yes
20:10 * PerlJam didn't even know ufo still worked
20:10 PerlJam (I haven't used it in a long while)
20:11 dalek rakudo/nom: 78ccd95 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
20:11 dalek rakudo/nom: Cleanup of .gist/.perl for KeySet|Set
20:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/78ccd955b0
20:12 ingy is there a repo that has all the modules as git submodules?
20:12 dalek roast: dc2594c | (Elizabeth Mattijsen)++ | S02-types/keyset.t:
20:12 dalek roast: Unfudge test previously fudges when .gist and .perl failed on KeySet
20:12 dalek roast: review: https://github.com/perl6/roast/commit/dc2594c201
20:13 ingy I can see that R* is built that way
20:14 ingy it still has the .gitmodules in the download
20:14 moritz I think that's an oversight
20:15 jnthn lizmat++ # improving stuff faster than I can keep up with
20:15 lizmat jnthn: I just realized I didn't need typed hashes after all
20:15 lizmat now on to Bag/KeyBag  :-)
20:19 timotimo cool
20:20 * timotimo will now watch moritz' talk :)
20:23 dalek perl6-roast-data: 25b2d34 | coke++ | / (5 files):
20:23 dalek perl6-roast-data: today (automated commit)
20:23 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/25b2d34ae3
20:24 masak timk's comment at the end of https://rt.perl.org/rt3/Ti​cket/Display.html?id=66892 is easy to explain; the expression `$n == any(3..5)` is missing a `so` -- without it, the type of the expression isn't Bool, but Junction.
20:25 moritz still the error message is LTA
20:26 masak *nod*
20:28 [Coke] colomon++ niecza's passing percentage went up today
20:29 colomon \o/
20:29 telex joined #perl6
20:32 lizmat colomon: in Bag.pm, why are we making this a KeyBag: "method pick($count = 1) { self.KeyBag.pick($count) }"
20:33 colomon lizmat: pick needs to have something which can be modified to work on (so that things picked get removed)
20:34 colomon though something seems a touch wonky about this usage...
20:34 TimToady except in the special case of $count == 1, where you can just do a roll instead
20:34 colomon sure, that could be made more efficient
20:35 lizmat r: my $a=set(<a b c>); say $a.pick(2); say $a  # no special stuff on sets, still it works ?
20:35 colomon in general it could be more efficient, because KeyBag.pick itself makes a duplicate KeyBag to work on.
20:35 camelia rakudo 8bfb3c: OUTPUT«a b␤set(a, b, c)␤»
20:36 lizmat this is how Set.pm implements pick: method pick($count = 1) { %!elems.values.pick($count) }
20:36 colomon lizmat: Set / KeySet just make a List of their keys and call pick on that
20:36 ingy https://github.com/perl6/modules seems out of date and maybe a good candidate to be a submodule umbrella
20:36 colomon lizmat: you can't do that on Bag / KeyBag because the list could be ludicrously long
20:37 colomon because rolls / picks have to consider the counts in the bag
20:37 lizmat gotch
20:37 lizmat a
20:38 timotimo no gasps and cheers during your talk so far, moritz :(
20:38 TimToady nr: (^100000000).pick(5).say
20:38 camelia rakudo 8bfb3c: OUTPUT«76465851 84035743 12790234 8519591 70628155␤»
20:38 camelia ..niecza v24-94-g1042054: OUTPUT«63474057 10458857 57336877 14183682 5757114␤»
20:39 TimToady nr: (^5).pick(10).say
20:39 camelia niecza v24-94-g1042054: OUTPUT«4 2 1 0 3␤»
20:39 camelia ..rakudo 8bfb3c: OUTPUT«3 2 0 4 1␤»
20:39 * TimToady wonders where the crossover point is...
20:39 lizmat so there is no persistence inside the object for .pick
20:39 TimToady how could there be, if the object happens to be immutable?
20:40 lizmat .oO( inside out objects )
20:40 TimToady and even if not, it would not be threadsafe
20:42 locsmif joined #perl6
20:43 ingy is https://github.com/masak/ufo the canonical home of ufo?
20:43 * lizmat shelves some ideas for now
20:44 timotimo yes, it is
20:44 sqirrel joined #perl6
20:44 ingy seems weird to not be under perl6/
20:45 * ingy suspends all disbelief
20:46 ingy and exterminates rational thought
20:46 ingy (Naked Lunch)++
20:49 FROGGS ingy++
20:49 FROGGS *g*
21:03 bruges_ joined #perl6
21:04 zwut00 joined #perl6
21:05 ingy it seems that moving a rakudo/ repo directory after a `make install` into ./install/ breaks the install
21:06 ingy probably known. I'll just reinstall and see what happens
21:06 jnthn ingy: Your install was inside the rakudo repo?
21:08 ingy jnthn: yeah, the deafult
21:08 ingy *default
21:08 timotimo r: for 1, 10, 100 { say "trying to do the thing $_"; die "retry please" unless (False, False, False, False, True).pick; CATCH { when X::AdHoc { retry } } };
21:08 camelia rakudo 8bfb3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/zZ3j_275nRâ�¤Undeclared routine:â�¤    retry used at line 1. Did you mean '&return'?â�¤â�¤Â»
21:08 timotimo :(
21:08 timotimo there's some statement like that, right? to start a loop body over from the beginning?
21:09 jnthn redo, though not sure how it works out inside a CATCH :)
21:09 ingy error while loading shared libraries: libparrot.so.5.5.0
21:09 timotimo r: for 1, 10, 100 { say "trying to do the thing $_"; die "retry please" unless (False, False, False, False, True).pick; CATCH { when X::AdHoc { redo } } };
21:09 camelia rakudo 8bfb3c: OUTPUT«trying to do the thing 1␤trying to do the thing 1␤trying to do the thing 1␤trying to do the thing 1␤trying to do the thing 10␤trying to do the thing 10␤trying to do the thing 100␤»
21:09 timotimo cool beans!
21:10 ingy jnthn: do I need to start completely from scratch?
21:13 * ingy does
21:17 dmol joined #perl6
21:17 dayangkun joined #perl6
21:17 ingy git hub repos jnthn -r | git hub clone -
21:18 * ingy clones all of jnthn in one command :P
21:18 diakopter except the ones you can't see ;)
21:18 ingy o_0
21:19 jnthn ingy: Yeah, with a --prefix or so that's outside of the repo
21:19 FROGGS yeah, there are hidden repo's of Python 4 and C\\\
21:19 timotimo m)
21:21 jnthn Shh!
21:21 timotimo moritz: in your save-state/save-config example slide you put a call to save-config before its definition! =o
21:22 masak jnthn: I swear, I didn't tell FROGGS about Python 4! I definitely didn't mention C++22 either.
21:23 FROGGS ohh, sekrit repo was sekrit?
21:23 jnthn masak: So long as you don't leak COBOL-2020 it's all good
21:24 masak oh, I would never mention (or confirm the existence) of one of the super-sekkrit projects. that goes without saying.
21:24 masak s/\) of/of) /
21:28 FROGGS masak: should we register python4.org and just print in font-size 250 *LOL* after a few seconds?
21:28 FROGGS (with links to project euler of course :o)
21:29 diakopter :/
21:30 FROGGS uhh, downgraded the kernel of one of our important servers at work... the nic was down for 200s, I thought I killed it :/
21:31 timotimo :D
21:34 timotimo was kind of hard to understand the questions
21:35 * jnthn guesses the video of his async one didn't land yet...
21:37 timotimo i would remember the ghasps and cheers :)
21:40 masak FROGGS: though I appreciate the thought, I do believe we are above that. :)
21:41 masak FROGGS: our job isn't to taunt happy fun ball, it's to make things more awesome by doing the seemingly impossible. and then blogging about it.
21:41 masak FROGGS: things like v5. :) FROGGS++
21:41 FROGGS *g*
21:41 timotimo \o/
21:41 timotimo let's not be childish asshats, let's be awesome space robots instead!
21:42 FROGGS masak: a-pro-pos v5, do I get your +1 for making nqp::pack and nqp::unpack?
21:43 FROGGS and btw, I do want to have a way to tell sprintf/pack/unpack how big INTSIZE is for example...
21:43 masak FROGGS: how does it being nqp-level rhyme with being tied to Buf?
21:43 FROGGS like a dynamic variable %*THINGSIZES or so
21:44 masak FROGGS: yes, let's get together (online) and talk about INTSIZE. need to strike a balance between nice defaults and sane configuration...
21:44 FROGGS masak: like with sprintf and Int I guess, having an argument handler
21:44 lizmat r: my %e; (%e{$_.WHICH} //= ($_ => 0)).value++ for <a b b c c c>; say %e.perl  # scoping issue?
21:44 camelia rakudo 78ccd9: OUTPUT«("Str|a" => Any => 1, "Str|b" => Any => 2, "Str|c" => Any => 3).hash␤»
21:44 masak our job there is more to be compatible than to be innovative, if you ask me.
21:44 lizmat why are the pairs all Any?
21:46 lizmat r: my %e; for <a b b c c c> -> $k { (%e{$k.WHICH} //= ($k => 0)).value++}; say %e.perl  # this seems to work
21:46 camelia rakudo 78ccd9: OUTPUT«("Str|a" => "a" => 1, "Str|b" => "b" => 2, "Str|c" => "c" => 3).hash␤»
21:46 lizmat feels like a rakudobug to me
21:46 FROGGS r: my %e; -> $_ { (%e{$_.WHICH} //= ($_ => 0)).value++ } for <a b b c c c>; say %e.perl  # scoping issue?
21:46 camelia rakudo 78ccd9: OUTPUT«("Str|a" => "a" => 1, "Str|b" => "b" => 2, "Str|c" => "c" => 3).hash␤»
21:47 masak 'night, #perl6
21:47 FROGGS gnight masak
21:47 jnthn lizmat: I'm tired, but yes, looks like...
21:47 lizmat will use FROGGS++ quick fix
21:47 lizmat gnight masak
21:48 lizmat and report as rakudobug
21:51 lizmat #119609 created
21:51 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=119609
21:52 lizmat tadzik++
21:52 FROGGS lizmat++ and tadzik++
21:55 donaldh jnthn: is there any way to call IO::Spec.rel2abs from ModuleLoader.search_path, once the setting has loaded?
21:56 jnthn donaldh: Well, I guess %settings cache hash has the UNIT of setting handy... :)
21:56 jnthn See load_setting
21:56 lizmat $ perl6 -e 'my $h = bag(<a b c b c c>); say bag($h).perl'
21:56 lizmat bag(bag("a","b","b","c","c","c"))
21:56 lizmat hehe
21:56 jnthn lizmat++ # bags of improvements
21:56 jnthn 'night, #perl6
21:56 FROGGS gnight jnthn
21:56 lizmat gnight, jnthn
21:58 donaldh jnthn: thanks for the pointer.
21:58 donaldh 'night jnthn
22:00 lizmat TimToady: wonder whether it would be nice to have a left-autoquoting version of xx
22:00 Fatalnix joined #perl6
22:00 lizmat x> ?
22:00 lizmat a x> 3 would be the same as "a" xx 3
22:00 Fatalnix So I just decided to look at Perl 6 in depth, opened up the pdf book and OMG WAT HAPPENED is my first response.
22:01 timotimo what can we help you with today?
22:01 lizmat and the pdf book is a bit outdated, afaik
22:01 sqirrel joined #perl6
22:01 Fatalnix looked it, I think it was 2012
22:02 diakopter Fatalnix: depending on your meaning of "in depth", I'd avoid the pdf book and instead read through the rosettacode entries first
22:02 Fatalnix resettacode..
22:03 diakopter (example implementations of common things, where you can compare them to the same effects in other languages)
22:03 timotimo agreed, rosettacode is excellent
22:03 diakopter http://rosettacode.org/wiki/Category:Perl_6
22:03 diakopter click on a bunch of those
22:04 diakopter you'll get the hang of Perl 6 by example
22:04 Fatalnix hmm
22:04 * diakopter has a sneaking suspicion a decent chunk of those will make it into the new progperl6
22:05 tadzik hah, synopsebot was a good karma investment :)
22:05 Fatalnix I'm just a little scared because when I looked I saw %foo being accessed like %foo instead of $foo, and $bar->foo becoming $bar.foo and obviously not being the same thing
22:05 Fatalnix :D
22:06 Vlavv joined #perl6
22:06 timotimo :)
22:06 Fatalnix Hmm. How mature is Perl6 anyways
22:06 Fatalnix for production use
22:06 timotimo "sigil invariance" (the former thing) is quite clear IMO. $bar->foo turning into $bar.foo is, in my opinion, also nicer to look at and write
22:06 diakopter Fatalnix: depends on your product
22:07 tadzik 13 year olds are pretty immature, if you ask me
22:07 tadzik but when I was 13 I probably thought different than that :)
22:07 Fatalnix heh.
22:07 Fatalnix well I'm 25 years old but I like being immature.
22:07 Fatalnix It's the only way I know to stay young :D
22:07 tadzik high five
22:08 diakopter fist bump
22:08 timotimo five to the two!
22:08 Fatalnix lol
22:08 Fatalnix oh god Perl6 has class and method and enum
22:08 timotimo i think you mean "oh good" :)
22:08 Fatalnix lol
22:09 diakopter Fatalnix: the question is.. what doesn't it have?
22:09 Fatalnix not bad. I've been getting used to Moose in Perl5 really
22:10 geekosaur Moose is derived from the original Perl6 MOP proposal
22:10 Fatalnix and it looks like 6 still has the default variable
22:10 geekosaur (which has moved on a bit, so now they've diverged some)
22:10 diakopter .ask TimToady are the links on the Perl_6 rc page supposed to link to the p6 section anchors?
22:10 yoleaux diakopter: I'll pass your message to TimToady.
22:10 geekosaur in fact the original version of Moose was the Perl5-based prototype for the original MOP
22:17 Fatalnix what's the resemblance of say class foo { has bar $.baz, in terms of $.baz. why the period?
22:18 timotimo it's kind of like "$object.baz"
22:19 Fatalnix okay thats what I thought
22:19 diakopter the period means it can be accessed with a period (publicly)
22:19 Fatalnix so $. is kinda like using $self
22:19 timotimo has $!foo is private access, it kind of looks like you have to go through a door to get to the data
22:20 Fatalnix ohh
22:20 donaldh omg, IO-Socket-INET tests passing on JVM.
22:20 Fatalnix wait, JVM, WHAT?
22:20 timotimo oooooh yeah!
22:20 timotimo will you push it? :)
22:20 diakopter Fatalnix: rakudo perl 6 is being ported to the JVM and others
22:20 Fatalnix are you telling me that I will be able to make my own Minecraft mods in Perl now?
22:20 donaldh bigger timeouts required for spawning server and client right enough
22:21 Fatalnix hmm
22:21 donaldh omg, only 3% battery left
22:21 timotimo oh god
22:21 timotimo push quickly
22:21 diakopter AAAAAAAAAAAAAAAAAAAAAAAAAA
22:21 timotimo before your computer implodes
22:21 Fatalnix mash that A button
22:22 donaldh some cleanup and this might be ready to land
22:22 timotimo lovely :)
22:22 * donaldh has been golfing the IO-Socket-INET test suite all evening.
22:22 Fatalnix maybe this means we'll get a Perlonxen I dreamed of like http://erlangonxen.org
22:22 Fatalnix because Perl on bare vm metal would be insane.
22:22 Fatalnix gotta chop up stuff for dinnae
22:22 diakopter Fatalnix: heh.
22:23 donaldh 'night #perl6
22:23 timotimo 'night donaldherooftheday
22:23 donaldh :D
22:23 timotimo Fatalnix: with rakudo on the jvm you can currently play with our parallelism mechanisms
22:24 timotimo promises, async blocks, channels and KeyReducer, as well as a bit of async IO
22:24 cogno joined #perl6
22:24 diakopter Fatalnix: thanks for the link; I hadn't seen that. noted.
22:25 PZt joined #perl6
22:28 Mouq joined #perl6
22:35 Fatalnix hmm. Honestly, I hate the JVM, but itl be super useful for MC mods :D
22:36 Fatalnix because I absolutely hate Java
22:36 Fatalnix diakopter: oh you mean erlangonxen? yeah. I saw that and I was like, why can't I have this except for Perl?! because I'm going to be controlling my octocopter with a parallel api
22:38 Fatalnix http://postimg.org/image/rnmi5zvn7/full/
22:38 Fatalnix due to be 3D printed.
22:40 dalek rakudo/nom: c3d6b59 | (Elizabeth Mattijsen)++ | src/core/Set.pm:
22:40 dalek rakudo/nom: Style nit
22:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3d6b5923c
22:40 dalek rakudo/nom: a256161 | (Elizabeth Mattijsen)++ | src/core/Bag.pm:
22:40 dalek rakudo/nom: Rework of Bag, allowing bags of bags
22:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a256161102
22:40 skids joined #perl6
22:41 dalek roast: 3eae565 | (Elizabeth Mattijsen)++ | S02-types/bag.t:
22:41 dalek roast: Temporary fudges while work is being done on Bag
22:41 dalek roast: review: https://github.com/perl6/roast/commit/3eae5658f4
22:41 lizmat and on that thought, I'm going to hit the sack
22:41 lizmat gnight #perl6!
22:41 timotimo gnite :)
22:46 EvanTeitelman joined #perl6
22:52 cogno joined #perl6
23:12 locsmif joined #perl6
23:12 locsmif joined #perl6
23:13 panchiniak left #perl6
23:16 clkao joined #perl6
23:17 bruges joined #perl6
23:18 markov joined #perl6
23:21 locsmif joined #perl6
23:21 locsmif joined #perl6
23:45 markov joined #perl6

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

Perl 6 | Reference Documentation | Rakudo