»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:04 FROGGS left
[Coke] tadzik: I lied. removing a submodule is a PITA, and the directions I've found don't work for my version of git. we'll get it eventually. 00:05
00:11 cognominal left 00:12 cognominal joined 00:22 FROGGS joined
Tene [Coke]: git submodules? 00:30
[Coke]: What's the question?
00:42 donaldh joined
[Coke] Tene: github.com/rakudo/star/issues/27 00:42
00:43 donaldh left
BenGoldberg preflex: karma yoleaux 00:46
preflex yoleaux has no karma
yoleaux 16 Aug 2013 18:09Z <[Coke]> preflex: DIE DIE DIE
diakopter haha
BenGoldberg r: ((map { $_ }, ^Inf) but role {}).print 00:48
camelia rakudo 10b9ac: OUTPUT«This type does not support elems␤ in method REIFY at src/gen/CORE.setting:7493␤ in method reify at src/gen/CORE.setting:6719␤ in method reify at src/gen/CORE.setting:6706␤ in method gimme at src/gen/CORE.setting:7139␤ in method print at src/gen/CORE.setting:12…
BenGoldberg That's a bug, right?
TimToady it seems wrongish 01:03
otoh, I can see why it might want to precalculate how much it's going to output, if it's using join 01:04
but if it's using join, that might be the bug :)
but the traceback seems to indicate that it's gimme/reify that is calling elems, which is...problematic 01:06
since the whole point of gimme/reify is to avoid precalculating things...
or possibly it's calling .elems to see how much is in the reified bit 01:08
one would, horrors, have to read the source code to find out :)
TimToady promised the implementors 13 years ago that he would stay out of implementation, but maybe I should consider breaking that promise someday :) 01:09
s/I/he/
01:10 Mouq joined
BenGoldberg r: ((map { $_ }, ^Inf)).print 01:16
camelia rakudo 10b9ac: OUTPUT«(timeout)0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121…
01:28 raiph joined 01:30 FROGGS left
TimToady so two bugs maybe; it should know that the mixin is also infinite, but when it is sure, it maybe shouldn't be assuming finite 01:35
ss/is sure/isn't sure/
my n't key is going all gimpy again... 01:36
diakopter Promise.break() 01:48
01:49 FROGGS joined
Mouq #`[Perl 6 rocks. Just getting the little things Right saves like half the brain load writing it, in what little time I've spent with the language. (all contributers ever)++] 01:50
raiph Promises/A+ standardizes on the terms “fulfilled”, “rejected”, “reason”, and “pending”
(quoted from promisesaplus.com/differences-from-promises-a) 01:51
I don't know the standing of the Promises/A+ spec
but I like fulfil(ed), reject(ed), reason and pending 01:52
lue
.oO(Does this mean std will *run* my Perl 6 code too someday?)
02:15
02:29 araujo left 02:30 EvanTeitelman joined, araujo joined 02:39 raiph left 02:55 colomon joined
colomon is in Canada for the third time this summer... 02:59
and jakudo still is giving org.perl6.nqp.runtime.UnwindException 03:02
:(
that's when building. 03:08
03:11 raiph joined, EvanTeit1lman joined 03:12 EvanTeit1lman is now known as bayr 03:17 raiph left 03:18 abnorman left 03:19 xilo joined 03:21 jaldhar joined
colomon getting the error on both OS X and Linux 03:24
03:26 FROGGS left 03:29 preflex_ joined, ChanServ sets mode: +v preflex_ 03:30 preflex_ is now known as preflex
colomon complete rebuild from scratch also fails 03:35
and with that, I'm going to bed.
03:40 bayr left 03:44 EvanTeitelman left 03:50 colomon left 03:56 adu joined 04:03 skids left 04:11 BenGoldberg left
Mouq Following “Building Rakudo on JVM” with the latest everything AFAIK and OS X, I also fail, but with “No registered operation handler for 'jvmisnull'␤ in …” 04:20
This might just be me doing something dumb though
moritz Mouq: that usually means your copy of nqp is too old 04:22
TimToady that op was added on Aug 7, so yeah 04:23
Mouq :p 'k, thx. Wanted to see if I could duplicate colomon's error 04:24
TimToady FROGGS++ already bisected it earlier, and 144a3f87f58e576159c1dea7b6a8854f2bdc1e86 is apparently in error 04:26
5f460187c89ec42b98925dccebe1962b5efdbc60 is the last good commit 04:27
04:29 grondilu joined
adu hi TimToady 04:31
TimToady o/
Mouq Wow. So all the error does is tell you that it's throwing an error 04:40
TimToady "Something's wrong at line I dunno!" 04:41
04:42 benabik joined
diakopter "Either something's wrong or this error is wrong" 04:43
04:45 aindilis` joined 04:55 shinobicl_ joined 04:59 fridim__ joined 05:08 xilo left 05:12 FROGGS joined
Mouq Very aside, is something like Storable::dclone() needed in Perl 6? 05:13
moritz yes 05:16
Mouq Err, asking if/how to deep copy. I wasn't really plan on implementing Storable >_> 05:19
05:19 FROGGS left
TimToady --> bed # jet slagged 05:22
moritz first implement it, then use it :-)
Mouq Goodnight TimToady! 05:23
The error in 144a3f8 comes from src/core/Array.pm, I've determined that much
05:24 adu left 05:25 FROGGS joined
Mouq Ah. Okay, the answer appears to be "yes" indeed. I wasn't sure what question you were answering. But: 05:29
r: my $x = {"a"=>{"a"=>{"a"=>3}}};my $y = $x;$y<a><a><a>++;say $y.perl;say $x.perl;
camelia rakudo 10b9ac: OUTPUT«{"a" => {"a" => {"a" => 4}}}␤{"a" => {"a" => {"a" => 4}}}␤»
Mouq I want to deep clone so that $y !~~ $x at the end 05:30
But, so, there really isn't a method for this? 05:31
moritz no 05:32
Mouq Err, wait my bad in the previous comment; I got mixed up because I was testing Array, it's src/core/Hash.pm that messes everything up 05:33
checkout 144a3f8 and then git checkout 5f46018 src/core/Hash.pm and it works 05:34
05:47 FROGGS left 05:53 FROGGS joined
cognominal jnthn++ # slides for YAPC::EU 06:03
06:05 fridim__ left 06:11 iSlug joined
dalek : d21eaa1 | (Tobias Leich)++ | STATUS.md:
status update after nqp changes
06:17
06:22 SamuraiJack joined
dalek kudo/nom: ade8bc1 | (Tobias Leich)++ | src/core/ (3 files):
unbreak build by reverting 144a3f87f58e576159c1dea7b6a8854f2bdc1e86
06:28
Mouq FROGGS: The offending lines seem to be src/core/Hash.pm:29-31 06:31
FROGGS Mouq: before my last commit? 06:33
Mouq In 144a3f8
FROGGS hmmmm, I can just guess wildly what could be wrong with it 06:34
Mouq There are two other sets of basically the same thing within the file; maybe it's just because they don't get called, but `make` works when 29-31 are commented out 06:35
FROGGS .tell lizmat please read irclog.perlgeek.de/perl6/2013-08-17#i_7462070 06:42
yoleaux FROGGS: I'll pass your message to lizmat.
PerlJam r: my Buf $b .= new(); 06:46
camelia rakudo 10b9ac: OUTPUT«Cannot modify an immutable value␤ in method dispatch:<.=> at src/gen/CORE.setting:1154␤ in any at src/gen/Metamodel.nqp:1461␤ in block at /tmp/1pFS9XvIZu:1␤␤»
PerlJam r: my Buf $b = Buf.new();
camelia rakudo 10b9ac: ( no output )
PerlJam r: my Buf $b = $b.new(); 06:49
camelia rakudo 10b9ac: ( no output )
Mouq r: my Buf $b; $b .= new() #? 06:50
camelia rakudo 10b9ac: OUTPUT«Cannot modify an immutable value␤ in method dispatch:<.=> at src/gen/CORE.setting:1154␤ in any at src/gen/Metamodel.nqp:1461␤ in block at /tmp/blB71uYruw:1␤␤»
06:53 kaare_ joined 06:59 abnorman joined 07:14 PacoAir joined
grondilu I think Buf is not mutable yet because at_pos is not yet redefined for it. 07:14
(see Buf.pm line 200)
r: my Buf $b; $b = Buf.new: ^10; $b[3] = 13; 07:15
camelia rakudo ade8bc: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/LY_tto8SzH:1␤␤»
07:31 crab2313 joined 07:47 spider-mario joined
Mouq rn: my $foo; 0..* ==>$foo 07:48
camelia rakudo ade8bc: ( no output )
..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Feed ops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 1531 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3555 (infix:<==>> @ 4) ␤ at /tmp/naIVkSJi6O line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting li…
07:58 abnorman left 07:59 PacoAir left 08:02 PacoAir joined 08:03 PacoAir left 08:39 Mouq left 08:42 cognominal left, cognominal joined
masak oh hai #perl6 08:44
masak is back home
grondilu whishes he could write: loop do-something(); instead of loop { do-something() }; 08:47
grondilu thought of this while writing rosettacode.org/wiki/Arithmetic-geo...ean#Perl_6 He though it would be nice if he could write loop given { ... } instead of loop { given {...} } 08:49
08:55 thou left 09:02 SamuraiJack left
masak ah, so making 'loop' take a blast instead of just a block. 09:05
I *think* that'd fly.
r: macro myloop($s) { quasi { loop { $s } } }; myloop say "!" 09:06
09:06 SamuraiJack joined
camelia rakudo ade8bc: OUTPUT«(timeout)» 09:06
masak er. 09:07
r: macro myloop($s) { quasi { loop { {{{$s}}} } } }; myloop say "!"
camelia rakudo ade8bc: OUTPUT«(timeout)!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!␤!􏿽xE2􏿽x90
masak \o/
quotation levels are tricky ;)
09:08 locsmif joined
masak locsmif: greetings. 09:08
09:11 rhr joined
grondilu masak: nice, but it doesn't work if I try: myloop given rand { .say } 09:18
masak grondilu: try 'myloop do given rand { .say }' 09:20
grondilu: I haven't *actually* made it into a statement prefix, like 'try'. 09:21
grondilu indeed, do works
masak \o/
so 'myloop given <anything>' reads 'given' as a statement modifier.
and so 'myloop given rand { .say }' is TTIAR. 09:22
09:22 shinobicl_ left
grondilu got a weird error while trying: (do given rand { .say }) xx * 09:24
r: (do given rand { .say }) xx *
camelia rakudo ade8bc: ( no output )
grondilu perl6 -e '(do given rand { .say }) xx *'
===SORRY!=== 09:25
Could not find sub cuid_1_1376731420.91863
masak submits rakuodbug
diakopter o_O
sounds like an optimizer bug
masak hm, cannot reproduce locally.
grondilu: are you on ade8bc?
I seem to be on 0cd2c68 locally. 09:26
grondilu hang on
locsmif hi masak
grondilu the macro definition was actually still there (I did not bother deleting it)
if I remove it, the error does not appear.
masak locsmif: I'd like to extend a sincere welcome. if there's anything I can help with, please ask.
grondilu r: macro myloop($s) { quasi { loop { {{{$s}}} } } }; (do given rand { .say }) xx * 09:27
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376731623.80477␤»
09:27 cognominal left
grondilu r: macro myloop($s) { quasi { loop { {{{$s}}} } } }; 09:27
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376731638.76788␤»
grondilu weird, isn't it?
masak oh! it's 'cus of the macro.
09:27 cognominal joined
locsmif masak: thanks, just your regular Perl affacianado hanging around. :) 09:27
afficianado*
masak locsmif: yes, I figured that out. :)
locsmif: since you show up so soon after a YAPC ;) 09:28
locsmif Heh... never been to one unfortunately, but I believe there must be some where I am (NL)
masak grondilu: why the heck did you get it for the 'perl6 -e' execution above? is that a real copy-paste?
locsmif: oh! then I was wrong. :) anyway, welcome! 09:29
rn: say <greetings aloha welcome>.roll, " locsmif!"
camelia rakudo ade8bc, niecza v24-88-g1f87209: OUTPUT«welcome locsmif!␤»
masak :D 09:30
locsmif :D
09:31 colomon joined
masak r: say "When someone asks 'Where can I download Perl 6?', we ought to say 'Here is Rakudo Star'." 09:33
camelia rakudo ade8bc: OUTPUT«When someone asks 'Where can I download Perl 6?', we ought to say 'Here is Rakudo Star'.␤»
masak star: say "When someone asks 'Where can I download Perl 6?', we ought to say 'Here is Rakudo Star'."
camelia star 2013.02: OUTPUT«When someone asks 'Where can I download Perl 6?', we ought to say 'Here is Rakudo Star'.␤»
masak 2013.02 is the newest Star release? :/
grondilu masak: it was a "hand-made" copy paste, if you see what I mean.
masak grondilu: that explains it. 09:34
grondilu: please don't do that. :) it makes it harder to reason deductively about causes.
grondilu ok
09:39 Mouq joined 09:41 crab2313 left
masak r: macro myloop($s) { quasi { loop { {{{$s}}} } } } 09:42
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376732548.89373␤»
masak r: macro myloop($s) { quasi { loop { {{{$s}}} } } }; say "A"
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376732554.79208␤»
masak r: macro myloop($s) { quasi { loop { } } }; say "A"
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376732563.08685␤»
masak r: macro myloop($s) { quasi { } }; say "A"
camelia rakudo ade8bc: OUTPUT«A␤»
masak r: macro myloop($s) { quasi { loop { } } } 09:43
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376732590.26211␤»
09:46 rindolf joined
Mouq also 09:51
r: macro myloop($s) { quasi { while 1 { } } }
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376733098.895␤»
Mouq but not
r: macro myloop($s) { quasi { for 1 { } } }
camelia rakudo ade8bc: ( no output )
Mouq r: macro myloop($s) { quasi { for 1..* { } } } 09:52
camelia rakudo ade8bc: ( no output )
timotimo r: macro myloop($s) { quasi { loop { } } }; say &myloop; 09:54
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376733256.21519␤»
timotimo r: macro myloop($s) { quasi { loop { } } }; say "alive?";
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376733262.89451␤»
timotimo ah, so it's not even that.
masak right. 09:55
it's macros and loops (but not for loops), AFAICS. 09:56
09:57 colomon left
Mouq r: macro myloop($s) { quasi { 1; loop { } } } 10:01
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376733672.75965␤»
Mouq r: macro myloop($s) { quasi { for 1 {}; loop { } } } # :B 10:02
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_2_1376733748.30408␤»
timotimo i still can't get rakudo to build 10:03
something must be foul
10:04 Rotwang joined, pdcawley joined
moritz tries again 10:06
timotimo but i didn'r get the unwind exception, i get the very early class not found thingie
anyway, i need to go now
moritz timotimo: are you on nqp/master?
timotimo yes
configured and made clean a few times over
Mouq The latest commit make'd for me :/ 10:09
Oh, maybe I was doing stuff wrong though... 10:10
dalek kudo/nom: d9f8d6e | tadzik++ | tools/build/Makefile-JVM.in:
Make 'make install' build stuff
masak r: quasi { loop {} } 10:12
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376734365.60755␤»
moritz r: quasi { loop {} }; 1 10:13
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1376734386.4858␤»
moritz ok, it's not sink context that's to blame :-)
masak I bet from hunting that one down, I will learn something about the Rakudo internals.
moritz: right -- that's easy to assume, but we established above that it wasn't. 10:14
GlitchMr std: "\x" 10:18
camelia std c2215f0: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\x' at /tmp/Vb18QyNjxB line 1:␤------> "\x⏏"␤Check failed␤FAILED 00:00 41m␤»
GlitchMr It's \x00 in Perl 5 (but I assume it's one of its bugs...)
tadzik moritz: I think you know; where is -I implemented?
masak GlitchMr: I assume so too. 10:21
pdcawley 1 @ 2 10:23
Gah! Completely the wrong window.
masak :)
diakopter pdcawley: oh noes! :D 10:24
pdcawley Heh.
Thinking smalltalk.
masak r: multi infix:<@>($l, $r) { $l +^ $r }; say 1 @ 2
camelia rakudo ade8bc: OUTPUT«3␤»
masak \o/
pdcawley r: multi infix:<@>($x,$y) { Point.new(...) } 10:25
camelia rakudo ade8bc: OUTPUT«===SORRY!=== Error while compiling /tmp/bgYBfDHoYE␤Undeclared name:␤ Point used at line 1␤␤»
pdcawley Just need to write the point class :)
r: class Point { has $.x; has $.y; }; multi infix:<@>($x, $y) { Point.new(:x<$x>, :y<$y>) }; say 1 @ 2 10:27
camelia rakudo ade8bc: OUTPUT«Point.new(x => "\$x", y => "\$y")␤»
pdcawley Awesome!
r: class Point { has $.x; has $.y; }; multi infix:<@>($x, $y) { Point.new(:x<$x>, :y<$y>) }; say 1@2
camelia rakudo ade8bc: OUTPUT«Point.new(x => "\$x", y => "\$y")␤»
jnthn pdcawley: Point.new(:$x, :$y) # shortcut :) 10:28
pdcawley Presumably, if I added a 'method perl' to Point, that output could be rejiggered to ($x@$y) 10:29
jnthn: Of course!
jnthn um, and...I think you wanted :x($x), as :x<$x> is a literal :)
pdcawley Ah. Right. Yes.
Been away from six a while.
pdcawley keeps reading the docs... 10:30
diakopter we have docs? 10:32
pdcawley There's something at doc.perl6.org
Can't say they're brilliant, but they're a start.
I'm also vaguely wondering if we (can) get Haskell style autocurrying... 10:34
sub foo($a, $b) is Curried { ... } or some such?
pdcawley blinks... circumfix () and circumfix {}? They're just operators like any other? 10:36
That's awesome.
masak aye. 10:37
we have prefix, postfix, infix, but then also circumfix and postcircumfix.
the only one that's obviously missing is precircumfix ;) 10:38
pdcawley Could one do multi circumfix:(Announcement *@ann) and have it yield an AnnouncementCollection or some such?
Or just override comma?
jnthn r: sub circumfix:<LOL LOL>($str) { $str.subst('s', 'z', :g) }; say LOL 'cheeseburger' LOL 10:39
camelia rakudo ade8bc: OUTPUT«cheezeburger␤»
pdcawley has been playing with smalltalk - overriding comma for building specialized collections is one of those tricks you want to use everywhere.
masak pdcawley: the syntax is 'circumfix:<[ ]>(Announcement *@ann)' or some such. 10:41
pdcawley masak: Gotcha - jnthn's example was helpful. 10:42
masak that is, you specify the actual circumfixing symbols inside alligator quotes.
jnthn The...alligator?!
masak :)
jnthn Did we call them that before? :P
masak not that I know of.
but that's obviously what they are :>
pdcawley `~< >~' are alligators, surely? 10:43
masak r: sub circumfix:<< ~< >~ >>($str) { $str.uc }; say ~< 'come here... om nom nom' >~ 10:44
camelia rakudo ade8bc: OUTPUT«===SORRY!=== Error while compiling /tmp/7WbjybgfGQ␤Two terms in a row␤at /tmp/7WbjybgfGQ:1␤------> c }; say ~< 'come here... om nom nom' >~⏏<EOL>␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-…
masak hrm... that looks legit to me.
std: sub circumfix:<< ~< >~ >>($str) { $str.uc }; say ~< 'come here... om nom nom' >~
camelia std c2215f0: OUTPUT«===SORRY!===␤Prefix requires an argument at /tmp/xl_7WWEqT3 line 1 (EOF):␤------> c }; say ~< 'come here... om nom nom' >~⏏<EOL>␤Other potential difficulties:␤ >~ is not an infix operator (to suppress warning put space between in…
jnthn masak: Conflict with the prefix.
masak yesbut... LTM... 10:45
jnthn masak: EXPR always parses a prefix, then a term.
And a circumfix is a term.
masak ah.
pdcawley looking at these docs again... various operators doing 'returns Numeric:D'
jnthn LTM only helps if you're looking for the right categories :P
pdcawley what does the :D mean?
masak pdcawley: defined.
pdcawley: often it means "don't accept the type object"
r: sub foo(Int) { say "yess!" }; foo Int
camelia rakudo ade8bc: OUTPUT«yess!␤»
masak r: sub foo(Int:D) { say "yess!" }; foo Int 10:46
camelia rakudo ade8bc: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in sub foo at /tmp/oyXUsKZKJj:1␤ in block at /tmp/oyXUsKZKJj:1␤␤»
pdcawley So 'returns Numeric' means?
masak pdcawley: that they return anything Numeric, including the type object.
pdcawley r: sub foo(Int) { say "yess!" }; foo undef
camelia rakudo ade8bc: OUTPUT«===SORRY!=== Error while compiling /tmp/YllCqdlX_F␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Any (the "whatever" type object),␤ an undefined type object such as Int,␤ :!defined as a matcher,␤ Any:U as a
..ty…
masak pdcawley: in Perl 6, a type object like Numeric is on "equal footing" with actual instance objects.
pdcawley: undefined is abolished as being not type-y enough.
pdcawley So, undef : Perl 5 :: Nil : Perl 6 10:47
r: sub foo(Int) { say "yess!" }; foo Nil
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (Nil) (lines 1, 1)␤ Expected: :(Int )␤»
pdcawley Allowing an instance of the type or the type objects seems like an interesting choice.
Not particularly Huffmanized it seems to me. 10:48
jnthn back in a bit 10:49
masak pdcawley: no, I'd say in most cases Any stands in for 'undef'. 10:50
pdcawley: but if, as above, your &foo wants an Int, then Int stands in for 'undef'. 10:51
think of it as a "typed 'undef'"
pdcawley Hmm... that might take a bit of getting used to. 10:52
What's the diff between a type object and a class?
Mouq I don't think there is one. (?) See for example Math::Quaternion github.com/Util/Perl6-Math-Quatern...ernion.pm6 10:54
masak pdcawley: the type object is an object that can be used to represent either the whole class, or an undefined object of that class.
pdcawley: one very common use of type objects is to simply do Dog.new on them.
pdcawley: that is, type objects have all the methods instances of that class have. but you're not supposed to call methods that use attributes, since type objects don't deal in attributes. 10:55
pdcawley No parameterised types?
List(Int) ?
masak yes, but only in roles.
classes in Perl 6 are too "messy" to do parameterization. roles are static enough to do it. 10:56
GlitchMr std: <<<<<<< 10:57
camelia std c2215f0: OUTPUT«===SORRY!===␤Unable to parse shell-quote words at /tmp/yaV_PbXveb line 1:␤------> <BOL>⏏<<<<<<<␤Couldn't find final '>>'; gave up at /tmp/yaV_PbXveb line 1 (EOF):␤------> <<<<<<<⏏<EOL>␤Parse failed␤FAILED 00:00 …
GlitchMr std: #DEBUG -1 10:58
camelia std c2215f0: OUTPUT« ::::::::::::::: RE_any 3 [RE_ast.pm:553]␤ :::::::::::::::: RE_sequence [RE_ast.pm:518]␤ ::::::::::::::::: RE_meta $ [RE_ast.pm:401]␤ ::::::::::::::::: RE_method ws [RE_ast.pm:411]␤ ::::::::::::::::: RE_method_re before [RE_ast.pm:440]␤ ::::::::::::::::::
..RE_cclass […
GlitchMr rn: gist.github.com/GlitchMr/6256391 11:00
camelia rakudo ade8bc: OUTPUT«===SORRY!===␤Found a version control conflict marker␤at /tmp/3Tr1PxZtcG:3␤------> <<<<<<<⏏ yours:sample.p6␤Preceding context expects a term, but found infix ==== instead␤at /tmp/3Tr1PxZtcG:5␤------> ====⏏===␤␤…
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Found a version control conflict marker at /tmp/ysNSBYrpYV line 3:␤------> <<<<<<<⏏ yours:sample.p6␤␤Bogus statement at /tmp/ysNSBYrpYV line 5:␤------> <BOL>⏏=======␤␤Parse failed␤␤»…
pdcawley From Perl6::Math::Quaternion »**» vs »*« ?
(That class is rather splendid, btw) 11:01
masak pdcawley: the direction of the » markers indicate a kind of strictness. 11:02
r: my @x = 1, 2, 3; my @y = 10, 20, 30; say @x »+« @y
camelia rakudo ade8bc: OUTPUT«11 22 33␤» 11:03
pdcawley Okay...
masak r: my @x = 1, 2, 3; my @y = 10; say @x »+« @y
camelia rakudo ade8bc: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<+> are not of the same length␤left: 3 elements, right: 1 elements␤ in sub hyper at src/gen/CORE.setting:15490␤ in sub hyper at src/gen/CORE.setting:15478␤ in block at src/gen/CORE.setting:15469␤ in block at /…
masak r: my @x = 1, 2, 3; my @y = 10; say @x »+» @y
camelia rakudo ade8bc: OUTPUT«11 12 13␤»
masak see, if you turn an arrow towards the operand, it doesn't have to be of the same shape as the other operand.
(and values are sort of filled in, rotating back to the beginning as necessary) 11:04
pdcawley So if you're raising everything in a list to the same power, you do @list »**« $pow
Sorry »**» $pow
masak aye.
correct.
by the way, every time you do something like »**» with both arrows turned the same way, you should consider whether it's actually hyper behavior you want/need, or whether it's laziness with X** 11:05
they give the same result, but they behave differently.
jnthn Z** ? 11:06
masak oh! 11:07
yes.
of course.
pdcawley masak: I like laziness well enough, but Z**?
masak rightright, Z** 11:08
pdcawley snippet?
masak r: my @x = 1, 2, 3; my @y = 10; say @x Z+ @y
er.
camelia rakudo d9f8d6: OUTPUT«11␤»
masak r: my @x = 1, 2, 3; my @y = 10; say @x Z+ @y, *
camelia rakudo d9f8d6: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in method Numeric at src/gen/CORE.setting:961␤ in sub infix:<+> at src/gen/CORE.setting:3561␤ in sub infix:<+> at src/gen/CORE.setting:3559␤ in block at src/gen/CORE.setting:15359␤ in …
masak r: my @x = 1, 2, 3; my @y = 10, 20, 30; say @x Z+ @y 11:09
camelia rakudo d9f8d6: OUTPUT«11 22 33␤»
pdcawley take @x Z+ @y ?
masak sorry, what?
Mouq Whoa. My brain just exploded when I realized you could (I'm pretty sure) implement X and Z with something sub infix:<X> (@a, @b) is parsed({...}) {...}
pdcawley Z = zip?
Mouq r: my @x = 1, 2, 3; my @y = 10; say @x Z+ @y xx *
masak pdcawley: aye.
camelia rakudo d9f8d6: OUTPUT«11 12 13␤»
pdcawley Implicitly lazy?
masak pdcawley: and zip is lazy, whereas hyperops are not.
pdcawley: yes.
pdcawley: it took us years to realize that X and Z were not just operators (cross product and zip, respectively), but also metaoperators. 11:10
pdcawley Hmm... not take, because take belongs to gather...
masak: Writing zipWith all the time?
r: my @x = 1,2,3; say @x X, @x 11:11
camelia rakudo d9f8d6: OUTPUT«1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3␤»
pdcawley r: my @x = 1,2,3; say @x X @x
camelia rakudo d9f8d6: OUTPUT«1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3␤»
masak pdcawley: I don't remember what we did before that. I guess we looped over stuff with 'for @x Z @y' and did things in the loop.
pdcawley r: my @x = 1,2,3; say @x X=> @x
camelia rakudo d9f8d6: OUTPUT«1 => 1 1 => 2 1 => 3 2 => 1 2 => 2 2 => 3 3 => 1 3 => 2 3 => 3␤»
pdcawley masak: zipWith's a pretty common higher order combinator. 11:12
masak aye.
guess we were slow on that one :)
pdcawley Does Z($a,$b -> { ... }) work then?
Or have we got Haskelly list comprehensions for more complex combinators? 11:13
masak metaoperators work *only* on operators. 11:15
well, kinda.
pdcawley While I'm about it, if I want to do (1,2,3) ??? (1,2) and get ([1,1], [2,2]) as output (ie, zipping to the shortest), what do I do?
masak pdcawley: but you can do '@a Z @b Z @c' and it'd do what you want.
because chaining operators.
pdcawley masak: I don't think you get what I want.
masak no, maybe not. 11:16
pdcawley Zipping two lists and combining with an arbitrary lambda rather than a given op.
GlitchMr std: use incorrect
camelia std c2215f0: OUTPUT«===SORRY!===␤Cannot locate module incorrect at /tmp/JtqfzMxVD2 line 1 (EOF):␤------> use incorrect⏏<EOL>␤Check failed␤FAILED 00:00 41m␤»
GlitchMr Why neither Niecza or Rakudo has Sorry message in that case.
pdcawley Haskelly style, zipWith \x,y -> x * y + 999 $ xs
masak pdcawley: easiest to wrap your arbritary lambda in a sub or an op, I thinkk.
think*
pdcawley p'shaw! 11:17
masak pdcawley: or use the actual zipwith function.
pdcawley Happy enought to use zipWith :)
persumably zipWith is lazy.
masak aye, 'cus it drives the operator.
pdcawley is there an equivalent to haskell's handy `func` which magically turns a binary function into an infix operator? 11:19
masak r: my @words = <so many words>; say @words.zipwith( -> $l, $r { $l ~ $r })
camelia rakudo d9f8d6: OUTPUT«No such method 'zipwith' for invocant of type 'Array'␤ in block at /tmp/rJmOquADfd:1␤␤»
masak submits NYI rakudobug
.zipwith is mentioned in S03:4774 11:20
synopsebot Link: perlcabal.org/syn/S03.html#line_4774
masak pdcawley: yes, kinda.
pdcawley masak: I'd expect a second list argument there...
And generally expect zipWith to be a function, not a method.
masak pdcawley: oh, you're right.
r: sub foo { say "It was $^a and $^b" }; say "ham" [&foo] "eggs" 11:21
camelia rakudo d9f8d6: OUTPUT«===SORRY!=== Error while compiling /tmp/cETJixHW8h␤Unable to parse expression in bracketed infix; couldn't find final ']'␤at /tmp/cETJixHW8h:1␤------> say "It was $^a and $^b" }; say "ham" [&⏏foo] "eggs"␤»
masak hrm.
pdcawley r: @a = (1,2,3); @b = (5,6,7); zipWith [+], @a, @b
camelia rakudo d9f8d6: OUTPUT«===SORRY!=== Error while compiling /tmp/pPahNJgfWo␤Variable '@a' is not declared␤at /tmp/pPahNJgfWo:1␤------> @a⏏ = (1,2,3); @b = (5,6,7); zipWith [+], @␤ expecting any of:␤ postfix␤»
masak r: (<a b>; 1,2).zipwith(&[~])
camelia rakudo d9f8d6: OUTPUT«WARNINGS:␤Useless use of "a b" in expression "a b" in sink context (line 1)␤No such method 'zipwith' for invocant of type 'Parcel'␤ in block at /tmp/57qxSq2VBV:1␤␤»
masak that's the actual example from S03.
guess list-of-lists are not quite there yet. 11:22
bah.
pdcawley r: my @a = (1,2,3); my @b = (5,6,7); zipWith [+], @a, @b 11:23
camelia rakudo d9f8d6: OUTPUT«===SORRY!=== Error while compiling /tmp/Cnfn76gZfT␤Undeclared routine:␤ zipWith used at line 1␤␤»
jnthn r: zip 11:24
camelia rakudo d9f8d6: OUTPUT«(timeout)»
masak r: sub zipWith(&op, @l, @r) { map { &op($^l, $^r) }, (@l Z @r) }; say (zipWith &[+], <1 2 3>, <70 80 90>).perl
camelia rakudo d9f8d6: OUTPUT«(71, 82, 93).list␤»
masak \o/
masak submits rakudobug on jnthn's timeout
jnthn wonders where zip is defined
pdcawley masak: Wants to take >=2 lists surely? 11:25
masak pdcawley: just a simple example. but yes.
jnthn oh...
my &zip := &infix:<Z>;
:)
pdcawley ie, 'zipWith &[+], @a, @b, @c' should work.
masak jnthn: still shouldn't hang.
jnthn masak: aye, no idea why it does that. 11:26
masak pdcawley: yes; this is where lists of lists come in.
pdcawley lists of lists, or parcels of lists?
jnthn Well, I think @a Z @b Z @c works...
tadzik jnthn: I have a feeling something's wrong with ModuleLoader's search_paths
if INC is set, it completely skips vm_search_paths
masak jnthn: yes, it does.
pdcawley r: my @a = (1,2,3); (@a Z @a Z @a).perl
camelia rakudo d9f8d6: ( no output )
pdcawley r: my @a = (1,2,3); say (@a Z @a Z @a).perl
camelia rakudo d9f8d6: OUTPUT«((1, 1, 1), (2, 2, 2), (3, 3, 3)).list␤» 11:27
tadzik that can't be right, can it?
masak pdcawley: "lists of lists" is our slightly wrong term for "parcels of lists"
pdcawley masak: Fairy nuff.
tadzik pdcawley: could you upload the lyrics for "1-2-3 Perl Hackers" somewhere, while the video is not online yet?
pdcawley Nope.
And I'd rather the video weren't online. 11:28
tadzik oh
why so?
pdcawley That stuff is under the "What happens at YAPC stays at YAPC"
licencse.
tadzik heh, ok
masak pdcawley++
pdcawley It's lyrically ropey as hell.
Which is fine when it's a song about what happened at a particular event, but not fine for it to have a life after that.
jnthn tadzik: Note that in terms.pm, the things that are normally identified by vm_search_paths should be being put into @INC. 11:30
tadzik: So it's redundant once @INC is there.
pdcawley If I implement 'multi sub perl(MyType $thing) { ... }', do I get $mything.perl for foree?
tadzik oh. Seems like they aren't for some reason
pdcawley s/foree/for free/?
Expecting the answer to be 'yes', but just checking
tadzik symptom: if I use either PERL6LIB or -I, Test.pm is not being located anymore
jnthn tadzik: OK, maybe check for if there's any accidental differences :)
tadzik it must be something jvm-specific 11:31
jnthn tadzik: Sure...I wonder if we're missing some notion of install directory?
tadzik: In the paths, I mean.
tadzik possibly
our install is a bit dodgy
jnthn Well, on an installed one, does @*INC contain the place wehre Test.pm is put? :) 11:33
If not, that's probably the problem ;)
tadzik it may be that it doesn't :)
pdcawley So... if I wanted to contribute something to perl6, where's zipWith documented and can I implement it in perl6, or should I use nqp? 11:34
11:35 colomon joined
pdcawley r: say perl (1,2,3) Z (1) 11:35
camelia rakudo d9f8d6: OUTPUT«===SORRY!=== Error while compiling /tmp/dM7R1LlsU_␤Undeclared routine:␤ perl used at line 1␤␤»
pdcawley r: say ((1,2,3) Z (1)).perl 11:36
camelia rakudo d9f8d6: OUTPUT«((1, 1),).list␤»
pdcawley Hmm... docs say perl should work as a multisub as well as as a method.
11:36 xinming left 11:38 xinming joined
pdcawley r: (<a b>; 1,2).zip.lol.map: { .reduce(&[~]) } 11:40
camelia rakudo d9f8d6: OUTPUT«WARNINGS:␤Useless use of "a b" in expression "a b" in sink context (line 1)␤No such method 'zip' for invocant of type 'Parcel'␤ in block at /tmp/JoeDRl60Pe:1␤␤»
pdcawley Hmm... no wonder the synopsis for .zipWith isn't there, the .zip isn't there either :)
(<a b>; 1,2).lol
r: say (<a b>; 1,2).lol 11:41
camelia rakudo d9f8d6: OUTPUT«WARNINGS:␤Useless use of "a b" in expression "a b" in sink context (line 1)␤1 2␤»
pdcawley is making shit up and expecting the computer to understand him now...
cosimo aren't we all? 11:46
pdcawley There is that :)
r: (<a b>; 1,2).zip.tree.map: { .reduce(&[~]) } 11:49
camelia rakudo d9f8d6: OUTPUT«WARNINGS:␤Useless use of "a b" in expression "a b" in sink context (line 1)␤No such method 'zip' for invocant of type 'Parcel'␤ in block at /tmp/CxAifWdgSq:1␤␤»
GlitchMr glitchmr.github.io/perl-changes-2013W10.html (error pages, why I bother...)
pdcawley r: say (<a b>; 1,2).tree
camelia rakudo d9f8d6: OUTPUT«WARNINGS:␤Useless use of "a b" in expression "a b" in sink context (line 1)␤1 2␤»
jnthn pdcawley: Try just , there
instead of ;
pdcawley r: say (<a b>, (1,2)).tree 11:50
camelia rakudo d9f8d6: OUTPUT«a b 1 2␤»
pdcawley was following other examples.
jnthn r: say (<a b>, (1,2)).tree.perl
camelia rakudo d9f8d6: OUTPUT«LoL.new($("a", "b"), $(1, 2))␤»
GlitchMr Isn't ";" so called "comma" operator.
pdcawley r: say ;.perl
camelia rakudo d9f8d6: OUTPUT«␤»
pdcawley r: say (1,2;3,4).perl 11:51
camelia rakudo d9f8d6: OUTPUT«WARNINGS:␤Useless use of "," in expression "1,2" in sink context (line 1)␤(3, 4)␤»
jnthn shopping &
pdcawley ast: (1,2;3,4)
Right. Need to go buy Earl Grey Tea. 11:52
I shall be back - mind blown by how far P6 has come since I last looked :)
And a pointer on how to contribute a zip/zipWith implementation would be handy for when I get back - even just a pointer to a webpage.
12:03 birdwindupbird joined
Mouq Am I right to think that I can have a role in it's own file (My/Role.pm) and then maybe use My::Role somehow? 12:08
s/it's/its/
colomon pdcawley! \o/ 12:12
Mouq: yes
Mouq Awesomecoolness, thank you 12:13
colomon has role ABC::Duration in lib/ABC/Duration.pm, so it even works. ;)
12:15 rindolf left
masak moritz: just found this: lesswrong.com/lw/hmx/prisoners_dile...urce_code/ lesswrong.com/lw/hxy/prisoners_dile...t_results/ (haven't read it yet) 12:23
12:28 xenoterracide joined
timotimo GlitchMr: that error page is super cute! 12:29
i was able to build jakudo by supplying an absolute path to --with-nqp
thanks for the hint, whoever i have that from
12:31 dmol1 joined 12:32 dmol left 12:42 cognominal left, cognominal joined 12:44 mtk joined 12:50 cognominal left, cognominal joined
FROGGS masak / jnthn: when nqp::sprintf passes the spectest suite and most of P5's sprintf tests, I am allowed then to use it for parrot backend too? 12:57
jnthn FROGGS: It'll pass more spectests on Parrot too then, 'cus it handles bigint better, iiuc? 12:59
FROGGS jnthn: that should be the case, yes 13:00
13:00 crab2313 joined
FROGGS right now I have a problem with the nqp test for it though, there is a testbigint repr, and it complains about get_integer() not being implemented... 13:00
jnthn FROGGS: Maybe a missing nqp::unbox_i somewhere? 13:01
13:02 domidumont joined
FROGGS I'll have a look... thank you! 13:05
13:07 Mouq left 13:16 census left 13:18 coax75ohm joined
colomon FROGGS: Glad to see someone else hacking on sprintf. :) 13:27
masak \o/ 13:28
13:38 fridim__ joined
timotimo hm, can i assign to $/<something>? perhaps clear it? 13:40
jnthn no
timotimo i have a schlemiel-the-painter algorithm in my table parser right now
although that pretty much could be helped by moving one part into its own rule, i should probably really try that. 13:41
13:45 donaldh joined
colomon has just received a complaint that his C++ code doesn't work with Visual C++ 6.0. That's because the code uses features from ISO C++'98. :( 13:50
timotimo :( 13:51
but vc++ 6 is pretty old now, too, isn't it?
geekosaur "and I can't view your web site in IE6" 13:54
TimToady heh: t/00-parrot/09-pir.t ............... skipped: This is not Parrot and cannot run PIR blocks 13:55
but it passes all the rest of the "parrot" tests
so maybe we need to pull some of those tests out of the "parrot" category into the "rakudo" category... 13:56
jnthn Yes, it's misnamed :) 13:58
Years of legacy there ;)
moritz shall we rename them to 00-pre-sanity ? :-) 13:59
tadzik unsanity
donaldh hi perl6 o/
jnthn Is there actually any real line between 00-* and 01-* tests? 14:00
masak hi, donaldh
jnthn I'm not sure there's any contemporary, interesting dividing line
TimToady eventually all the tests are sanity tests :) 14:01
jnthn Could just re-number and have 'em all in an 00-sanity or so
ruoso do junctions autothread in the jvm already? 14:02
masak .oO( o.O-sanity )
jnthn ruoso: yeah
ruoso yay
jnthn ruoso: Well, thing we pass all the junction tests we do on Parrot at least :)
masak jnthn: autothread as in *actual threads*? 14:05
moritz that would be an interesting experiment
jnthn masak: no, that's not what autothread means 14:07
(to me, at least.)
ruoso ahhh
heh...
14:07 PacoAir joined
masak jnthn: I just saw the misunderstanding between you and decided to point it out. :) 14:07
jnthn I'm skeptical that most junction auto-threading would ever benefit from spreading the work over threads.
I mean, the synchronization overhead would dominate 14:08
diakopter *thank you*
finally someone who agrees with me
ruoso jnthn: my guess is that it will depend on how long you carry the junction 14:09
diakopter .. unless the junction were many thousands of items.. and it's spread only over as many threads as there are cores
jnthn It's same with hyperops; @ten-things >>+<< @ten-things is *never* worth tossing off to threads.
Unless your things are, like, huge matrices, and you overloaded + for matrix addition :P 14:10
14:11 domidumont left 14:12 domidumont joined
moritz hyper != autothread 14:12
autothreading happens at call level, and you never know how expensive your calls are going to be 14:13
jnthn aye, but hyper does imply data parallelism.
ruoso it also depends on the cost of the operation
gist.github.com/anonymous/6257055 14:14
14:15 crab2313 left
ruoso in this case, line 34, i create a junction with all the cells that may conflict with the current cell in the sudoku puzzle 14:15
the test itself is not trivial
so it would probably benefit from using extra threads 14:16
it already runs at more than 100% cpu (most likely because of the garbage collector that already runs in a different thread)
masak historically, it's one of those things where we have grown and learned over time as a community. so by the time hyperops were introduced it was all "ooh and we can just do everything in different threads", but these days we're like "it's a tradeoff, and it's often likely not to be worth the thread overhead". 14:17
ruoso maybe we need a pragma 14:18
jnthn The trick is finding good ways to decide if it is worth it.
And then providing a pragma to allow finder-grained control.
TimToady or race it both ways and see who wins the first time :) 14:19
masak to me it feels like a JIT thing, that would be based on statistics from actually running code. 14:20
TimToady feeds are much likelier to benefit from threading
ruoso or estimate the cost of the function being called to see if would be worth
TimToady and some lazy lists that can be turned into feeds 14:21
ruoso jnthn: how hard do you thikn it would be to make the change into using threads for an experiment? 14:22
TimToady --> much needed shower & 14:25
jnthn ruoso: Well, the auto-threader is written in Perl 6 code and the synchronization primitives you need already exist...may have to add a pre-decl or so on Promise... 14:26
ruoso: You can even experiment with it outside of CORE.setting I think. 14:27
ruoso: Or do it as a module.
See Junction.pm
ruoso Ok. I'll take a look 14:28
14:38 Psyche^ joined 14:42 Psyche^_ left
ruoso Interesting... for the sake of comparing performance, I used explicit async blocks, and now I got to a deadlock in the scheduler 14:43
because some jobs depend on other jobs which are not schedule because jobs in between did not get a chance to execute...
jnthn Yes, that's 'cus await and select aren't smart enough to yield back to the scheduler yet... 14:45
ruoso if you point me to the code that handles that I could try and implement it 14:46
jnthn It's all in Threading.pm
ruoso ok
jnthn It'll involve playing with the continuation stuff. :)
My first attempt failed, but I only spent 15 mins on it... 14:47
ruoso Is creating resumable control exceptions possible? 14:49
jnthn Hmm...if so, it's only to the degree that exception handlers run on the top of the stack, so a resumable exception is just something that doesn't unwind... 14:50
A control exception is needed somewhere in this, I suspect, but still need explicit use of the continuation ops too, like gather/take does 14:51
(See GatherIter.pm for more on that)
14:51 rindolf joined
jnthn We may wish to add another cont exception category, yield, or so. 14:51
14:52 domidumont left
ruoso I see something else that is missing, which is a way to tell the scheduler that the current thread is blocked and that it's waiting on something 14:52
jnthn Well, that's really the mechanism await and select are interested in. 14:53
That is, making them do the right thing is really a case of implementing what we're discussing, perhaps with a sufficiently extensible API. 14:54
14:55 benabik left 14:56 benabik joined
ruoso Ok... 14:57
14:57 pdcawley left 15:06 araujo left, araujo joined 15:07 kbaker joined 15:14 ajr joined, ajr is now known as Guest36177 15:15 Guest36177 is now known as ajr_ 15:23 EvanTeitelman joined
ruoso jnthn: is a Channel going to be a Promise? or are they different types? 15:23
if not, is there a base type for all "things that one may await on?"
tadzik a role may be more suitable 15:25
but yeah, that sounds like a good idea
and no, Channel is not going to be a Promise
afaik :)
ruoso Yeah, I meant "base type" in a very loose sense... so yes, role makes more sense 15:26
JimmyZ trait!
is await
ruoso I think we may have to define that in order for me to implement the "blocked" state in the scheduler
JimmyZ is Promise 15:27
jnthn No, Channel isn't Promise 15:28
I could imagine Awaitable/Selectable roles
ruoso Selectable makes sense
since you are already reusing the "select" function 15:29
jnthn await operates on promises and channels also 15:30
tadzik Late :) 15:31
15:32 locsmif_ joined
moritz late await? 15:32
15:38 thou joined
dalek Heuristic branch merge: pushed 75 commits to nqp/make-install by donaldh 15:42
15:42 berekuk left
donaldh hurrah, I've finally found tuits again 15:43
tadzik \o/
15:44 colomon left 15:45 berekuk joined 15:47 berekuk left 15:49 SamuraiJack_ joined 15:50 SamuraiJack left 15:51 kaare__ joined 15:52 kbaker left, census joined 15:53 pdcawley joined, berekuk joined 15:54 kaare_ left 15:56 SamuraiJack__ joined 15:58 pdcawley left, SamuraiJack_ left 16:00 berekuk left 16:12 dalek joined, ChanServ sets mode: +v dalek 16:15 EvanTeitelman left 16:17 SamuraiJack__ left 16:46 |ChErOkY| joined
|ChErOkY| Hi 16:46
moritz hello 16:47
|ChErOkY| PacoAir, my friend :) 16:48
16:54 pdcawley joined 16:55 berekuk joined 16:59 pdcawley left
donaldh rakudo Configure.pm uses a particular regex /^([\w:]+)=(.*)/ to filter nqp --show-config output 17:04
does anyone know why?>
geekosaur given the captures, I assume it's parsing the output so $1 is a variable and $2 its value 17:06
masak right.
it expects lines of that shape. 17:07
something like 'foo:bar:baz=42'
moritz grondilu: (re loop without curlies) the problem is that 'loop { }' is just a special case of 'loop (init; cond; increment) { ... }'. And in the general case, that would lead to two terms in a row if the curlies were omitted 17:08
masak and indeed, 'nqp --show-config' seems to output something like that.
geekosaur right, I figured that so I focused on the captures
masak moritz: ah -- that's a good reason to not have that. I almost got there, but I didn't finish the thought.
moritz++ 17:09
moritz well, actually even with curlies it's TTIAR, but the requirements that the second term is surrounded by curlies gives it back some sanity
masak donaldh: interestingly, this one will fail the regex:
nqp::build-date=2013-07-06T21:41:05Z
because of the dash.
donaldh indeed
and jvm::runtime.jars
masak aye.
feels a bit odd to be listing cases like that as characters turn out to be allowed on the left side. 17:10
is there, like, a standard or something?
moritz maybe it should just be (\S+)=...
masak moritz: or ([^=]+)=
donaldh Looking at the output from parrot nqp, it looks like nqp::build-date is about the only victim
Yeah, I wondered about ^= 17:11
moritz [^\s=]+ 17:12
masak aye. 17:13
17:13 donaldh left
moritz tests a patch for it 17:14
17:17 araujo left 17:18 araujo joined 17:19 SamuraiJack__ joined 17:20 birdwindupbird left
ruoso Thinking about it... The "Promise" analogy works well for read operations, but gets slightly weird for write operations... 17:30
specifically, the term "result" is implicitly assuming read semantics 17:33
timotimo having just implemented the richards benchmark i don't really want to implement a proper scheduler for promises and friends 17:36
17:38 benabik left
ruoso of course we could consider the result of a write operation to be simply the status of the write... 17:38
17:38 benabik joined 17:41 p5eval joined
jnthn ruoso: I didn't really see it in terms of reads and writes. 17:42
It's about a piece of asynchronous work that will eventually produce a result or an exception.
In a way, I guess promises and channels are mechanisms to avoid writes to shared memory. 17:43
ruoso well.. in that case, an exception is just a type of result, isn't it?
jnthn Yes.
ruoso Ok... in that case it makes sense
jnthn But we distinguish the cases. 17:44
ruoso I am thinking to have simply "has_result" as a fundamental introspection
jnthn Well, that's really just .satus == any(Kept, Broken) 17:45
*status
ruoso (which would be true whenever it was a success or a failure)
jnthn If we don't already have such a method, I can see it being useful
Though .completed would match the name channels have.
ruoso jnthn: the thing is that it needs to be a method to allow for lower-level implementations to decide 17:46
completed is also not the right one, because (specially in the case of channels) you may have more results later 17:47
jnthn completed on a channel means "no more results" 17:49
To send more results on a completed channel is an error.
To keep/break a Promise multiple times also is
So it fits nicely in that sense.
ruoso yes, but you may be unblocked with a few results before all results are available
so you need to be able to block/unblock several times
jnthn ah, I guess it's a ready/completed distinction. 17:50
hm, ready is cute, 'cus it means what it says, but it's like, read-y, like, you can read it :P
ruoso or writey 17:51
;)
jnthn
.oO( now somebody hits me on the head with an etymological dictionary and tells me that's where it came from... )
ruoso are we useing "is_foo" or just "foo"? 17:52
(as a convention, I mean) 17:53
arnsholt jnthn: Unfortunately it doesn't look like it =) 17:54
'Cause that would have been kinda neat 17:55
17:55 pdcawley joined
jnthn ruoso: Just foo 17:55
timotimo i put a piece of my grammar into a separate regex and made it b0rk :( 17:56
jnthn ruoso: has_blah is also kinda icky, which I why I was hunting for other things. I think for now I like .ready and .completed (which on a Promise mean the same).
arnsholt: Yeah...I'm sure there's been at least once a bad pun turned out to be the etymology of a word... :P
17:57 kaare__ is now known as kaare_
arnsholt Indeed =D 17:57
masak jnthn: what arnsholt said. "ready" seems to come from a ME word meaning "prompt", while "read" comes from Sanskrit.
ruoso jnthn: I think I may need to add a type to qualify the items in the scheduler's queue 17:58
and probably move the status enum to that type 17:59
jnthn That last bit sounds wrong
s/sounds/is/ :) 18:00
18:00 pdcawley left
ruoso the secheduler need to be able to query the status for all the items in the queue 18:00
jnthn The type bit may make sense.
Hmmm
But that sounds more to me like the thing holding the scheduled item actually has a dependencies list and you want to just call .ready on each of those. 18:03
ruoso Hmm... that may make sense, so the scheduler would have to keep of everything by itself 18:05
and the control exception could contain enough data to allow for that... 18:06
I think you are right. This will encode less assumptions into the architecture, making it more future-proof 18:07
I think I don't even need a new type for the items in the queue... 18:08
18:10 donaldh joined
[Coke] waves from the highway. 18:14
timotimo don't irc and drive! 18:15
masak maybe [Coke] is hitch-hiking. 18:17
18:17 Mouq joined
[Coke] the wife is driving. I remembered I had a hot spot on my phone. 18:19
timotimo you let the wifi drive? 18:20
benabik Maybe a little bit of ice will cool it off. Remember to use a ziploc bag to keep the melt off the phone.
Ooh, slides. jnthn++
timotimo already seen them. they are recommended :) 18:21
masak they are indeed.
timotimo i was a bit blown away by how easy the parallelism stuff can be combined, that really is great
18:26 ajr_ left 18:28 rindolf left
jnthn Composability is often undervalued in software design... 18:29
timotimo i've learnt to appreciate it through y'all
masak winks and points to github.com/masak/workshop/blob/mas...compose.md 18:32
timotimo "Two simple examples" and then three bullet points :) 18:33
masak oops -- fixing :) 18:34
jnthn Maybe the third one is a complex example :P
masak .oO( composition is nice, but once-and-only-once isn't so bad either ) :P 18:35
fix'd. timotimo++
oh! CPAN is another really successful example of composition. 18:36
hoo, found this. interesting. www.existentialprogramming.com/2010...every.html 18:41
18:41 Mouq left
masak "There is no such thing as a Component" 18:41
ruoso jnthn: I think I'll need a new thread to keep watching for blocked jobs to reinsert them to the queue as their blockers get ready...
jnthn Or just throw them into the queue main queue for now... :) 18:47
s:1st/queue//
18:48 eviltwin_b joined
ruoso the blocked ones? 18:48
18:49 eviltwin_b is now known as geekosaur
GlitchMr rn: 09 18:50
camelia niecza v24-88-g1f87209: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o9 if you mean that at /tmp/bG0aidKfSR line 1 (EOF):␤------> 09⏏<EOL>␤␤»
..rakudo d9f8d6: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o9 if you mean that␤ at /tmp/gHv2_nIqpu:1␤ ------> 09⏏<EOL>␤ Leading 0 does not indicate octal in Perl 6; please use 0o9 if you mean that␤ at /tmp/gH…
jnthn ruoso: Yes; they'll come back around eventually and can be checked for not being blocked...
GlitchMr Uhm, why perl6 -e 'say 09;' says error two times? 18:51
masak GlitchMr: that's a bug. please submit.
GlitchMr rt.perl.org/rt3/Public/Bug/Display...?id=119339 18:55
masak GlitchMr++
18:56 pdcawley joined
masak GlitchMr: the phrase "don't work" is generally taboo in bug reports. 18:56
GlitchMr sorry
18:56 kaare_ left
masak GlitchMr: you should be talking about what you did, what you observe, and what you expected. 18:56
GlitchMr Null PMC access in get_string()
Sorry, I will next time.
masak right. that should be in there.
GlitchMr: the goal is to have enough information that the thing can be checked again later. 18:57
masak adds this to the ticket
timotimo moritz: the link to "regular expressions" (masaks talk) has an url ending in "" 18:58
masak don't all strings end in "" ? :P 18:59
timotimo "didn't quite apply to much current work situation" probably should be "my" instead of "much"?
the "touching and thoughtful moments" link has no href 19:00
dalek kudo/nom: 3aebcac | moritz++ | tools/lib/NQP/Configure.pm:
[build] more permissive parsing of config keys

  donaldh++ and masak++ found out that the key "nqp::build-date" does
