»ö« 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.
timotimo gnite #perl6 00:02
00:07 stevan_ left 00:19 kivutar left 00:27 adabsurdum joined 00:38 __thou left
TimToady m: say 'A'.&uniprop-bool('Any') 00:40
camelia rakudo-moar b6fed1: OUTPUT«True␤»
TimToady m: say 'A'.&uniprop-int('Any')
camelia rakudo-moar b6fed1: OUTPUT«1␤»
TimToady \o/ no more segv
00:41 spider-mario left 00:42 adabsurdum left, adabsurdum joined
TimToady FROGGS++ for a great deal of help solving the 32-bit issue 00:43
m: say "«==»".encode("utf-8").Buf.decode("latin-1") 00:46
camelia rakudo-moar b6fed1: OUTPUT«No such method 'Buf' for invocant of type 'utf8'␤ in block at /tmp/HK2dK5BgTs:1␤␤»
TimToady m: say "«==»".encode("utf-8").buf8.decode("latin-1") 00:47
camelia rakudo-moar b6fed1: OUTPUT«No such method 'buf8' for invocant of type 'utf8'␤ in block at /tmp/L9bElwRTkV:1␤␤»
colomon moar works on 32-bit machines now?
TimToady well, better than it did
we spent most of the day running it down to a missing declaratoin in a .h file
00:48 __thou joined
TimToady so of course C defaulted MVMint64 to int, which works fine on a 64-bit machine 00:48
on a 32-bit machine...not so much...
my brother-in-law just wandered into the room and complained about the missing link to S15.html :) 00:52
colomon FROGGS++ TimToady++ 00:53
00:53 __thou left
colomon wonders if he should be trying out moar on the Raspberry Pi 00:53
01:04 stevan_ joined
BenGoldberg m: say Buf.new("«==»".encode("utf-8")).decode("latin-1") 01:04
camelia rakudo-moar b6fed1: OUTPUT«Â«==»␤»
JimmyZ p: lazy my $s = time; 01:08
camelia ( no output )
TimToady BenGoldberg: that's what I ended up doing earlier
though I perhaps had an unnecessary [] 01:09
JimmyZ p: lazy my $s = time; say time - $s;
camelia rakudo-parrot b6fed1: OUTPUT«0␤»
JimmyZ p: lazy my $s = time;sleep 2; say time - $s;
TimToady lazy has nothing to do with phases
camelia rakudo-parrot b6fed1: OUTPUT«2␤»
TimToady and it won't delay scalar evaluation
there might be some spec fossils that think so, though 01:10
JimmyZ I want the 'lazy statment', like scala language one
:) 01:11
I think it's useful
TimToady you want a thunk that calls itself on first FETCH
so you don't have to use .() :)
JimmyZ yeah 01:12
TimToady otoh, one {} and one () is not a lot of extra characters to type :)
and pretty good documentation too
and English words are so...imperialistic... :) 01:13
01:14 woosley joined
JimmyZ so there are some code that can be add one { } in the core.setting that makes startup time faster? 01:14
TimToady interesting idea 01:15
could even load in definitions from disk
JimmyZ p: class A { has $.a = one { time } }; A.new.a; 01:16
camelia ( no output )
TimToady well, you'd really want a thunk, not a { }, since you don't want to add an extra lexical scope
JimmyZ p: class A { has $.a = one { time } }; say A.new.a;
camelia rakudo-parrot b6fed1: OUTPUT«one(Block.new())␤»
JimmyZ how do I write it as a thunk? 01:17
p: class A { has $.a = one(time) }; say A.new.a;
camelia rakudo-parrot b6fed1: OUTPUT«one(1394068674)␤»
BenGoldberg Like think, but with a u
TimToady has initializers are automatically a thunk
JimmyZ p: class A { has $.a = one(time) }; my $b = A.new.a; sleep 3 ; say A.new.a - $b; 01:18
camelia rakudo-parrot b6fed1: OUTPUT«one(one(3))␤»
BenGoldberg Surely one(foo) (with parens) is the superposition?
TimToady are you trying to write a once? 01:19
JimmyZ p: class A { has $.a = once(time) }; my $b = A.new.a; sleep 3 ; say A.new.a - $b;
camelia rakudo-parrot b6fed1: OUTPUT«===SORRY!=== Error while compiling /tmp/XKCmDsLX4G␤Undeclared routine:␤ once used at line 1. Did you mean '&one'?␤␤»
TimToady not as a function, it's a statment prefix
so omit parens
JimmyZ p: class A { has $.a = once time }; my $b = A.new.a; sleep 3 ; say A.new.a - $b;
camelia rakudo-parrot b6fed1: OUTPUT«0␤» 01:20
TimToady yeah, like that
BenGoldberg . o O (one upon a time)
s/one/once/
JimmyZ so Add some once to the core.setting can make startup faster, I think
TimToady only if they are in a thunk that is not always called 01:21
JimmyZ yeah
TimToady once doesn't wait until first FETCH
if so the calculation would happen above when you do the -, not when you do the first .new
BenGoldberg It's a bit more like a singleton computation, innit?
TimToady but once might help in some spots
it's the basis of state variable initialization 01:22
it used to be called START, in fact
BenGoldberg p: for (1..5) { say once time; sleep 1 } 01:23
camelia rakudo-parrot b6fed1: OUTPUT«1394068985␤1394068985␤1394068985␤1394068985␤1394068985␤»
TimToady we un-uppercased it because it is not called at a funny time, as phasers are
JimmyZ p: class A { has $.a = once time; method BUILD() { $!a; } }; my $b = A.new.a; sleep 3 ; say A.new.a - $b; 01:25
camelia rakudo-parrot b6fed1: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/26fDVSWb5V:1␤␤use of uninitialized value of type Any in numeric context in block at /tmp/26fDVSWb5V:1␤␤0␤»
JimmyZ p: class A { has $.a = once time; method new() { $!a; self; } }; my $b = A.new.a; sleep 3 ; say A.new.a - $b; 01:26
camelia rakudo-parrot b6fed1: OUTPUT«Cannot look up attributes in a type object␤ in method a at gen/parrot/CORE.setting:2816␤ in block at /tmp/Wl6vPMmi0T:1␤␤»
JimmyZ p: class A { has $.a = once time; method start() { $!a; self; } }; my $b = A.new; $b.start; my $c = $b.a; sleep 3 ; say A.new.a - $c; 01:27
camelia rakudo-parrot b6fed1: OUTPUT«0␤»
JimmyZ hmm, I think start() can make $!a get the time 01:31
TimToady r: my $x = Proxy.new: FETCH => { once say "HERE" } 01:34
camelia rakudo-jvm b6fed1: OUTPUT«(timeout)» 01:35
..rakudo-parrot b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤»
TimToady why is FETCH being called?
or is it?
r: my $x = Proxy.new: FETCH => { if 0 { once say "HERE" } } 01:36
camelia ( no output )
TimToady r: my $x := Proxy.new: FETCH => { once say "HERE" }
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤»
JimmyZ TimToady: I see some code somethink like 'my &lastcall := -> { ... }', is it init at startup time?
TimToady r: my \x = Proxy.new: FETCH => { once say "HERE" } 01:37
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤»
TimToady why is FETCH being called?!?
my always runs at run time
but the ... is delayed by the closure 01:38
so lastcall will not be available before that statement runs
our is supposed to run at INIT time
01:39 adabsurdum left, kurahaupo__ joined 01:41 kurahaupo_mobile left
TimToady r: lazy my \x = Proxy.new: FETCH => { once say "HERE" } 01:41
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤»
TimToady r: constant x = Proxy.new: FETCH => { once say "HERE" } 01:42
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤»
TimToady n: constant x = Proxy.new: FETCH => { once say "HERE" } 01:43
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'once' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_…»
TimToady n: constant x = Proxy.new: FETCH => { START say "HERE" }
camelia ( no output )
TimToady n: constant x = Proxy.new: FETCH => { START say "HERE" }; say x
camelia niecza v24-109-g48a8de3: OUTPUT«HERE␤(Nil)␤»
TimToady r: constant x = Proxy.new: FETCH => { START say "HERE" }; say x
camelia rakudo-moar b6fed1: OUTPUT«HERE␤HERE␤HERE␤===SORRY!===␤Cannot invoke null object␤»
..rakudo-jvm b6fed1: OUTPUT«HERE␤HERE␤HERE␤===SORRY!===␤java.lang.NullPointerException␤»
..rakudo-parrot b6fed1: OUTPUT«HERE␤HERE␤HERE␤===SORRY!===␤Could not find sub &START␤»
TimToady wow 01:44
r: constant x = Proxy.new: FETCH => { once say "HERE" }; say x
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤True␤»
TimToady r: constant x = Proxy.new: FETCH => { once say "HERE" }; sleep 3; say x
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤True␤»
TimToady r: constant x = Proxy.new: FETCH => { once say time }; say time; sleep 3; say x 01:45
camelia rakudo-moar b6fed1: OUTPUT«1394070319␤1394070319␤True␤»
..rakudo-parrot b6fed1: OUTPUT«1394070311␤1394070311␤True␤»
..rakudo-jvm b6fed1: OUTPUT«1394070315␤1394070315␤True␤»
JimmyZ p: once { my $time = time; PROCESS::<$TIME> := $time; }; say time ; sleep 3; say PROCESS::<$TIME>; # how do I make it working ?
camelia rakudo-parrot b6fed1: OUTPUT«1394070325␤1394070325␤»
TimToady something is FETCHing prematurely in rakudo, perhaps trying to do a type check? 01:46
[Coke] daily run still not done... 01:53
JimmyZ lazy val t = System.currentTimeMillis; println(System.currentTimeMillis); Thread.sleep(1000); println(t); Thread.sleep(1000); println(t); 01:54
outputs:
1394070745944
1394070746946
I still don't know how to make it working by rakudo
TimToady r: constant x = Proxy.new: FETCH => { say "HERE" }; say "START"; sleep 3; say x; say "DONE" 01:59
camelia rakudo-moar b6fed1: OUTPUT«HERE␤HERE␤HERE␤START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤True␤DONE␤»
..rakudo-parrot b6fed1, rakudo-jvm b6fed1: OUTPUT«HERE␤HERE␤HERE␤START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤True␤DONE␤»
TimToady gee, how many times can we call something to get one value?
r: my \x = Proxy.new: FETCH => { say "HERE" }; say "START"; sleep 3; say x; say "DONE" 02:00
camelia rakudo-moar b6fed1: OUTPUT«START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤True␤DONE␤»
..rakudo-parrot b6fed1, rakudo-jvm b6fed1: OUTPUT«START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤True␤DONE␤»
TimToady I'd think it should say "HERE" once, not six or seven times... 02:01
r: my \x = Proxy.new: FETCH => { die "HERE" }; say "START"; sleep 3; say x; say "DONE" 02:02
JimmyZ so we may want `my $xxx = ..... is lazy`?
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«START␤HERE␤ in block at /tmp/tmpfile:1␤␤»
02:03 pdcawley left
TimToady r: my \x = Proxy.new: FETCH => { die Backtrace.new }; say "START"; sleep 3; say x; say "DONE" 02:05
camelia rakudo-jvm b6fed1: OUTPUT«START␤ in method new at gen/jvm/CORE.setting:10792␤ in method new at gen/jvm/CORE.setting:10785␤ in block at /tmp/tmpfile:1␤␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot b6fed1: OUTPUT«START␤ in method new at gen/parrot/CORE.setting:10813␤ in method new at gen/parrot/CORE.setting:10805␤ in block at /tmp/tmpfile:1␤␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar b6fed1: OUTPUT«START␤ in method new at src/gen/m-CORE.setting:10850␤ in method new at src/gen/m-CORE.setting:10842␤ in block at /tmp/tmpfile:1␤␤ in block at /tmp/tmpfile:1␤␤»
TimToady actually, all those HEREs are coming after the sleep 3 02:07
r: my \x = Proxy.new: FETCH => { say "HERE" }; say "START"; sleep 1; say x + 1; say "DONE" 02:08
camelia rakudo-moar b6fed1: OUTPUT«START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤2␤DONE␤» 02:09
..rakudo-parrot b6fed1, rakudo-jvm b6fed1: OUTPUT«START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤2␤DONE␤»
TimToady there's a riot
how can x+1 possibly be fetching 29 times?!?!?!?!
is it refetching the value on every attempt to bind? 02:10
I think I see a way to speed up rakudo...
JimmyZ :P 02:11
JimmyZ maybe see a way to speed up rakudo startup 02:12
jercos r: my $x = 0;my \x = Proxy.new: FETCH => { $x++; say $x; return $x };sleep 1; say x + 1; say "DONE" 02:14
camelia rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«1␤»
..rakudo-parrot b6fed1: OUTPUT«(signal SEGV)1␤»
jercos erm.
dalek rl6-roast-data: 24d5427 | coke++ | / (4 files):
today (automated commit)
02:15
02:16 xenoterracide joined
TimToady r: my $x = Proxy.new: FETCH => { say "HERE" }; say "START"; sleep 1; say $x + 1; say "DONE" 02:17
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«HERE␤START␤2␤DONE␤»
TimToady that just does it once, but before START, huh 02:18
r: my $x := Proxy.new: FETCH => { say "HERE" }; say "START"; sleep 1; say $x + 1; say "DONE"
camelia rakudo-moar b6fed1: OUTPUT«START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤2␤DONE␤»
..rakudo-parrot b6fed1, rakudo-jvm b6fed1: OUTPUT«START␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤HERE␤2␤DONE␤»
JimmyZ It will be a good RT 02:19
TimToady r: say "START"; my $x = Proxy.new: FETCH => { say "HERE" }; say "MIDDLE"; sleep 1; say $x + 1; say "DONE"
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«START␤HERE␤MIDDLE␤2␤DONE␤»
02:21 grondilu left 02:22 pdcawley joined, FROGGS_ joined
TimToady suspects Proxy FETCHes are pessimized over normal ones... 02:22
02:25 Sqirrel left 02:26 FROGGS left, woosley left, woosley joined 02:27 xenoterracide_ joined, xenoterracide left 02:29 klapperl joined 02:32 klapperl_ left 02:33 xenoterracide_ left 02:41 xenoterracide_ joined 02:43 Sqirrel joined 02:55 xinming left 03:02 adabsurdum joined, adabsurdum is now known as hoverboard, hoverboard left, hoverboard joined 03:04 hoverboard is now known as adabsurdum 03:12 unclefester2 joined
unclefester2 r: my $i = 0; my @a = (10, 20 ,30 ,40); my @l := gather { for @a {++$i; take $_ } }; my @pull; push @pull, $_, $i for @l; @pull.say 03:12
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«10 1 20 2 30 3 40 4␤»
03:14 xinming joined 03:17 Pleiades` left, Colby` joined, Colby` is now known as Pleiades` 03:18 unclefester2 left 04:00 jnap left 04:21 fridim__ left 04:30 jnap joined 04:31 pdcawley left 04:34 jnap left 04:35 pdcawley joined 04:45 xenoterracide_ is now known as xenoterracide 04:57 woosley1 joined 04:59 woosley left 05:17 adabsurdum left 05:25 [Sno] left 05:27 adabsurdum joined, adabsurdum is now known as Guest24938 05:30 Guest24938 left, Guest24938 joined, Guest24938 is now known as hoverboard 05:31 jnap joined
lue rn: my $a = "1,2,3"; $a ~~ /<digit>\,/; say $a.split(/\,/)' # expected output: 2 3 05:35
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> "; $a ~~ /<digit>\,/; say $a.split(/\,/)⏏' # expected output: 2 3␤ expe…»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Confused at /tmp/tmpfile line 1:␤------> "; $a ~~ /<digit>\,/; say $a.split(/\,/)⏏' # expected output: 2 3␤␤Parse failed␤␤»
lue rn: my $a = "1,2,3"; $a ~~ /<digit>\,/; say $a.split(/\,/) # expected output: 2 3
05:35 jnap left
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1, niecza v24-109-g48a8de3: OUTPUT«1 2 3␤» 05:35
lue Oh, I misread. I thought split had an implicit :p, but rather it's a :c 05:36
Still doesn't change that I should be getting "2 3" out of that though. 05:38
TimToady where did you get that factoid? 05:39
I don't recognize it
lue S05, "Note that this does not automatically anchor the pattern to the starting location. (Use :p for that.) The pattern you supply to split has an implicit :c modifier." 05:40
TimToady hmm, I think that just means it scans
meaning each application starts scanning where the previous left off 05:41
I don't think it means it pays attention to previous matchew 05:42
*es
lue Ah, so it would be an internal thing. Makes sense, esp. considering what I was thinking of had no obvious way of being disabled.
TimToady I think implicit there meant internal
05:45 kurahaupo_mobile joined, kurahaupo__ left
lue
.oO( I think I've anyway reached the point where I need to write a simple Pod6 grammar, instead of this mess of regexes that's slowly creeping in ☺ )
05:46
BenGoldberg Is there any particular defined behavior for 'sort', if the sort function passed to it gives unstable results? 05:47
TimToady well, hopefully it won't coredump, but we probably can't guarantee anything beyond that 05:48
BenGoldberg Ok.
So the fact that with this: 05:49
rn: print sort { Order((state $ = 1) *= -1) }, 'JPuesrtl ahnaoctkheerr, '.comb
camelia niecza v24-109-g48a8de3: OUTPUT«JPuesrtl ahnaoctkheerr, »
..rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«Just another Perl hacker
BenGoldberg niecza simply returns its input unmodified, and without emitting a warning, is ok?
TimToady sure, though if it had emitted flying butt monkeys, that might also be okay 05:51
BenGoldberg I would kinda expect a warning if it was going to emit flying butt monkeys :)
TimToady stealth flying butt monkeys 05:52
BenGoldberg r: say "Flying \c[MONKEY]" 05:54
camelia rakudo-jvm b6fed1: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name MONKEY␤at /tmp/tmpfile:1␤------> say "Flying \c[MONKEY⏏]"␤»
..rakudo-parrot b6fed1, rakudo-moar b6fed1: OUTPUT«Flying 🐒␤»
BenGoldberg nr: my $i = 0; my $x := Proxy.new: FETCH => { print "(",++$i,")"; '!' }; print "<"; print $x ~ '?'; say ">" 05:59
camelia niecza v24-109-g48a8de3: OUTPUT«(1)<(2)(3)!?>␤» 06:00
..rakudo-parrot b6fed1, rakudo-jvm b6fed1: OUTPUT«<(1)(2)(3)(4)!?>␤»
..rakudo-moar b6fed1: OUTPUT«<(1)(2)(3)(4)(5)(6)(7)!?>␤»
BenGoldberg nr: my $i = 0; my $x := Proxy.new: FETCH => { print "(",++$i,")"; 42 }; print "<"; print $x + 11; say ">"
camelia niecza v24-109-g48a8de3: OUTPUT«(1)<(2)53>␤»
..rakudo-parrot b6fed1, rakudo-jvm b6fed1: OUTPUT«<(1)(2)(3)(4)53>␤»
..rakudo-moar b6fed1: OUTPUT«<(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)53>␤»
BenGoldberg nr: my $i = 0; my $x := Proxy.new: FETCH => { print "(",++$i,")"; 42 }; print "<"; print $x; say ">"
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«<(1)(2)42>␤»
..niecza v24-109-g48a8de3: OUTPUT«(1)<(2)(3)(4)(5)(6)42>␤»
BenGoldberg Most peculiar. 06:01
06:06 BenGoldberg left 06:13 dayangkun left 06:27 dayangkun joined 06:29 [Sno] joined 06:30 pdcawley left 06:31 bjz left, jnap joined 06:32 pdcawley joined 06:35 jnap left 06:39 kaleem joined 06:56 denis_boyun joined 06:58 FROGGS_ left 07:07 dmol joined 07:22 FROGGS joined 07:27 sqirrel_ joined 07:32 jnap joined 07:36 hoverboard left, jnap left 07:49 darutoko joined 07:55 dmol left 07:56 dmol joined 08:02 sqirrel_ left 08:10 Rotwang joined, zakharyas joined 08:13 dmol left 08:17 dmol joined 08:25 Rotwang left 08:30 arnsholt left 08:31 colomon left 08:32 kbaker joined 08:49 denis_boyun left 08:52 kbaker left 08:54 fhelmberger joined
lizmat reads p6weekly.wordpress.com/2014/03/03/c...9-of-2014/ and wonders whether flatmap shouldn't be specced 08:54
08:59 dakkar joined 09:04 kbaker joined 09:11 pippo joined 09:12 kbaker left 09:16 virtualsue joined
timotimo that's not my department :P 09:18
moritz "once rockets are up, who cares where they come down? that's not my department, says Wernher von Braun" -- Tom Lehrer
09:41 [particle]1 joined 10:06 kbaker joined 10:24 rindolf joined 10:25 arnsholt joined
FROGGS jnthn / masak / moritz / tadzik / timotimo / lizmat / arnsholt / [Coke] / JimmyZ / TimToady / pmichaud: please sign up as a possible mentor if you want to become one: www.google-melange.com/gsoc/homepag...e/gsoc2014 10:30
moritz already signed up
10:33 woosley1 left 10:38 spider-mario joined
tadzik signing up 10:52
10:54 arnsholt left
tadzik I filed some request 11:00
moritz tadzik: please join #soc-help on irc.perl.org 11:06
11:11 arnsholt joined 11:37 itz__ joined 11:39 itz left 11:40 itz_ left, itz_ joined 11:41 scumdog joined 11:44 bjz joined 11:54 kaleem left, kaleem joined 11:55 colomon joined 12:03 brrt joined
brrt hi #perl5 12:03
#perl6
such typo
FROGGS *g* 12:05
hi brrt
brrt hi Froggrs
typo time again
12:11 daniel-s_ left 12:12 daniel-s_ joined 12:42 arnsholt left 12:43 xinming left
colomon Froggers! 12:45
12:48 xinming joined 13:01 cognominal left, cognominal joined 13:10 fhelmberger left 13:13 zakharyas left, skids left 13:18 dmol left 13:23 zakharyas joined 13:25 telex left 13:26 telex joined 13:39 fhelmberger joined
brrt asking arround: my university wants to publish the percentile ranking of students within their yeargroup on their degree certificate, as a way to show prospective recruiters / interviewers the relative quality of the students involved 13:42
… anybody got an idea on how to sort students?
mind that the majority of students do not all take the exact same courses
13:43 kaare__ left, kaleem left 13:45 xinming left
moritz make a ranking for each course, and then for each student do an average of all the rankings 13:45
13:45 pecastro left
moritz (percentual rankings, that is) 13:45
13:45 xinming joined
brrt moritz - that is probably my solution, too 13:50
…. but it is not so obvious to defend
(for a math-deficient person like myself, at least) 13:51
moritz well, there are two obvious other approaches 13:52
one is to give out points per course, and sum them up
brrt in the netherlands, that is actually the 'default' approach
moritz but that just gives the most laborous students the advantage, not the actually best ones
brrt exactly 13:53
and there is another problem
the whole point of the percentile rankings was that marks / grades differ too much per course / professor
moritz ... and I forgot what the second approach was :-) 13:54
brrt i.e. one could study a 'difficult subject' where lots of low grades are given and be in the top 5% and one could study an 'easy subject' where lots of high grades are given and be a top 95% student… and when directly compared the second student would easily 'win' from the first
13:55 virtualsue left
brrt one solution i used on another ranking problem is rank scoring (i.e. - mario kart) 13:55
13:55 pecastro joined
brrt you get f(r)*N points - N is total points, r is rank, f(r) is a function of rank that decreases over r 13:56
but the main motivation of that solution was that the 'competitions' in question where uncomparable
i have another solution of which i was fond until late yesterday evening 13:58
simply put - if i can compare two students to determine if one is 'better' than the other, i'm all set - i can use a sorting algorithm 13:59
…. wait there is a problem with that
moritz I also thought of some kind of topological ordering 14:00
but I'm afraid it usually won't exist
brrt … yeah, thats basically my point too
:-)
you could compare two students, count the number of times one has a better grade than the other, with a 'win' for a student if he/she has followed a course but the other hasn't 14:01
but what about 'incomparable' students?
moritz but only if the two students actually had overlapping courses
brrt right
so you'd first have to divide them into 'comparable' set 14:02
s
moritz also, what do you do if have two students, A and B, and their ranking in three courses in A=1,B=100; A=55,B=54; A=55,B=54
such a partition won't exist, usually 14:03
brrt ….. usually or generally? 14:04
14:05 guru joined, guru is now known as Guest69755
brrt sorted by percentile average seems the best approach to me 14:05
14:05 Guest69755 is now known as ajr_
moritz both, probably 14:07
[Coke] FROGGS: already signed up.
brrt there is another problem though 14:10
what about stragglers - like myself :-)
i have relatively high grades but i will receive my degree years after most students of my yeargroup
moritz you'll collect other experiences, which you can boast with and use for getting hired 14:11
du happen to want to learn German, and program Perl and/or Python (and a bit of JS) in Bavaria? 14:12
s/du/do/
brrt anyway - that means that at the time early-finishers received their degree, they'd be higher in the ranking, but by the time i'll receive mine, i might be in their place
haha that is true
timotimo moritz is hiring? :) 14:13
moritz timotimo: well, my employer is hiring :-)
brrt well……. actually….. i'd like too, but i'm .. ahum… being approached at multiple sites to go work with / for them / study further
moritz brrt: I know that situation, no hard feelings :-)
brrt which i guess is natural considering the current developer climate but makes it very hard for me to choose anything 14:14
but yeah, otherwise it'd sound pretty good :-)
moritz (the offer goes to any perl programmer, not just brrt; sadly we're doing perl 5.14, not perl 6) 14:16
14:18 jnap joined
JimmyZ :) 14:19
14:38 dmol joined 14:39 xinming left 14:41 brrt left, brrt joined 14:45 LLamaRider joined
[Coke] wait, I can get a job programming in perl!? 14:51
timotimo yeah, but do you really want to be stuck with 5.14 in this day and age? 14:52
slavik1 shush, we need devs to write 5.14 code
14:52 zakharyas left
slavik1 seriously ... we do 14:52
jnap not so bad, lots of places still 5.10 or earlier
14:53 zakharyas joined
jnap when I left shutterstock most of their money making code was 5.8.8 on mod_perl1 14:53
14:53 zakharyas left, zakharyas joined 14:55 virtualsue joined 14:56 pmurias joined
timotimo to be fair, i don't know anything about the 5 series :P 14:58
JimmyZ almost too 14:59
LLamaRider I'm doing quite a lot of 5 work, even hoping to get a P5 job in 2015, though who knows what will happen... 15:00
[Coke] anyone know anything about jerl?
JimmyZ never heard it
LLamaRider same 15:01
FROGGS perhaps Coke made a Joke? 15:02
JimmyZ Jerl 6?
rjbs expected for Jhristmas.
brother code.google.com/p/jerl/ 15:03
brrt that project strikes me with a diffuse fear 15:04
brother Just knew that I heard the name for someing Perl/Java cross-over before
LLamaRider oh it just plugs it inside Java as a VM. Not that scary then :) 15:05
brrt also, why is the default mysql collation latin1_swedish_ci
just….. why
timotimo well, it had to be *some* collation 15:06
brrt :'-(
timotimo so why not use latin1 instead of unicode and then use swedish instead of the system's locale and then use case insensitive because that's just common sense
pmurias what is the performance of nqp-moar compared to nqp-parrot?
FROGGS well, there is latin1_general, no?
brother brrt: the main mysql founders was swedish... 15:07
FROGGS pmurias: nqp-moar is faster
timotimo t.h8.lv/p6bench/2014-02-22-nqp.html
brrt pmurias - probably benchmark-specific, but i've heard good things about nqp-moar
that is not a reason
brother
:-D
FROGGS pmurias: twice as fast as parrot in most cases, but it is slower when it comes to string operations
brrt i'm dutch, i'm certainly not forcing everybody … wait dutch is just latin1
timotimo FROGGS: not any more; at least for small tasks. for big tasks it still tanks 15:08
brother brrt: Being swedish seems to be a reason for many strange things
FROGGS timotimo: ah, cool
timotimo t.h8.lv/p6bench/2014-02-25-flatten_fastpath.html - rakudo instead of nqp, but still interesting maybe?
FROGGS pmurias: when you have time, can you outline the state of rakudo-js? 15:09
pmurias FROGGS: just started on making it use the nqp build system so that it can be migrated to the nqp repo 15:10
s/started/started working/
FROGGS pmurias: that would be awesome!
timotimo yay! :)
FROGGS (and it would mean that others can fix things too)
++pmurias 15:11
15:23 __thou joined
pmurias what's the right format for a dalek commit hook? 15:33
moritz pmurias: for github, there's documentation in mu/misc/dalek-push.txt or so 15:34
pmurias there's a "Payload Version" setting on github?
dalek p-js: 94dc21b | (Pawel Murias)++ | / (3 files):
Run a settingless 'nqp::say("Hello World")' with a system installed nqp-p.
p-js: cb4dfc5 | (Pawel Murias)++ | gen/js/stage1/ (2 files):
Add .gitignore to create required dirs.
pmurias moritz: it works ;)
moritz pmurias: which version did you chose? 15:35
pmurias: please update the file in Mu :-)
pmurias moritz: I used the default form one
masak aloha, #perl6 15:51
LLamaRider o/ masak
15:51 treehug88 joined
masak perl6: my $a = 0; ($a++)++ 15:51
camelia rakudo-parrot b6fed1: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub postfix:<++> at gen/parrot/CORE.setting:4436␤ in sub postfix:<++> at gen/parrot/CORE.setting:1791␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm b6fed1: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub postfix:<++> at gen/jvm/CORE.setting:4432␤ in sub postfix:<++> at gen/jvm/CORE.setting:1787␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Writing to readonly scalar␤ at /tmp/tmpfile line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ at /home/p6eval…»
..rakudo-moar b6fed1: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub postfix:<++> at src/gen/m-CORE.setting:4432␤ in sub postfix:<++> at src/gen/m-CORE.setting:1787␤ in block at /tmp/tmpfile:1␤␤»
masak perl6: my $a = 0; ++(++$a) 15:52
camelia ( no output )
..rakudo-parrot b6fed1: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub prefix:<++> at gen/parrot/CORE.setting:4429␤ in sub prefix:<++> at gen/parrot/CORE.setting:1784␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar b6fed1: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub prefix:<++> at src/gen/m-CORE.setting:4425␤ in sub prefix:<++> at src/gen/m-CORE.setting:1780␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm b6fed1: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub prefix:<++> at gen/jvm/CORE.setting:4425␤ in sub prefix:<++> at gen/jvm/CORE.setting:1780␤ in block at /tmp/tmpfile:1␤␤»
masak niecza: my $a = 0; ++(++$a); say $a
camelia niecza v24-109-g48a8de3: OUTPUT«2␤»
masak who's "right", Niecza or Rakudo?
FROGGS I was to say Niecza 15:53
masak is it spec'd at all whether prefix:<++> yields an lvalue?
FROGGS but now...
pmurias if I want to use a stage0 nqp-p to build my stage1 nqp-js where should I build the nqp.pbc? 15:54
as the parrot stage0 nqp executable might be only in pir form if parrot is not being built 15:55
15:55 kaleem joined
FROGGS masak: I can't find anything about lvalueness of that 15:58
15:59 jnap left
pmurias masak: is there a reason why it shouldn't be lvalue? 15:59
FROGGS pmurias: is !$foo and lvalue? 16:00
lizmat FROGGS: don't you mean $!foo ? 16:02
cause !$foo certainly is not an lvalue in my book :-)
fwiw: $ perl -e '++(++$a)' 16:03
Can't modify preincrement (++) in preincrement (++)
16:06 guru joined, ajr_ left, guru is now known as Guest66772, Guest66772 is now known as ajr_ 16:08 benabik joined 16:11 grondilu joined
grondilu r: class A { has $x; multi method new(:$y) { self.new: :x(-$y) } }; say A.new(:y(1)); 16:12
16:12 jnap joined
camelia rakudo-jvm b6fed1: OUTPUT«use of uninitialized value of type Any in numeric context␤use of uninitialized value of type Any in numeric context␤use of uninitialized value of type Any in numeric context␤use of uninitialized value of type Any in numeric context␤use of uninitiali…» 16:12
..rakudo-parrot b6fed1: OUTPUT«(timeout)use of uninitialized value of type Any in numeric context in method new at /tmp/tmpfile:1␤␤use of uninitialized value of type Any in numeric context in method new at /tmp/tmpfile:1␤␤use of uninitialized value of type Any in numeric con…»
..rakudo-moar b6fed1: OUTPUT«(timeout)use of uninitialized value of type Any in numeric context␤use of uninitialized value of type Any in numeric context␤use of uninitialized value of type Any in numeric context␤use of uninitialized value of type Any in numeric context␤use of …»
grondilu n: class A { has $x; multi method new(:$y) { self.new: :x(-$y) } }; say A.new(:y(1)); 16:13
camelia niecza v24-109-g48a8de3: OUTPUT«A.new(...)␤»
FROGGS lizmat: no, it was just another example of the case of ++$foo 16:14
16:14 xragnar is now known as Guest53785, xragnar_ joined, Guest53785 left, xragnar_ is now known as xragnar 16:19 jnap left 16:22 jnap joined, isacloud_ is now known as isacloud
rindolf Hi all. 16:24
pastie.org/8884041 - perl Configure.pl gives me this - I already did git clean -dxf - why am I getting this? 16:25
16:27 [Sno] left
dalek p-js: 2edd966 | (Pawel Murias)++ | / (26 files):
Copy over the runtime.

Add some instructions to the README.
16:30
FROGGS rindolf: it looks like parrot's configure scripts thinks that you've got a perl 5.18 16:32
rindolf FROGGS: I do, but not 5.18.1
FROGGS: perl-5.18.2-4.mga5
timotimo git clean will not clean the checked out "submodules" 16:33
actually not submodules
FROGGS rindolf: can you check: perl-5.18.2-4.mga5 -E 'say $^X'
rindolf: and perhaps also perl-5.18.2-4.mga5 -V
rindolf FROGGS: that's the package name.
FROGGS: it's not the executable.
FROGGS well, then use the binary name instead 16:34
timotimo i think you need to cd into the parrot dir and configure.pl in there or something like that
rindolf timotimo: ah, OK.
timotimo worst case, remove the parrot folder completely, to force a clean reinstall
brrt off, thanks moritz for helpful advice :-) 16:38
16:38 brrt left 16:39 btyler joined, zakharyas left 16:40 skids joined 16:44 molaf left
TimToady r: my $a = 1; say ($a += 2) += 3 16:45
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«6␤»
16:45 hoverboard joined
TimToady so how is ++$a different from $a += 1 ? 16:46
$a++ has to clone the old value, of course, so need not apply 16:48
lizmat fwiw: $ perl -E '($a += 1) += 2; say $a'
3
more accurately: $ perl -E 'my $a=1; say ($a += 2) += 3' 16:49
Can't modify say in addition (+) at -e line 1, at EOF
hmmm
TimToady say () means say() in p5
say +()
PerlJam yeah, you need a +
TimToady what a dump language 16:50
*dumb
FROGGS *g*
TimToady what a dump language designer :)
when you need workarounds like that, it's like like baking the WAT right in
FROGGS damn, and I bring all these dumplings back into lexical blocks >.< 16:51
PerlJam It's a good thing we don't have that language designer anymore then! :)
TimToady r: say so True;
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«True␤»
16:52 sqirrel_ joined
FROGGS ohh noes! a sqirrel_!! 16:52
FROGGS hides
16:52 FROGGS left
TimToady you're in trouble now 16:52
heh, he really did hide 16:53
[Coke] pmurias++ making progress!
16:56 kaleem left
[Coke] r: say .WHAT, so True, my $friend; 16:57
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«NilTrue(Any)␤»
16:58 molaf joined
rurban_ how did you workaround the t nci sig removal in Zavolaj? I'm just catching up with the destruction done 2011 17:02
[Coke] do we need "fc" in perl 6?
TimToady [Coke]: what would you propose to replace it with? 17:03
jnthn o/ 17:04
rurban_: We stopped using Parrot's NCI. :)
rurban_ And of course I'll bring back in t - cstrings for nci. Ah I remember, you switched to dyncall
Lobsinger was really insane, I understand better now, thanks 17:05
jnthn I'm not sure calling folks insane helps much, but... :P
TimToady [Coke]: .oO("This poem was not written by Homer, but by another blind eighth-century poet of the same name.") 17:06
rurban_ If the actions were insane I prefer to call it like that
lizmat oo( insanity is in the eye of the beholder ) 17:07
pmurias rurban_: you are reviving parrot?
jnthn TimToady: Yes, a value has to be decontainerized to type check it. If it happens to hit a multi-dispatch, it'll happen there. If it gets passed along to another thing that needs to type check it, same. say probably becomes $*OUT.say, which calls .print, and so on. It's easy for 'em to add up. And with Scalar it's really just a pointer dereference. With Proxy, yeah, it gets noticable.
TimToady "Smile when you say that." --The Virginian
jnthn TimToady: I'm not immediately sure what to do about it *in general*. I mean, if you're gonna do a typecheck you need the value... 17:08
TimToady: I'm sure specific paths can be improved.
TimToady jnthn: yes, I was later recalling that you'd mentioned something about FETCH being pessimal compared to the normal case
which seems rightish 17:09
rurban_ pmurias: Yes. Undo most of damage I see 17:10
jnthn TimToady: Yeah. While I'd expect various FETCH calls, the number we saw did seem a bit excessive, though. :) 17:11
TimToady: I can probably guess some of the reasons... :)
pmurias rurban_: don't you have your own p2 vm?
17:11 fhelmberger_ joined
jnthn TimToady: decont doesn't show up as a hotpath though, in any profiles I've seen. 17:11
rurban_ pmurias: As I see no way forward with moarvm for scalable threading, jit and compat pbc 17:12
17:12 ajr_ left
pmurias what's blocking moarvm on jit? 17:13
rurban_ pmurias: yes, I have. But I have to think about the type system, matchers, macros and more for a while
17:14 fhelmberger left
jnthn rurban_: Uh, the MoarVM bytecode compat policy is at least as strong as the Parrot one. We use bytecode for NQP stage0, vs PIR on Parrot. 17:14
rurban_ Really? I thought you ditched the arch-compat (endianness) in the bytecode 17:15
jnthn Oh, *that* kinda compat
Well, the difference is just that we spec one endianness as the wire format and will transform on first use. 17:16
TimToady or on install
17:16 panchiniak joined
jnthn We could of course do the other thing too... 17:16
TimToady worst case is you keep two stage0's to distrib
jnthn It's really not a difficult problem. 17:17
It's a simple matter of programming that it's blindingly obvious falls below various other things at the moment.
rurban_ I see. little-endian on all, and only big-endian needs to do some transforms
TimToady and the Internet picked the opposite convention, is all :) 17:18
jnthn I encounter a lot more LE machines than BE ones ;)
rurban_ The parrot bytecode policy was really only a people problem. So beware :)
17:19 hoverboard left
TimToady
.oO(Now if only people problems were only a people problem, we'd be getting somewhere...)
17:20
benabik LE machines have to do all the conversions on network. Why not make the BE machines do work when reading from disk. :-D
xfix Why not ME to be fair than? Instead of something like 1234 or 3412, why not 1324? 17:21
TimToady I think that's one compromise we can all agree not to agree on.
rurban_ BE machines are usually the small ones (mips, arm)
tadzik heh, ironic :) 17:22
rurban_ But not much used so far, and the dont have enough memory for perl6 besides java
tadzik you'd think they're compensating for something
TimToady eggs that come the wrong end from the egg factory?
benabik ARM's in pretty big machines these days.
xfix PDP-11 uses 2143. I think this is reasonable. 17:23
PerlJam aren't some ARMs endian-switchable?
xfix Yes 17:24
Parsing bytecode format is not that hard, no matter what endianness it uses. Switching endian is reasonable (rotate bytes), and it doesn't have to be done after parsing. 17:26
17:27 FROGGS joined
xfix Also, ARM being small? These days, phones have lots of RAM. 17:28
Besides, people even make ARM servers.
17:28 fhelmberger_ left 17:29 jnap left
FROGGS I totally should get my hands on an arm server 17:29
xfix It's used everywhere, except for desktops and servers. 17:30
And both desktops and servers using ARM exist.
ARM is not something that can be ignored.
17:31 dmol left 17:34 benabik left
rurban_ but most big ARMs nowadays can do both ways, BE and LE 17:34
17:42 bluescreen10 joined
pmurias rurban_: is there anything in moarvm's design you think will block it from having a jit? 17:45
rurban_ haven't looked yet, but most likely none. jit's are pretty easy. what you cannot jit just do c-like call. 17:47
unroll all ops in memory and only optimize the fast cases 17:48
I'll bring back the parrot jit also soon 17:49
moarvm got too fast lately :)
pmurias so your main problem with moarvm is the threading? 17:51
17:51 dakkar left 17:52 benabik joined 17:58 hoverboard joined
[Coke] TimToady: fc isn't specced, I'm sking if we should add it. 18:01
18:01 sorear joined
[Coke] p6: say "ååÅrgle∫argle".fc 18:03
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«No such method 'fc' for invocant of type 'Str'␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method fc in type Str␤ at /tmp/tmpfile line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ at…»
18:03 bluescreen100 joined
TimToady [Coke]: is specced in S32-setting-library/Str.pod 18:03
[Coke] TimToady: well, it helps if you look in the right S32 pod file, I find! 18:04
(I had switched to container at some point.)
ok, well, there's some LHF, mebbe, that's it nYI.
TimToady++
18:06 bluescreen10 left
masak FROGGS: two reasons for prefix:<++> *not* being an lvalue (that I can think of): (a) performance, (b) foolish consistency with postfix:<++> 18:08
FROGGS: the reason I brought this up is: today I was teaching Java, and showing that of course you cannot do ++(++x) in Java. and then I said "but here, look, it works in a more flexible language such as Perl 6..." 18:09
"...oh :/"
TimToady seems to me it would be faster *not* to decont ++$a
masak FROGGS: shoulda tried it in Niecza :) 18:10
jnthn I don't really think the consistency is foolish here
But yeah, it'd be faster not to.
By a miniscule amount.
TimToady the foolish inconsistency is with $a += 1 18:11
[Coke] wonders how much of his time on perl6 is spent saying "Why not X" "but we already X" "Oh". :) 18:12
18:12 Alina-malina left, rindolf left
TimToady grep is your friend 18:12
18:14 sqirrel_ left
TimToady wonders how difficult it would be to get ucd2c.pl to also do ucd2p6 18:16
18:17 Alina-malina joined
TimToady then we could have .pm's for all the older versions of unicode, and only promise that the most recent is fastest 18:17
18:17 rindolf joined
TimToady otherwise we're pulling in 2.5MB for each version of Unicod 18:19
which is kinda like Unicode, but swims in the ocean
jercos just don't drop the bass 18:20
TimToady no, crank up the bass
jercos I believe the term is "reel in"
18:20 denisboyun joined 18:21 pdennis joined
TimToady you're thinking of Chicken Reel 18:21
jercos I certainly am now
TimToady :D
18:27 LLamaRider left 18:29 denis_boyun__ joined 18:30 denisboyun left 18:32 benabik left 18:41 bjz left 18:44 pmurias left 18:45 pdennis left 18:52 Rotwang joined, kbaker left 18:59 darutoko left 19:02 treehug88 left
TimToady hmm, is there any way to not decont the return value from a Block that corresponds to return-rw for a Routine? 19:03
r: { leave 42 }().say 19:04
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ leave used at line 1␤␤»
jnthn TimToady: Those don't decont, afaik
TimToady hmm, Z+= is telling me otherwise, but I'll keep whacking on it
could be something else
maybe list assignment 19:05
jnthn r: my $a = 42; say nqp::iscont(-> { $a }.())
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«1␤»
jnthn dinner & 19:06
19:06 treehug88 joined 19:08 [Sno] joined 19:10 Alina-malina left 19:15 vincent22 joined 19:16 [Sno] left 19:18 Alina-malina joined 19:22 pecastro left
timotimo huh. i can't make -j4 install nqp any more :o 19:23
not sure if it's just a dependency problem with the -j4
will take a bit of time to figure that out 19:24
FROGGS timotimo: do you build all backends?
timotimo yes
it's doing jvm first at the moment
FROGGS is it broken for all of them, or only for a single one?
timotimo so i'll have to wait for it to reach moar with -j1 to see if it still works
only for moar; it fails to find ModuleLoader.moarvm
weird. 19:25
gist.github.com/timo/9670fcf6868861577e4c 19:26
290607 16K -rw-r--r-- 1 timo timo 15K Feb 15 08:00 src/vm/moar/stage0/ModuleLoader.moarvm
shouldn't it find that?
it's trying only in ./ 19:29
and then it immediately bails out
weird.
was there any changes to libpath recently? 19:31
FROGGS I've not seen any 19:32
timotimo can you reproduce my problem? are there .moarvm files in nqp's root that you can delete to make it b0rk?
19:34 hoverboard is now known as lost, lost is now known as hoverboard 19:41 roadrunner_ joined
timotimo oh, interesting 19:41
the first entry to lib_path is a null pointer, only the second one is actually the correct path to the stage0
19:43 roadrunner_ left
timotimo it gets set correctly in the main at least ... 19:44
dalek ast: 5f9f92c | larry++ | S03-metaops/ (2 files):
test that Zop= and Xop= work
19:47
kudo/nom: 6247a8c | larry++ | src/core/metaops.pm:
fix Zop=
19:48
FROGGS timotimo: even when I delete all nqp/*.moarvm, it does not break
timotimo strange. 19:49
TimToady r: my @a = 1,2,3; @a Z+= 2,4,6; say @a
camelia rakudo-parrot b6fed1, rakudo-jvm b6fed1, rakudo-moar b6fed1: OUTPUT«1 2 3␤»
timotimo i don't understand how the null byte gets prepended to the libpath list 19:52
lizmat $ perl6 -e 'my @a = 1,2,3; @a Z+= 2,4,6; say @a'
3 6 9
FROGGS the last element should be NULL 19:53
lizmat TimToady++
19:53 water joined 19:54 Alina-malina left
timotimo (gdb) print tc->instance->lib_path 19:54
$4 = {0x0, 0x7fffffffe0c2 "src/vm/moar/stage0", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
19:54 lizmat_ joined, Alina-malina joined
FROGGS :/ 19:55
19:57 hoverboard left, water is now known as hoverboard, Alina-malina left 19:58 lizmat_ is now known as lizmat
[Coke] lizmat: hio! 19:59
lizmat [Coke] o/
timotimo the watchpoint is kind of taking a while 20:03
20:03 virtualsue left 20:04 tgt joined 20:05 dalek left, dalek joined, ChanServ sets mode: +v dalek
masak wow, I hadn't realized Perl 6 ranks #5 on RC: rosettacode.org/wiki/Rosetta_Code/R...popularity 20:07
TimToady++ others++
TimToady grondilu++ in particular 20:08
shaped arrays and gui support will give us a lot more :) 20:09
timotimo oh yes
FROGGS libSDL2 \o/
(and Qt for timotimo)
timotimo i'd love that, but i wouldn't count on it. 20:10
FROGGS yeah, I have no time either 20:11
ETOOMANYSTUFFTODOALREADY
20:12 Alina-malina joined 20:14 raiph joined
masak finds rosettacode.org/wiki/Twelve_statements#Perl_6 and laughs 20:15
extra funny that we declare (and fill up) the @ugly array, but then don't use it for anything :P
timotimo oh, those tests are pretty 20:16
20:16 goldliz joined 20:17 yoleaux left, pnu joined
timotimo actually 20:18
setting a watchpoint to the location of lib_path makes gdb unkillable for some reason 20:19
jnthn The docs clearly say that's an invincibilty potion :P 20:20
20:21 yoleaux joined, ChanServ sets mode: +v yoleaux 20:24 grep0r left
timotimo this debugging is going nowhere 20:25
i don't really see anything in the code where the change to the lib_path may happen
and trying to watchpoint it or something ... not going to help :| 20:26
20:26 arnsholt joined
jnthn timotimo: I think it's meant to stay the same beyond startup... 20:26
20:27 goldliz left
timotimo me, too 20:27
20:27 woolfy joined, kivutar joined
timotimo *somehow* the libpath ends up going somewhere else and i have no clue how 20:28
is something corrupting the memory? valgrind didn't show anything, but that doesn't have to mean anything here
masak oh wow, this is horrible: stackoverflow.com/questions/1169511...ntax-error :) 20:29
kurahaupo_mobile timotimo: the address for libpath isn't somehow in gdb's own address space is it? 20:30
timotimo that would be *very* weird; but it could explain the behavior of the unkillable gdb
20:31 LLamaRider joined
FROGGS masak: another thing, how would *you* parse this line? open FH '>', 'foo.bar' 20:32
jnthn masak: That's beautiful! :)
timotimo is not a big fan of indirect method notation the way perl5 has it
FROGGS v5 did: open(FH('>', 'foo.bar')) ó.ò
and well, I parse it now that way too :/ 20:34
masak FROGGS: argh 20:35
kurahaupo_mobile oh yay, the adjacency operator rears its extremely ugly head again 20:36
FROGGS masak: and it is kinda painful to implement these bareword filehandle "properly"
20:37 vincent22 left
masak FROGGS: I can imagine. 20:38
timotimo "No more reverse-execution history." :( 20:40
masak someone might want to write an excellent answer to perlmonks.org/?node_id=1077103
jnthn timotimo: What're you trying to debug, ooc? 20:49
timotimo i can't build nqp any more, because it's not finding the ModuleLoader.moarvm, as it's not looking at the stage0 dir, because the lib_path array ends up having the stage0 path in its element 1, element 0 being a null pointer, so it doesn't even look there
jnthn wtf... 20:50
Since when?
timotimo haven't tried building on my desktop for a while now.
aaw man :| 20:53
i added a couple of 0s to the end of the instruction limit and it didn't help much 20:54
dalek kudo/nom: 44a4661 | larry++ | src/core/LoL.pm:
fix bare Z to match cleaner Zop algo
20:55
20:57 kurahaupo_mobile is now known as lurahaupo 20:58 lurahaupo is now known as kurahaupo 21:00 bluescreen100 left
timotimo oh great 21:01
--optimize=0 "fixed" it 21:02
21:02 dayangkun left
timotimo this is a little bit worrying 21:03
21:15 skids left 21:17 dayangkun joined 21:19 klapperl left 21:20 klapperl joined 21:23 virtualsue joined 21:27 wooden_ joined 21:28 wooden_ left, wooden_ joined
timotimo my gcc is too old to have address sanitization 21:28
21:29 wooden left, [Sno] joined 21:41 LLamaRider left, dmol joined
timotimo now i'm trying on my laptop, but i'ven't got any output from asan :\ 21:47
21:56 rylinaux joined 22:03 Rotwang left 22:10 perigrin_ is now known as perigrin 22:11 tgt left 22:12 xenoterracide left 22:13 LLamaRider joined 22:14 panchiniak left
jnthn sleep...and hopefully tuits tomorrow evening :) & 22:15
FROGGS sleep well 22:16
timotimo good night jnthn! :) 22:17
22:24 virtualsue left 22:28 kaare__ joined 22:34 treehug8_ joined 22:37 treehug88 left 22:42 pippo left 23:00 cognominal left 23:01 cognominal joined, raiph left 23:03 skids joined, treehug8_ left 23:09 tgt joined 23:12 LLamaRider left 23:14 tgt left 23:16 kivutar left 23:24 denis_boyun__ left 23:39 BenGoldberg joined 23:48 rindolf left 23:49 bjz joined, skids left 23:50 dmol left 23:57 kurahaupo left 23:59 tgt joined