not match the old regex, [\w:]+
19:00 pdcawley left
GlitchMr ~/c/panda (master) $ perl6 -e 'my $sock = IO::Socket::INET.new(host => "ipv6.google.com", port => 80); $sock.send("GET /lol HTTP/1.1\r\n\r\n"); say $sock.recv' 19:00
getaddrinfo failed: ipv6.google.com: Success
Am I doing something incorrectly?
Can I tell IO::Socket::INET to use IPv6? 19:01
masak moritz: nit: s/Moarvm/MoarVM/
moritz ChimeraVM :-)
jnthn :D 19:02
masak moritz: the link "touching and thoughtful moments" is empty.
moritz masak: yes, timotimo just said the same thing 19:03
fixing now...
fixed.
19:04 SamuraiJack__ left
GlitchMr rn: my %hash is default<perfect>; say %hash<elem> 19:04
camelia niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Trait default not available on variables at /tmp/VZHLPUhAy8 line 1:␤------> my %hash is default<perfect>⏏; say %hash<elem>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting…
..rakudo d9f8d6: OUTPUT«perfect␤»
GlitchMr std: my %hash is default<perfect>; say %hash<elem>
camelia std c2215f0: OUTPUT«ok 00:00 43m␤»
timotimo i'm a bit annoyed that my table parsing regex doesn't work if i turn it from "regex" to "token"; i think that's because i rely on some backtracking somwehere :( 19:06
moritz masak++ timotimo++ # helping me improve my blog post 19:08
timotimo but i don't really know how to figure that out
moritz++ # for the original post
jnthn timotimo: Keep it as a regex. Now go through the quantifiers, adding a : after them, until you find the one where adding a : fails
timotimo ah, good tip, thanks! 19:09
do i want one : in the whole thing or keep adding more and more until only one (or perhaps multiple) non-:'d pieces? 19:10
jnthn A : on a quant means "don't backtrack on this one" 19:11
You could add it to half of them and do it bisect-style, maybe
Or maybe you have a sense for which it is :)
timotimo :)
masak moritz++ # blogging
timotimo i find it amusing how things like :my $foobar; have a : as starter and ; at the end 19:12
masak woolfy joked that I might "defect to Python". I just got an IndexError because I tried to assign to an element outside of an array. 19:13
so I guess I'm sticking with you lot. :P
geekosaur : helloworld forth love if honk then ;
masak geekosaur: :)
timotimo oh, i think i know what's going on 19:14
19:14 EvanTeitelman joined
moritz domm.plix.at/perl/2013_08_things_i_..._2013.html # another blog post about the YAPC 19:14
timotimo yes, yes; my columns are %'d with [\h+'|'?\h+] 19:15
that has some backtracking problems if | isn't in there, so i need to put in a little alteration and it should become backtrackless
although i need to make it match no less than 2 \h all in all, but that's very doable 19:17
masak moritz: nice! 19:19
dalek p/make-install: 28b58c0 | (Donald Hunter)++ | tools/build/ (2 files):
Add install libdir into jvmconfig.properties
19:23
19:28 fridim__ left
donaldh Does anyone else get intermittent out of memory errors when compiling NQP on JVM ? 19:30
Maybe it's an OSX thing
jnthn hasn't seen that
masak .oO( out-of-memory errors. all the cool kids do it. ) 19:31
jnthn That explains why I don't get them :P
masak it's worth it for the rounded corners. 19:34
moritz the day after YAPC::EU was the one with the most visitors on irclog.perlgeek.de so far 19:36
masak .oO( people backlogging? ) :P 19:49
moritz or people having unreliable connections, and thus prefering the logs over proper IRC? 19:51
19:56 pdcawley joined 19:57 jaffa4 joined
jaffa4 hi 19:57
Is there labels in JVM Rakudo version?
GlitchMr r: label: say "no"
camelia rakudo 3aebca: OUTPUT«===SORRY!=== Error while compiling /tmp/nOIyyhpULO␤Two terms in a row␤at /tmp/nOIyyhpULO:1␤------> label⏏: say "no"␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ …
GlitchMr This is Parrot version, but JVM runs mostly the same code, so no. 19:58
jaffa4 std: labelL sat 'hello'
camelia std c2215f0: OUTPUT«===SORRY!===␤Undeclared routines:␤ 'labelL' used at line 1␤ 'sat' used at line 1␤Check failed␤FAILED 00:00 42m␤»
jaffa4 std: label: sat 'hello'
camelia std c2215f0: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'sat' used at line 1␤Check failed␤FAILED 00:00 42m␤»
jaffa4 std: label: say 'hello' 19:59
camelia std c2215f0: OUTPUT«ok 00:00 42m␤»
20:01 pdcawley left 20:02 stevan_ joined 20:04 colomon joined 20:06 stevan_ left
dalek p/make-install: cd48fff | (Donald Hunter)++ | tools/build/gen-jvm-properties.pl:
Added runtime.prefix to jvmconfig.properties
20:06
moritz jaffa4: no version of rakudo parses labels 20:10
20:11 locsmif_ left
donaldh github.com/rakudo/rakudo/pull/191 20:11
masak donaldh: looks good to me. 20:14
jaffa4 why not?
masak jaffa4: not yet implemented.
jaffa4 Oh my God! 20:15
dalek kudo/nom: 7d24377 | (Donald Hunter)++ | / (4 files):
Use configuration from nqp --show-config
20:16
kudo/nom: 41a2961 | (Donald Hunter)++ | /:
Merge branch 'nom' of github.com:rakudo/rakudo into nqp-make-install
kudo/nom: e063c1b | moritz++ | / (3 files):
Merge pull request #191 from donaldh/nqp-make-install

Make use of the JVM configuration properties provided by "nqp --show-config"
moritz donaldh++
jaffa4: quick, implement it! :-)
masak :D
just let the guy finish praying first.
jnthn moritz: um, I think the make-install branch in NQP had to be merged first ;)
"This is dependent on the make-install branch in nqp being merged first." 20:17
moritz should read more carefully
masak jaffa4: for all I know, labels shouldn't be a hassle to parse. it's probably goto that people are wary of adding.
jnthn The parsing ain't the problem. It's the rest. :P
masak jaffa4: I for one would love to see 'next LABEL' in Rakudo. 20:18
moritz well, then we could at least parse, and give a nice NYI error message
masak right.
jnthn aye
jaffa4 involve me about the difficulties
moritz well, 'next' uses control exceptions
so you need to set up the handlers to only catch the exceptions with the right label 20:19
dalek p: a620765 | (Donald Hunter)++ | tools/build/ (2 files):
Restructured install layout to resemble parrot install layout.
nqp: 1f99742 | (Donald Hunter)++ | / (18 files):
nqp: Merge remote-tracking branch 'origin/master' into make-install
20:19 dalek left
jnthn moritz: That was the merge? 20:20
jnthn tries it
moritz jnthn: yes
jaffa4 There is goto op in Qast ., right?
20:20 dalek joined, ChanServ sets mode: +v dalek
jnthn wrong 20:20
The tricky with goto is that it can cross block/routine boundaries... 20:21
masak ok, but there's a smaller bit of it that's easier to implement, yes?
jnthn I guess this stuff never bubbled up high enough on the todo list yet...
masak don't need to do it all at once...
jnthn Of all the things folks miss, goto is fairly far down the list :P 20:22
masak aye :)
but 'next LABEL' is fairly high... :)
moritz masak: I guess that 'next LABEL'/'last LABEL' and 'got LABEL' will be pretty much different beasts
jnthn ah
masak moritz: me too.
jnthn Yeah, those are rather different.
jaffa4 How can I print the qast tree? 20:23
moritz ./perl6 --target=past -e 'say 1 + 1' # iirc
or maybe it's --target=ast
jaffa4 Where does it put the target? 20:25
20:26 pdcawley joined
jnthn donaldh: hmm, seems I get: jvm::runtime.jars value not available from install-jvm\nqp --show-config. 20:27
donaldh hmmm.
jnthn that's with a straight perl ConfigureJVM.pl in rakudo, after make install in NQP 20:28
moritz masak: www.pvk.ca/Blog/2013/06/23/bitsets-...pressions/
moritz tests too
donaldh jnthn: with nqp in a subdir ?
jnthn nukes his install-jvm directory 20:29
donaldh is building master
jaffa4 jnthn: how to test perl6?
How do you view you the internal structures?
jnthn donaldh: Yeah, I have nqp subdir, in that I dod perl ConfigureJVM.pl --prefix=..\install-jvm 20:30
donaldh right
moritz does --prefix cope with relative paths?
jaffa4 I get no error message if I enter a bad target
moritz I know I have had trouble with that in the past 20:31
jaffa4 perl6.bat --target=RRRRR -e "print 1"
jnthn oops
@java -Xmx512m -Xbootclasspath/a:$jar_dir\nqp-runtime.jar;C:\consulting\rakudo\install-jvm\languages\nqp\runtime\asm-4.1.jar;C:\consulting\rakudo\install-jvm\languages\nqp\runtime\jline-1.0.jar;C:\consulting\rakudo\install-jvm\languages\nqp\lib\nqp.jar -cp C:\consulting\rakudo\install-jvm\languages\nqp\lib nqp %*
20:31 pdcawley left
jnthn donaldh: Note the $jar_dir in there :) 20:32
moritz so $jar_dir is not expanded
jnthn jaffa4: I can believe that... --target=ast is the most useful one
donaldh jnthn: yep.
In the windows case
jnthn donaldh: Trying a fix. 20:33
donaldh it's single quoted
no interpolation
missed that
moritz and rakudo's ConfigureJVM.pl: 20:34
my $with_nqp = $options{'with-nqp'} ||
($^O eq 'MSWin32' ? 'install-jvm\\nqp' : 'install-jvm/nqp');
should that be install-jvm/bin/nqp now?
jnthn yeah
moritz fixes it
donaldh moritz++ good catch.
jnthn I was gonna come to that next. :)
At least --with-nqp=... now works :) 20:35
dalek kudo/nom: 7a2d8aa | moritz++ | ConfigureJVM.pl:
fix default path for NQP binary
donaldh is about to look at --gen-nqp
jnthn \o/
dalek p: 8d32819 | jnthn++ | tools/build/install-jvm-runner.pl:
Fix thinko in Win32 runner generation.
moritz \o/ indeed
jnthn This will make stuff easier for everyone :) 20:36
Aww, make doesn't work, though
(In Rakudo)
hmm 20:37
NQP_PREFIX = ..install-jvm
That looks...odd
Getting rid of the .. fixes things
moritz missing slash, missing rel2abs?
jnthn Well, ./install-jvm or so would be right 20:38
.. is not
moritz well, the problem seems to be that you passed a relative path to --prefix, and there's no logic to either make it absolute, or deal with relative paths 20:39
masak moritz: looks very interesting. 20:41
dalek p: 3246de8 | moritz++ | ConfigureJVM.pl:
always turn --prefix into an absolute path
20:42
moritz jnthn: ^^ that should help
jnthn Will try. Anyway, yeah, it's wrong in the --show-config output... 20:43
20:43 pdcawley joined
jnthn moritz: um...whoa 20:48
the \rakudo ended up with the \r getting interpolated somewhere?!
masak o.O
moritz wtf. 20:49
jnthn yeah, it's wrong in the --show-config output. Rather upsets the terminal too!
It is absoluting it 20:50
I guess the error is elsewhere.
moritz but it built?
jaffa4 what is this op locallifetime? 20:51
moritz (nqp, that is)
jnthn moritz: not Rakudo, no...
oh, I might be able to guess where this is going...
jaffa4 Where is it going jnthn? 20:52
jnthn um, no, I can't guess
donaldh: How do the properties end up in the JAR? 20:53
donaldh: Is the jvmconfig.properties file name treated specially?
jnthn was expecting to find it being spat out in a double-quoted string... :)
donaldh nope. gen-jvm-properties.pl is run twice in Makefile. Once for build env and once into bin/ which gets JARed up with the classes. 20:54
jnthn bin/jvmconfig.properties looks right so it must go wrong sometime after this...
Could something be interpreting the backslash sequences at some point? 20:55
moritz has a runnable, installed rakudo-jvm o/
donaldh jnthn: possibly. I tried to use platform specific slashes everywhere, but may have missed one. 20:56
jnthn: what is the output of nqp --show-config?
moritz well, if it's emitted into a double-quoted string somewhere, you need to double the backslashes
jnthn donaldh: jvm.properties is correct, but when I --show-config then the \r in c:\rakudo has been turned into a carriage return 20:57
donaldh: Which then makes it in to the Makefile and corrupts it 20:58
donaldh ah
jnthn Could the Properties class be doing it?
bah stackoverflow.com/questions/5784895...-backslash 20:59
"The method does not treat a backslash character, '\', before a non-valid escape character as an error; the backslash is silently dropped." 21:00
donaldh is there some badness in thugh 21:01
ugh even
jaffa4 what is this :before<ast>? 21:02
donaldh Where Java behaviour crashes into OS behaviour
jnthn donaldh: Trying a patch 21:03
donaldh Good catch jnthn++
jnthn jaffa4: Guess you're looking at an add_stage call or so? Just says where to insert something into the compiler pipeline.
donaldh: Yes, took a little chasing to see where it was going wrong :)
jaffa4 jnthn : I mean the syntax 21:04
moritz jnthn: it's a pair
donaldh jnthn: I've been bitten by this Properties behaviour before. I should have known. Oh well.
jnthn moritz: you meant jaffa4? :)
jaffa4: Same as before => 'ast' 21:05
moritz yes
21:05 dmol1 left 21:06 dmol joined
jnthn ok, now I get a Makefile that makes sense :) 21:06
21:06 colomon left 21:07 stevan_ joined
dalek rl6-roast-data: 2de4b71 | coke++ | / (5 files):
today (automated commit)
21:07
donaldh Another approach would be to always use forward slashes in the properties file and translate to Windows backslashes before printing.
21:10 dmol left
moritz donaldh: that only works if all properties are paths. Are they? 21:10
moritz doesn't know anything about those properties
donaldh moritz: good point 21:11
maybe we should double backslash on the way into the properties file, so it is a valid file. 21:12
dalek p: 5f7b3da | jnthn++ | tools/build/gen-jvm-properties.pl:
Ensure backslashes in props file aren't mangled.
21:13
jnthn With that, I get a successful Rakudo build
donaldh indeed, that is jnthn++ fix
moritz \o/
jnthn: and does it install? :-)
jnthn yes, and I can run it from outside of the build directory 21:14
donaldh++, moritz++ 21:15
masak hm, who and what was blocking on an installable rakudo-jvm?
evalbot, right?
donaldh panda
jnthn And Panda and... :)
donaldh I'm just cleaning up a patch for %*CUSTOM_LIB which panda also needs
moritz masak: evalbot doesn't really block on installable, it can chdir into a dir before evaling 21:16
masak huh. someone said it blocked on it.
donaldh Panda also wants chdir which would need faked on JVM. Might be easier to remove chdir from panda
21:17 abnorman joined, fridim__ joined
[Coke] let me know when panda works, I'll make the daily star run do both pvm and jvm 21:18
21:19 xenoterracide left
jnthn [Coke]++ 21:19
21:20 araujo left 21:21 araujo joined
timotimo hm, is there .comb(regex, :match) in nqp? :| 21:21
jnthn timotimo: no, but match with :g may get you all the things that match 21:22
timotimo oof. i think i'll need to find a differen tway 21:24
i'm about to match columns with two regexes, one covering the "don't have two or more spaces" and one "are there openers and closers for Pod6 formatting codes?"
and then i'd & them
doesn't sound like i'll exit that piece of code with my brain intact 21:25
21:29 stevan_ left
donaldh reminds himself that cross-platform build and install scripts are always challenging 21:29
jnthn++ for golfing and patching my broken Windows implementation of nqp jvm properties 21:31
jaffa4 Is nqp upward compatible with Perl 6 completely? 21:32
21:32 coax75ohm left
jnthn jaffa4: no 21:32
Mostly, but not completely.
jaffa4 Are you going to London Workshop? 21:35
timotimo oh my, i still need to get reservations and accomodation for frankfurt! /o\ 21:36
jnthn Not sure yet
21:37 fridim__ left
diakopter ... what's in frankfurt 21:38
timotimo a nqp&rakudo development workshop/learning session hosted by jnthn
diakopter oh yeah :)
timotimo oh my. the train journey from my home to salzburg is 5.5h long :o 21:40
Ulti jnthn: is that a photo of Gruyère in one of your YAPC talks?
diakopter the flight back from frankfurt was 12.5 hours O_O 21:41
timotimo diakopter: well, i'm not used to traveling
21:41 xenoterracide joined
jaffa4 everything travels... into the future at least 21:42
we are all time-travellers
timotimo okay, travels anywhere far from parallel to the time axis - at least relative to the earths crust
21:44 colomon joined
diakopter er, 11.5 hours 21:44
jaffa4 Is it going to be recorded? 21:50
timotimo hm. bedtime. today doesn't seem to be helping me progress 21:54
jaffa4 Why is there my in the statement_control: in the grammar? 21:56
timotimo are you wondering about the general syntax of the :<...>? 21:57
jaffa4 no 21:58
timotimo k
21:58 yannickberthoud joined, iSlug left
jaffa4 I am looking at the Perl6 grammar and to see how it is structured.... 21:59
22:06 grondilu left
jnthn Ulti: Yes. I went there and ate some tasty cheese :D 22:06
22:06 PacoAir left 22:11 jaffa4 left 22:14 fridim__ joined
Ulti jnthn: me too :D but not recently, I went to a place on the right in that photo for fondue 22:15
donaldh github.com/rakudo/rakudo/pull/192
[Coke] .seen lizmat 22:17
yoleaux I saw lizmat 16 Aug 2013 08:07Z in #perl6: <lizmat> decommuting&
preflex yoleaux: you have 2 new messages. '/msg preflex messages' to read them.
[Coke] ZOMG.
donaldh is that the bots chatting ? 22:18
geekosaur ...right, i was going to contact mauke about that. >.> 22:19
22:21 mauke joined
diakopter .seen mauke 22:22
yoleaux I haven't seen mauke around.
mauke preflex: seen mauke
preflex mauke was last seen 1 minute and 5 seconds ago, saying: <private message>
jnthn Ulti: Ah, I did some vacation in Switzerland this summer :) 22:25
donaldh: Is that patch tested on Parrot also, ooc? 22:26
donaldh jnthn: good point, I did originally, but not after todays merge up. 22:27
Ulti jnthn: did you do the nice walk from Zermatt to the Matterhorn too?
jnthn Ulti: Was staying a bit of a distance from Zermatt, so only had time for a bit of walking there. Discovered I probably want to stay in that part of Switzerland some time in the future to explore it properly. :) 22:28
donaldh: Do you have chance to test it, or should I? 22:30
donaldh jnthn: doing it now
jnthn donaldh++ 22:31
22:35 spider-mario left
masak 'night, #perl6 22:37
donaldh jnthn: there are no spec tests for CUSTOM_LIB. Is build + make test + sanity check sufficient ? 22:43
jnthn donaldh: yeah, was worried about build fail 22:44
dalek kudo/nom: 97dec7a | (Donald Hunter)++ | / (2 files):
Resurrected %*CUSTOM_LIB on JVM.
kudo/nom: aab3d78 | jonathan++ | / (2 files):
Merge pull request #192 from donaldh/custom-lib

Resurrected %*CUSTOM_LIB on JVM.
jnthn 'night, #perl6 22:46
colomon \o
donaldh night jnthn o/
22:51 donaldh left 22:55 araujo left 22:56 araujo joined 22:58 cognominal left, cognominal joined 23:01 colomon left 23:10 Rotwang left 23:17 colomon joined
dalek p: 4c00cda | (Donald Hunter)++ | ConfigureJVM.pl:
Use Cwd::realpath instead of rel2abs because rel2abs doesn't work
23:27
23:27 BenGoldberg joined 23:29 yannickberthoud left 23:32 berekuk left 23:33 berekuk joined, berekuk left
sorear o/ 23:33
23:33 berekuk joined
[Coke] ö/ 23:35
23:39 berekuk left 23:40 colomon left 23:41 berekuk joined 23:44 berekuk left 23:45 Ben_Goldberg joined 23:47 BenGoldberg left 23:51 berekuk joined 23:52 colomon joined 23:54 EvanTeitelman left 23:56 Urchin[emacs] joined
Ben_Goldberg .ud require Sayings::Wise; 23:56
yoleaux ENOTFOUND