»ö« 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:03 pdurbin joined 00:09 slavik left 00:12 Psyche^ joined 00:13 Psyche^_ left
Mouq wtf? How do you get the length of Str? 00:14
kk 00:15
r: "a→b".encode("utf8").bytes.say 00:16
camelia rakudo 67c6fd: OUTPUT«5␤»
Mouq Good call, Perl 6. Still wish it was more obvious 00:17
geekosaur length is not as obvious as you think. bytes? codepoints? graphemes? 00:18
you must declare which you mean because all attempts at figuring it out met very sad ends in bewildering behavior
Mouq I know. It would be nice if Perl would tell me as much when I try to do "abcd".length or something 00:19
00:20 PacoAir left
Mouq So the "Oh, duh" moment I just had would be automated :) 00:20
geekosaur mm. that might be fileable as an LTA bug
Mouq r: "a→b".codes 00:22
camelia rakudo 67c6fd: ( no output )
Mouq r: "a→b".codes.say # Yay
camelia rakudo 67c6fd: OUTPUT«3␤»
00:23 benabik left
BenGoldberg r: "a→b".graphemes.say 00:24
camelia rakudo 67c6fd: OUTPUT«No such method 'graphemes' for invocant of type 'Str'␤ in block at /tmp/BvmkZcdM22:1␤␤»
BenGoldberg r: my @a = ("foo", "bar"); @a[1] := @a; print @a 00:26
camelia rakudo 67c6fd: OUTPUT«(timeout)foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoof…
00:26 cognominal joined
BenGoldberg How would one go about counting the number of graphemes in a string? 00:27
lee_ r: "a→b".chars.say
camelia rakudo 67c6fd: OUTPUT«3␤»
lee_ maybe that? 00:28
BenGoldberg How does .codes differ from .chars? 00:29
00:31 benabik joined
lee_ they appears to be implemented exactly the same in Cool.pm 00:32
Mouq rnp: 1.say 00:37
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f, pugs: OUTPUT«1␤»
Mouq rnp: "a" ~~ tr/a/b/ 00:38
camelia pugs: OUTPUT«*** Can't modify constant item: VStr "a"␤ at /tmp/FbNGtW2VCN line 1, column 1 - line 2, column 1␤»
..rakudo 67c6fd: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/5MqozMZ8FM:1␤␤»
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Action method quote:tr not yet implemented at /tmp/NkLUtWdi4w line 1 (EOF):␤------> "a" ~~ tr/a/b/⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ …
Mouq rnp: (my $s = "a") ~~ tr/a/b/ 00:39
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Action method quote:tr not yet implemented at /tmp/3AyTsSIKuJ line 1 (EOF):␤------> (my $s = "a") ~~ tr/a/b/⏏<EOL>␤␤Potential difficulties:␤ $s is declared but not used at /tmp/3AyTsSIKuJ line 1:␤------> …
..rakudo 67c6fd, pugs: ( no output )
00:40 cognominal left 00:43 ssutch joined 00:52 benabik left
Mouq BenGoldberg: I may have your issue solved, give me some time to test the code 00:56
00:59 benabik joined 01:05 slavik joined
dalek albot: d0cc1d3 | Mouq++ | / (2 files):
Formatting of output doesn't belong in executor

Moved output formatting from EvalbotExecuter to Evalbot. The strange placement of formatting in EvalbotExecuter made the code confusing and caused Issue #2.
01:11
Mouq If that code didn't break it, it fixed it :p I presume moritz hosts the evalbot and will have to update it manually 01:14
BenGoldberg Mouq++ 01:23
colomon t/spec/S32-str/substr-rw.t failing in Rakudo JVM? 01:27
01:38 camelia joined
diakopter r: Mouq 01:38
/o\
01:39 ChanServ sets mode: +v camelia
camelia rakudo 67c6fd: OUTPUT«===SORRY!=== Error while compiling /tmp/THa5MkibxI␤Undeclared name:␤ Mouq used at line 1␤␤» 01:39
diakopter rn: say 1..100
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«1..100␤»
diakopter rn: .say for 1..*
camelia rakudo 67c6fd: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81􏿽xE2􏿽x90 01:40
..niecza v24-95-ga6d4c5f: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79􏿽xE2
diakopter Mouq: didn't seem to fix it
BenGoldberg Just for fun, who can guess what this function is? :) 01:44
r: sub A($m is copy, $n is copy) { state %c; my $key = $m => $n; while ( $m > 3 ) { return %c{$m => $n} if %c{$m => $n}; $n = $n ?? A($m, $n-1) !! 1; --$m }; %c{$key} = $m == 3 ?? 2**($n+3)-3 !! $m == 2 ?? 2*$n+3 !! $n+$m+1; }; say A(4,2)
camelia rakudo 67c6fd: OUTPUT«200352993040684646497907235156025575044782547556975141926501697371089405955631145308950613088093334810103823434290726318182294938211881266886950636476154702916504187191635158796634721944293092798208430910485599057015931895963952486337236720300291696959215610876…»
BenGoldberg Ok, so either it's not sufficiently fun, or I've optimized to the point of being unrecognizable :) 01:55
Here's a slightly less optimized version of the mystery A function:
r: sub A($m is copy, $n is copy) { state %c; my $key = $m => $n; while ( $m > 1 ) { return %c{$m => $n} if %c{$m => $n}; $n = $n ?? A($m, $n-1) !! 1; --$m }; %c{$key} = $n+$m+1; }; say A(3,$_) for 0..12
camelia rakudo 67c6fd: OUTPUT«5␤13␤29␤61␤125␤253␤509␤1021␤2045␤4093␤8189␤16381␤32765␤»
01:57 lichtkind left
BenGoldberg r: sub A($m is copy, $n is copy) { while ( $m > 0 ) { $n = $n ?? A($m, $n-1) !! 1; --$m }; $n+1; }; say A(3,$_) for 0..12 02:00
camelia rakudo 67c6fd: OUTPUT«(timeout)5␤13␤29␤61␤125␤253␤509␤»
BenGoldberg r: sub A($m, $n) { $m > 0 ?? A( $m-1, $n ?? A($m, $n-1) !! 1 ) !! $n+1; }; say A(3,$_) for 0..12 02:03
camelia rakudo 67c6fd: OUTPUT«(timeout)5␤13␤29␤61␤125␤253␤509␤»
diakopter fizzbuzz?
BenGoldberg ? 02:04
02:09 slavik left 02:16 sizz_ joined, sizz left 02:17 EvanTeitelman left
ingy BenGoldberg: cpansearch.perl.org/src/INGY/Langua...buzz.snusp :) 02:17
I should port Language::SNUSP to p6
BenGoldberg No, it's not fizzbuzz... it's the ackermann function :) 02:19
Mouq rn: .say for 1..200 02:22
BenGoldberg r: 'alive'.say 02:23
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78􏿽xE2􏿽x90
rakudo 67c6fd: OUTPUT«alive␤»
BenGoldberg Mouq++
Mouq Are you guys also getting Unknown Character (diamond question mark) symbols? 02:24
flussence yeah
r: say '»'.encode 02:25
camelia rakudo 67c6fd: OUTPUT«Buf:0x<c2 bb>␤»
BenGoldberg The << symbol shows up ok
flussence r: say '␤'.encode
camelia rakudo 67c6fd: OUTPUT«Buf:0x<0a>␤»
Mouq Yeah, I messed something up with "…"
flussence .u ␤
yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
flussence r: say "\x2424".encode
camelia rakudo 67c6fd: OUTPUT«Buf:0x<e2 90 a4>␤»
flussence it's cutting that off, that'd be it
off-by-3, seems like 02:26
Mouq Ohhhh, thank you. Hmm
BenGoldberg r: say "â".encode 02:30
camelia rakudo 67c6fd: OUTPUT«Buf:0x<c3 a2 c2 90>␤»
BenGoldberg r: say "…".encode 02:31
camelia rakudo 67c6fd: OUTPUT«Buf:0x<e2 80 a6>␤»
Mouq StackOverflow++ stackoverflow.com/questions/10953069/ 02:41
lue ingy: I've already written a SNUSP in Perl 6. IIRC I just need to touch it up a bit in the usability department... 02:48
BenGoldberg Oh, before I forget... 02:50
r: say map { $_ % 15 ?? $_ % 3 ?? $_ % 5 ?? $_ !! 'buzz' !! 'fizz' !! 'fizzbuzz' }, 1..100
camelia rakudo 67c6fd: OUTPUT«1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19 buzz fizz 22 23 fizz buzz 26 fizz 28 29 fizzbuzz 31 32 fizz 34 buzz fizz 37 38 fizz buzz 41 fizz 43 44 fizzbuzz 46 47 fizz 49 buzz fizz 52 53 fizz buzz 56 fizz 58 59 fizzbuzz 61 62 fizz 64 …»
BenGoldberg preflex: karma perl 02:54
preflex perl: 270
BenGoldberg preflex: karma perl6
preflex perl6: 11
dalek albot: 9ca77f7 | Mouq++ | evalbot.pl:
Truncate utf8 compatibly
camelia ( no output )
BenGoldberg preflex: karma rakudo
preflex rakudo: 108
camelia ( no output )
BenGoldberg preflex: karma n 02:55
preflex n: 158
camelia ( no output )
Mouq To be proper, ikegami++
BenGoldberg preflex: karma r
preflex r: 25
camelia ( no output )
BenGoldberg Next issue.... make evalbot ignore bots :) 02:56
03:02 cooper left
Mouq It already ignores dalek 03:04
hugme: hug r: 1.say 03:06
hugme hugs r:
Mouq hugme: hug r:1.say
hugme hugs r:1.say
Mouq Yeah
dalek albot: dbc13cc | Mouq++ | evalbot.pl:
Ignore the preflex and yoleaux bots
03:07
sorear leers at BenGoldberg
03:09 preflex left 03:10 preflex_ joined, ChanServ sets mode: +v preflex_, preflex_ is now known as preflex
Mouq rn: .say for ^200 03:13
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤
Mouq …interesting
geekosaur sometimes I regret the xchat plugin I did that translates embedded control chars... 03:14
Mouq rn: ^200.say 03:15
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«200␤»
Mouq rn: (^200).say
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0..^200␤»
Mouq rn: (^200).eager.say
camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method eager in type Range␤ at /tmp/ku1D_1WOdC line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤ at …»
..rakudo 67c6fd: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 9…»
Mouq rn: .say for ^200 03:16
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤
geekosaur are you missing a ... or dd my plugin screw up? 03:17
Mouq rn: (0 «+« ^200).say
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 8…»
Mouq I'm mising a "…". Something's going very wrong with the truncation... 03:18
BenGoldberg rn say join ' ', ^200 03:19
rn: say join ' ', ^200
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 8…»
Mouq rn: say join '→', ^200 03:21
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0→1→2→3→4→5→6→7→8→9→10→11→12→13→14→15→16→17→18→19→20→21→22→23→24→25→26→27→28→29→30→31→32→33→34→35→36→37→38→39→40→41→42→43→44→45→46→47→48→49→50→51→52→53→54→55→56→57→58→59→60→61→62→63→64→65→66→67→68→69→70→71→72→73→74→75→76→77→
Mouq rn: say join 'λ', ^200
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0λ1λ2λ3λ4λ5λ6λ7λ8λ9λ10λ11λ12λ13λ14λ15λ16λ17λ18λ19λ20λ21λ22λ23λ24λ25λ26λ27λ28λ29λ30λ31λ32λ33λ34λ35λ36λ37λ38λ39λ40λ41λ42λ43λ44λ45λ46λ47λ48λ49λ50λ51λ52λ53λ54λ55λ56λ57λ58λ59λ60λ61λ62λ63λ64λ65λ66λ67λ68λ69λ70λ71λ72λ73λ74λ75λ76λ77λ78λ79λ80λ81λ8…»
03:23 btyler left
Mouq rn: say join '𤭢', ^200 03:25
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«0𤭢1𤭢2𤭢3𤭢4𤭢5𤭢6𤭢7𤭢8𤭢9𤭢10𤭢11𤭢12𤭢13𤭢14𤭢15𤭢16𤭢17𤭢18𤭢19𤭢20𤭢21𤭢22𤭢23𤭢24𤭢25𤭢26𤭢27𤭢28𤭢29𤭢30𤭢31𤭢32𤭢33𤭢34𤭢35𤭢36𤭢37𤭢38𤭢39𤭢40𤭢41𤭢42𤭢43𤭢44𤭢45𤭢46𤭢47𤭢48𤭢49𤭢50𤭢51𤭢52𤭢53𤭢54𤭢55𤭢56𤭢57𤭢58𤭢59𤭢60𤭢61𤭢62𤭢63𤭢64𤭢
BenGoldberg Is it my imagination, or is truncation happening based on the number of bytes of the character you're joining on?
Mouq Well, it's something to do with it. I just want it truncate near a high-byte character
geekosaur I suspect it's trying to not break in the middle of a multiyte character and getting it wrong when it needs to adjust? 03:26
Mouq rn: say '𤭢' x 200
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢
dalek albot: f6af675 | Mouq++ | evalbot.pl:
Do truncation stupider.
03:29
Mouq Oh, wait… This might be a fencepost error :/ 03:31
rn: say '𤭢' x 200 03:34
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢
03:43 krokite left
Mouq rn: say '𤭢' x 200 03:43
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢𤭢
Mouq rn: say 'a' x 200, '𤭢' 03:47
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa𤭢␤»
Mouq rn: say 'a' x 300, '𤭢'
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…»
Mouq rn: say 'a' x 250, '𤭢'
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…»
Mouq rn: say 'a' x 220, '𤭢'
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa𤭢␤»
Mouq rn: say 'a' x 221, '𤭢'
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa𤭢␤»
Mouq rn: say 'a' x 222, '𤭢'
camelia rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa𤭢␤»
Mouq Sorry, #perl6, I'm kinda spamming you here
geekosaur I believe evalbot responds to /msg 03:48
(to camelia, per the /topic)
Mouq '< Thank you. I'm sorry 03:49
ingy o_0 03:54
Mouq rnp: "\c[ALPHA]".say 04:25
camelia rakudo 67c6fd: OUTPUT«(timeout)»
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Unrecognized character name ALPHA at /tmp/aKilrvmqh8 line 1:␤------> "\c[ALPHA⏏]".say␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/…»
..pugs: OUTPUT«Unknown charname 'ALPHA' at (eval 2) line 1␤\c[ALPHA]␤»
Mouq rnp: "\c[SYMBOL FOR NULL]".say 04:28
camelia pugs: OUTPUT«\c[SYMBOL FOR NULL]␤»
..rakudo 67c6fd, niecza v24-95-ga6d4c5f: OUTPUT«␀␤»
04:34 btyler joined 04:46 SamuraiJack__ joined 05:04 daniel-s_ joined 05:08 daniel-s left 05:14 btyler left 05:19 BenGoldberg left 05:40 FROGGS[mobile] joined 05:45 Mouq left, SamuraiJack__ left 05:47 SamuraiJack joined
FROGGS good morning 05:51
sorear o/ FROGGS 05:53
FROGGS hai sorear :o) 05:54
sorear: sad that you are not here 05:55
sorear i'm right here, no?
FROGGS *g*
somehow
sorear oh, is this that internals workshoppy thing I heard about by emial? 05:56
FROGGS yes
and jnthn++ is the most awesome teacher I've ever had
k, I need to get going... see you 05:59
06:02 FROGGS left
ingy heya sorear 06:17
06:36 xinming left 06:37 xinming joined
sorear o/ 06:39
06:41 sqirrel joined
sorear o/ sqirrel 06:41
sqirrel o/ sorear 06:42
06:45 iSlug joined 06:56 iSlug left
timotimo ohai 06:56
[Coke] yawns 06:57
dalek nda: da441fd | tadzik++ | rebootstrap.pl:
Bla bla bla chocolatecake. It's early
[Coke] tadzik++ 07:00
[Coke] switches partcl-nqp to try to build off nqp-jvm instead of nqp-parrot. 07:01
tadzik are you able to run nqp-jvm outside of nqp-jvm directory?
07:02 FROGGS joined
[Coke] I'm updating gen-nqp to work more like rakudo's, so I'll have an install-jvm dir, and then it won't matter. 07:03
tadzik ossum
[Coke] ... except I can't git from the back row!
tadzik not even through https? 07:04
[Coke] .to diakopter - ping us if you need directions.
yoleaux [Coke]: I'll pass your message to diakopter.
FROGGS ribasushi: the ast dumper will be invoked when you all `nqp --target=ast -e "say(1)"` for example 07:06
07:07 lizmat joined 07:09 woolfy joined
[Coke] hoelzro: trouble maker! ;) 07:09
timotimo i'm not a fan of american-sized softdrinks, but 0.2l is really not much 07:10
ingy good morning lizmat!
lizmat morning ingy
ingy timotimo: you need 2.0l 07:11
[Coke] US standard is 0.6l
woolfy Hey, diakopter is still not here (with physical us in Ökohaus). Anybody saw him?
hoelzro heh
[Coke] (for a single serve) though we are seeing smaller and smaller serving sizes in those, too.
woolfy jnthn started 10 minutes ago with day 2 of the RaNiW course in Frankfurt. 07:14
16 people attending
[Coke] r: say "RaNiW".flip 07:15
camelia rakudo 67c6fd: OUTPUT«WiNaR␤»
timotimo r: say "RaNIW".comb.pick(*).join: "" 07:16
camelia rakudo 67c6fd: OUTPUT«RWIaN␤»
timotimo r: say "RaNIW".comb.pick(*).join: ""
camelia rakudo 67c6fd: OUTPUT«NIaRW␤»
timotimo r: say "RaNIW".comb.pick(*).join: ""
camelia rakudo 67c6fd: OUTPUT«NaWRI␤»
tadzik NaRNia 07:17
timotimo RAWRRAWR
Error while compiling op if (source text: "@args[1].has_compile_time_value {\n $hint := pir::repr_hint_for_i_p_p_s(@args[1].comp..."): Error while compiling op bind (source text: ":="): ResizableStringArray: Can't shift from an empty array! 07:28
hooray! errors in the compiler!
07:28 iSlug joined
tadzik HyperWhatever, it sounds like a most boring superhero ever 07:28
hoelzro tadzik: you saw that too? =) 07:29
tadzik yep :)
lizmat .NYI also 07:32
an unimplemented boring superhero :-)
hoelzro that's what caught my eye 07:33
something to work on =)
07:36 [Sno] joined
woolfy yeah diakopter is awake 07:38
timotimo questhub.io/realm/perl/quest/523564...2f76000048 <- :)
tadzik hah! 07:39
timotimo if you're interested, i can "invite" 07:40
tadzik I "Like"d it
timotimo \o/
hoelzro ditto 07:41
I don't the have NQP-fu to help (yet)
tadzik you wan't have that excuse after today :> 07:42
hoelzro heh 07:43
that's why I say "yet"!
timotimo the optimizer isn't super hard to use, fortunately
oooh, dynamic variables inside tokens are available in action methods, still 07:45
that's cool
"keinen deckel drauf tun"
maybe somebody should build a quest for removing .node from QAST::Node and putting it into QAST::Stmt (and removing all related fallout) 07:49
moritz why? 07:50
it helps to have a line number for calls, for example
and a call is a QAST::Op
timotimo jnthn hinted it may be sensible; in the jvm backend apparently it's only ever used ni Stmt
hoelzro .oO( QAST::Away? )
timotimo WILSOOOOOOOOoooooooon~ 07:51
moritz: so having it in the Stmt node around it will not be enough? 07:53
i suppose that's valuable if you have a top-level call that is split into multiple lines?
[Coke] wonders if he can just lift ConfigureJVM.pl from rakudo for use in partcl
(as long as the copyright stays in place) 07:54
07:54 xenoterracide left, xenoterracide_ joined
moritz timotimo: correct. If you have foo(\n bar()), the bar() call would show a wrong line number 07:55
timotimo i still need some way to differentiate vars that are from signatures from other vars; at least in nqp, but ideally also in rakudo
(this is for the lexical-to-local transformation i would like to make work)
[Coke] weird. getting irclog.perlgeek.de/perl6/2013-05-23 using the jvm nqp for partcl (but it works fine for rakudo-jvm) ... will dig after class. 08:00
timotimo did you mean to link to a specific time in that log? or to something else entirely? 08:01
[Coke] the first line. 08:03
same thing that japhb was experiencing at irclog.perlgeek.de/perl6/2013-05-23#i_7105647
timotimo i think install/nqp is deprecated
install/bin/nqp is the way to go iirc
[Coke] timotimo: there is no install/bin/nqp on jvm here. 08:05
timotimo hm, i'll go hunt
[Coke] er, no install-jvm/bin/nqp 08:06
timotimo has to re-make
[Coke] I am fairly sure that I should throw out the nqp-rx (parrot style) nqp code that was translated to nqp (current) style, and just start from scratch. 08:07
timotimo huh, it actually does say :decl(param)
08:09 iSlug left, denis_boyun joined
timotimo oh 08:13
you have to pass an absolute value to --gen-nqp if you use --gen-nqp
that may be your problem, [Coke]
but i think it only makes a difference in the actual source of the nqp file, you should be able to make it look like this: exec java -Xbootclasspath/a:/home/timo/build/jakudo/nqp/install:/home/timo/build/jakudo/nqp/install/nqp-runtime.jar:/home/timo/build/jakudo/nqp/install/asm-4.1.jar:/home/timo/build/jakudo/nqp/install/jline-1.0.jar:/home/timo/build/jakudo/nqp/install/nqp.jar -cp /home/timo/build/jakudo/nqp/install nqp "$@" 08:14
dalek : e89c54f | (Tobias Leich)++ | / (2 files):
move Perl5::Terms loading to v5's grammar, jnthn++
08:15
tadzik what if you don't pass any value to --gen-nqp? Then the default is rong 08:16
timotimo woolfy: is there a way to acquire more coca cola for people who don't like coffee, like me? 08:18
woolfy In your book, go forward 13 pages... 'That's all for today": "Today we've covered a lot of ground"..."We'll take these on tomorrow." Next page: "Welcome back" 08:19
timotimo: I will ask
timotimo that is 13 A4-pages, right? not 13 slides? >_<
thank you very much :)
woolfy Indeed, physicla pages 08:20
timotimo i'm much less tired than yesterday, but that doesn't mean too much ;)
tadzik the material is a bit more hardcore, imo
timotimo currently it's chewy, it'll get much harder soon i fear
at least to me, i've had lots of exposure to QAST from my optimizer adventures
08:21 PZt left
woolfy I;ve seen jnthn talk about QAST before and it puzzled me then and it puzzles me now. 08:21
timotimo the thick green ink for the titles on the slides is rubby
moritz woolfy: it's one of those things you just have to use for a while to get used to 08:24
woolfy: like monads, I guess (haven't ever gotten used to them)
timotimo it helps to look at lots of qast dumps from programs
monads are just like burritos
moritz timotimo: and that's the problem. I don't know how to program with burritos :-) 08:26
08:26 PZt joined
moritz
.oO( burrito-driven development )
08:27
diakopter moritz: lots of sour cream
yoleaux 07:04Z <[Coke]> diakopter: - ping us if you need directions.
08:27 SamuraiJack_ joined 08:29 kaare_ joined 08:30 SamuraiJack left
timotimo colomon: may i suggest an enhancement to the smoker web app? 08:32
[Coke] diakopter: you coming over?
timotimo it would be neat if the leftmost column would display a number instead of a letter to indicate how many days the status has been the status of the column one to the right
diakopter brt 08:33
[Coke] diakopter: \o/
timotimo because with the speed of change in the ecosystem, it seems like 14 days is not that much
diakopter heh 08:34
it moves cyclicly
08:34 lizmat left, woolfy left
[Coke] java.lang.RuntimeException: java.lang.ClassCastException: org.perl6.nqp.sixmodel.reprs.P6strInstance cannot be cast to org.perl6.nqp.runtime.EvalResult 08:34
:( 08:35
08:36 woolfy joined 08:37 xenoterracide_ left 08:40 lizmat joined
timotimo saw that, too ... for some reason :| 08:43
hold tight, i'll post a keyword token for php
pastebin.com/dytfHWhg 08:45
FROGGS hmmm, sizeof if missing... 08:46
timotimo oh? 08:47
i suppose predefined functions are missing >_>
FROGGS well, it is listed as an alias to count()... but w/e, it doesn't surprise me that there is no complete list of built-ins :o) 08:49
timotimo yes. 08:50
also, are those things case-insensitive?
[Coke] (some reason) jnthn pointed out I had an action referring to a sub-rule with a wrong name. 08:53
Now I'm getting a NPE trying to run echo(3*2);
... because I'm an idiot. :)
\o/ 08:54
08:54 wtw joined
FROGGS *g* 08:55
--ll-exception is your friend
woolfy diakopter is in the building 08:56
all welcome diakopter
08:57 wtw left, wtw joined 08:58 wtw left 09:00 wtw joined
hoelzro fun with dynamic variables in NQP: gist.github.com/hoelzro/6569041 09:02
is this a bug? or am I Doing It Wrong?
timotimo i wonder if trying to split Stmts into individual Stmt nodes during optimization time will have a noticable effect on performance or quality of generated code
FROGGS hoelzro: if you redeclare it is is a new one 09:03
hoelzro ah
so I should just do $*TOP = 0?
FROGGS yes, that should do
hoelzro cool, thanks!
timotimo yeah, you can do "temporary overrides" with a new my $*foo
that's the mechanism that's being used for the current block 09:04
FROGGS hoelzro: sine the new one is installed in the stmts before the actual code of the sub, only the new one is visible inside
diakopter woohoo hack the planet
FROGGS since*
hoelzro FROGGS: ah, that makes sense.
09:10 ssutch left 09:12 spider-mario joined 09:24 woolfy left, lizmat left 09:28 dmol joined
timotimo tadzik: NQP/Actions.nqp line 193 09:28
FROGGS tadzik: it is fine in nqp and rakudo
timotimo already fixed apparently
FROGGS yeah :o)
tadzik yeah, noticed that too :) 09:29
it's also in Perl6/Actions.pm, also $past both places
timotimo ok
maybe jnthn++ was like "$past is stupid, i'll replace it with $ast"
tadzik :)
diakopter ()pmohc
tadzik but not past the for statement
diakopter er, ()pohc 09:30
09:30 lizmat joined
timotimo i don't understand what that means :( 09:30
09:30 denis_boyun left 09:34 Rotwang joined
dalek kudo/nom: 2230750 | (Elizabeth Mattijsen)++ | / (4 files):
Step one of converting {} and [] access from method to sub calls
09:36
timotimo oh cool!
not paying attention, liz? ;)
or did you do all this between sleep and breakfast? ;)
diakopter r: my Int $jnthn but Dog; 09:38
camelia rakudo 67c6fd: OUTPUT«===SORRY!=== Error while compiling /tmp/RMTmGjf60U␤Undeclared name:␤ Dog used at line 1␤␤»
timotimo so really you should have an Int for the tax number that you mix your dog into? 09:39
09:39 woolfy joined
tadzik std: my Int $diakopter but Cat; 09:39
camelia std 7c17586: OUTPUT«ok 00:00 43m␤»
diakopter O_O 09:40
timotimo mau
lizmat timotimo: actually last night, just epectested it now
timotimo not bad
diakopter my Int $tadzik but Rat;
timotimo you're not putting it up on questhub? ;)
tadzik hah
diakopter r: my Int $tadzik but Rat;
camelia rakudo 67c6fd: OUTPUT«Cannot mix in non-composable type Rat into object of type Int␤ in sub infix:<but> at src/gen/CORE.setting:15490␤ in sub infix:<but> at src/gen/CORE.setting:15466␤ in block at /tmp/xtbKYsLxsg:1␤␤»
tadzik at least not a FatRat
diakopter damn
tadzik s/damn!/rats!/ 09:41
09:41 risou_awy is now known as risou
diakopter why didn't it complain about the 2nd class Dog, but did on the 3rd 09:43
timotimo i guess it error'd out earlier? or something?
tadzik the 1st dog died
timotimo :(
diakopter yeah but its BEGIN-time should've completed
timotimo too soon 09:44
timotimo mourns
tadzik Perl 6 is a middle-sized dog
diakopter tadzik: you belong on the back row
tadzik :( 09:45
timotimo but HOW 09:46
tadzik also, How, pronounced /hau/ is the sound that Dog makes in polish
timotimo how do you describe cat sounds?
tadzik miau
timotimo like in german
in php it's ... and in perl6 it's ~~~
diakopter I thought it was Mu 09:47
[Coke] meow
tadzik mu is the sound a cow makes
diakopter sea cows make the whales
[Coke] C cows? 09:48
timotimo i think i may steal more tuits today
i shall spread perl6 joy in karlsruhe :3
i hear maybe there'll be a karlsruhe.pm meeting some time soon 09:49
diakopter wonders how in the world I was pushing code 6.5 hours ago 09:50
tadzik HOW
timotimo DiakopterHOW
Perl6::Metamodeler::DiakopterHOW
diakopter OMFG I thought cows lived in stables
timotimo HOWs live in stables 09:51
diakopter r: knowhow Tadzik is repr('Uninstantiable') { ... } 09:52
camelia rakudo 67c6fd: OUTPUT«===SORRY!===␤No such method 'is_composed' for invocant of type 'KnowHOW'␤»
tadzik I'm no composer
diakopter r: knowhow foo is repr('') { }; say foo.^methods 09:53
camelia rakudo 67c6fd: OUTPUT«No such method 'dispatch:<.^>' for invocant of type 'foo'␤ in block at /tmp/r6F7DnTZ2r:1␤␤»
tadzik meth_type("not even once") 09:54
diakopter r: knowhow foo {}; print foo
camelia rakudo 67c6fd: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got foo instead␤ in method REIFY at src/gen/CORE.setting:7823␤ in method reify at src/gen/CORE.setting:6754␤ in method gimme at src/gen/CORE.setting:7164␤ in method print at src/gen/CORE.setti…»
diakopter expected Any but got foo instead 09:55
timotimo this is way too simple, jnthn must be hiding most of the secrets from us!
giiiive ussssssssss the secretsssssssss~
09:56 PacoAir joined
timotimo we should greet Greta with Greeter 09:56
tadzik there should be find_find_method_method which finds find_method methods 09:57
timotimo it's just the find_method method on the ClassHOW, because you build your ClassHOW out of that ... or possibly KnowhowHOW
diakopter tadzik: moarvm has that 09:58
tadzik moar find_methodz
diakopter someone should make a moarvm git branch that injects the word MOAR_ in every function and variable name in 1 or 2 places 09:59
timotimo how do you propose we call that branch?
moarvm_moar_moar?
tadzik www.reactionimage.org/img/gallery/5816489306.jpg 10:00
diakopter rotfl literally
tadzik lies, you still sit
timotimo nope
10:00 daniel-s_ left
diakopter I finished rolling 10:00
timotimo i didn't hear anything 10:01
diakopter it's a frictionless surface
timotimo yeah, but were you laughing silently?
tadzik is this how you roll?
FROGGS not very impressive O.o 10:02
diakopter i'm enjoying my L of Coke
actually jnthn lied
moarvm's qast compiler DOES inject coercions for all those ops he said it didn't... 10:03
I, um, just copied parrot's behavior for that
tadzik boo
timotimo heh, great
FROGGS hehe
diakopter he must not've read that part
lizmat little white lies, though
hoelzro you don't need the know-how to write a KnowHOW?
FROGGS lets copy parrot \o/
timotimo at least you'll also benefit from the optimisation in nqp that turns _n into _i if applicable
FROGGS \o/ copy all teh code \o/ 10:04
diakopter however, I didn't look at parrot's qast compiler to do it; I did it Journey's way
timotimo go on a train going anywhere?
get on a train going anywhere*
diakopter no, go your own way
[Coke] Enjoying my what now?
diakopter liter
timotimo EnjoyCokeHOW
[Coke] oh, whew.
Responsibly. 10:05
diakopter *litter
at least I didn't say line
that was earlier this morningj
timotimo that's why you were late to the workshop 10:06
10:06 denis_boyun joined
diakopter yes, HOW as a kowt 10:06
timotimo that stretches it a bit too thin
diakopter I wonder at what point backlogging this channel will crowd out 100% of TimToady's time 10:08
mberends: stay awake
[Coke] did he say where we can find a list of what reprs are available and why we'd pick different ones? 10:09
timotimo timtoady will want to evolve to get a very quick heuristic to differentiate into different types:
1) humour
2) not worth reading
diakopter [Coke]: each has its own file in reprs/
each has a comment or two explaining it
each's .h file shows what fields its body has 10:10
so you can see what's stored in each
timotimo diakopter seems to know everything already!
diakopter well hey I did write the entire QAST compiler in moar..
.. more than half of the reprs
everything having to do with strings & encodings 10:11
.. everything having to do with IO until JimmyZ ripped it out and replaced it..
.. the bytecode validator, until not_not_gerd replaced it entirely
[Coke] I'm sensing a pattern. 10:12
dalek : 27b050e | (Tobias Leich)++ | / (4 files):
fix newly introduced slowdown by adding method .slang

This is the entry-point when switching to our slang. When we switch back to Perl6 we still jump directly in statementlist sine Perl6 does not do anything special.
  TimToady: Suggestions about a better method name are welcome :o)
diakopter [Coke]: :D
tadzik PAY ATTENTION FROGGS
FROGGS gah
diakopter hugme: remove FROGGS from perl6
tadzik no code, no lol 10:13
FROGGS >.<
diakopter [Coke]: yes, there's a couple other things folks have replaced.. 10:14
but no one will ever replace my unicode character database compiler
it's 1000 lines of TI-Basic in Perl 5 syntax
moarvm\tools\ucd2c.pl or something 10:15
timotimo m)
FROGGS it has a \t in its name?
diakopter *kick*
timotimo that's pretty terrible
ooooh, diakopter long legs
FROGGS yeah, \terrible
diakopter
.oO( how do you autocomplete something with tabs? )
10:16
timotimo what do you mean by errible?
tadzik what we're now doing is what the Squaak tutorial in parrot wanted to be when it grew up
diakopter true. 10:17
timotimo so .... it grew up and then wanted to be this?
diakopter [Coke]: we should port your tcl frontend to moarvm tomorrow 10:18
well.. er, update its nqp to te newness new stuff
the new qast
[Coke] I'm still trying to switch it to jvm. 10:19
woolfy new coffee, hot water for tea, cocacola, orange juice
[Coke] For now, I can copy p6 and have a ConfigureJVM, ConfigureMoar..
FROGGS ahh, I already see the upcoming tickets... "nqp doesnt build for JVM and rakudo bakend even when I specified it should configure more" 10:21
backend*
diakopter actually not_not_not_not_gerd & I plan to finish up MoarVM tomorrow
timotimo %)
FROGGS ++diakopter, ++not_gerd !!! 10:22
ossum!
timotimo "finish up moarvm" o_O
that's pretty cool
FROGGS I'm sitting in the train like 4 hours... I'll pop in when I can
timotimo so, NFG and nqp self-hosting and threading stuff?
[Coke] diakopter++ not_gerd++ ! 10:23
diakopter well self-hosting doesn't depend on nfg or thradeing
10:23 spider-mario left
timotimo that's true, but "finish up" does, at least to me :P 10:23
diakopter oh heh, yeah, joking.
FROGGS selfhosting++
that will introduce many LHFs I can work on
10:24 woolfy left
timotimo so, how much are you actually going to finish? making nqp self-host and pass all (relevant) tests? 10:24
FROGGS the relevant ones, yes
10:24 lizmat left
timotimo this month's release will have moarvm for the first time? :) 10:24
FROGGS jnthn said yesterday that t/nqp/24 is not even needed to run rakudo
diakopter timotimo: c'mon don't push for commitments or expectactions; we're expectation-less around here, remember? 10:25
timotimo also, it seems like we'll make it to a jvm rakudostar :D
diakopter *expectations
timotimo okay, i take back my expectations and requests for commitment
FROGGS timotimo: maybe the nqp compiler release will contain it, but I won't announce that till it is stable and useful enough 10:26
timotimo fair enough.
10:30 lizmat joined
[Coke] hurm. jnthn's solution to excercise five doesn't let me echo $variables. 10:31
(rakudo-jvm)
er, nqp-jvm, whoops.
timotimo yeah, NPE, right? 10:32
don't even get a stack trace :( 10:33
10:38 woolfy joined
hoelzro just got say('Hello!') working on Lua o/ 10:40
timotimo oh, that was quick 10:41
when did you start?
hoelzro last night
it's *extremely* simple at the moment
but it's a start =)
timotimo i suspected as much :)
so you're actually turning qast into lua code (bytecode?)? 10:42
hoelzro mhmm
timotimo all you can do so far is SVal and Op(:op('call'))? ;)
hoelzro I'm sticking with Lua source, because the bytecode isn't compatible across versions
pretty much =) 10:43
timotimo that's sensible
hoelzro and this way, it should work on LuaJIT =)
timotimo fastest hello world program so far? ;)
hoelzro hmm 10:44
it's probably pretty snappy
but I have no setting
the "setting" is "say = print"
timotimo :D
10:45 spider-mario joined 10:51 Bzek joined, zakharyas joined 10:56 zakharyas left
woolfy (everybody is working real hard and quiet on exercise 7) 10:59
tadzik hoelzro: did you see the old lua compiler for parrot? 11:01
hoelzro tadzik: I haven't looked at it, no
11:09 spider-mario left 11:27 dakkar joined 11:41 EvanTeitelman joined 11:42 lizmat left 11:46 nebuchadnezzar left 11:47 woolfy left 11:50 FROGGS[mobile] left 11:52 nebuchadnezzar joined, nebuchadnezzar left 11:53 nebuchadnezzar joined 11:57 woolfy joined 11:58 lizmat joined 12:06 denis_boyun left 12:14 sqirrel left
woolfy nice, nobody is writing about the secret thing 12:16
timotimo too excited to see jnthns secret stash instead 12:17
woolfy shhhht!
diakopter hoelzro: ping 12:19
FROGGS well, we just need to make sure TimToady doesn't read about that here^^
hoelzro diakopter: pong
diakopter you know I wrote an nqp-lua two years ago.. 12:20
hoelzro oh, really? =/
I wasn't aware of that
diakopter did everything but the regex compiler
(passed the whole nqp test suite except the regex ones)
hoelzro nice.
FROGGS where is it?
hoelzro but bummer for me =/
diakopter I kept running into lua limitations 12:21
hoelzro for example?
diakopter like number of locals, depth of nested blocks
hoelzro ah
diakopter number of "upvalues"
hoelzro I figured that the local/upvalue count would be a limit
I had an idea on how to fix that, but it's hacky
diakopter yeah me too 12:22
FROGGS: nt sure
timotimo there's so many hash tables, yet recently i read that hash tables are super not-cool for language implementation
diakopter not sure
I might've buhleted it
hoelzro timotimo: that "Why Python is Slow" talk? 12:23
timotimo it was about ruby
the pypy people actually have darn clever shit that makes __slots__ completely obsolete
hoelzro hmm
diakopter hoelzro: it was an almost entirely direct transliteration/port of the 6model runtime jnthn wrote in C#
timotimo: we have that
timotimo all of their classes are actually super-tightly packed
diakopter we have that
timotimo i'm not sure if it does something similar for method lookup 12:24
diakopter we have that for the usual case..
timotimo p6opaque lays out attributes like a struct, yeah, we know that :)
tadzik ...the secret thing?
timotimo but what about methods?
diakopter hash lookups don't really ever need to be done unless the key being passed in is from an expression or variable.. anything that would do a hash lookup from a constant/known key at compile-time can be optimized away 12:25
timotimo oh
well, that's nice :)
(but the hash still has to be stored and likely wastes a lot of space)
(when compared to a tree of some kind, for instance)
diakopter not a ton
well most hashes are a tree of sorts 12:26
timotimo it really depends on how much empty buckets you instantiate
many*
diakopter some hashes don't use buckets
timotimo OK
diakopter (as arrays, anyway)
timotimo for some reason i associate "hashmap" with "an array plus a hashing function and either linear search or linking" 12:27
diakopter (the one moarvm has, uthash, uses linked lists for both layers/dimensions
yes
tadzik )
diakopter ()
timotimo thank you tadzik
tadzik there was a disturbance in the force
diakopter ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
timotimo nooooooooooooooooooo 12:28
could the type check cache be binary searched through somehow? ordered by some internal ID that each class could get? 12:30
tadzik or a hash :)
sjn wonders if #perl6 is turning into a lisp channel :-P
diakopter timotimo: yep, or a hash 12:31
.... or prime numbers and prime factorization.
timotimo what's the "NO LOL" equivalent of lisp?
"NO :)"?
tadzik '\o with a taste of your LISP I'm on a ride '\b
timotimo perhaps "NO '("
sjn was mostly thinking about the ((((((((('s :)
diakopter prime numbers would be awesome
timotimo diakopter: ooooh
diakopter Mu gets 2 12:32
timotimo and then multiply them onto each other
diakopter Any gets 3
tadzik wow :)
timotimo i was thinking there could be just a bitfield, but theoretically there could be more than 64 classes
(who would ever need more than 63 classes!?!)
tadzik you may get so many classes that primes will go into bigints
diakopter what's the value of the first 64 prime nubmers multiplied
timotimo that's easy enough to do: 12:33
moritz diakopter: an even number :-)
diakopter waits for the linear search
timotimo r: [*] ((2..Inf).map( *.is-prime )[^64])
camelia ( no output )
timotimo r: say [*] ((2..Inf).map( *.is-prime )[^64])
camelia rakudo 223075: OUTPUT«0␤»
diakopter hee hee
timotimo i think i may have done it wrong
r: say [*] ((2..Inf).grep( *.is-prime )[^64]) 12:34
%)
diakopter stop mkaing me laugh
camelia rakudo 223075: OUTPUT«195133959955058134502488637025552252876537200920889365778484014616008832503770745901542489344429915739687480227261852231729170␤»
tadzik yep. Big.
moritz yes, grep helps.
timotimo kinda
just a little
diakopter darn.
moritz r: say log([*] ((2..Inf).grep( *.is-prime )[^64])) / log(2)
camelia rakudo 223075: OUTPUT«416.205476738791␤»
moritz less than 512 bits
timotimo 512 bits may very well be smaller than a little hash of type objects 12:35
moritz r: ([*] ((2..Inf).grep( *.is-prime )).fmt('%b').chars
camelia rakudo 223075: OUTPUT«===SORRY!=== Error while compiling /tmp/NJdTP8yqts␤Unable to parse expression in parenthesized expression; couldn't find final ')'␤at /tmp/NJdTP8yqts:1␤------> Inf).grep( *.is-prime )).fmt('%b').chars⏏<EOL>␤ expecting any…»
diakopter haha
moritz r: ([*] (2..Inf).grep( *.is-prime )).fmt('%b').chars
camelia rakudo 223075: OUTPUT«(timeout)»
moritz :/
timotimo yikes
you forgot to limit 12:36
moritz aye :-)
r: say ([*] ((2..Inf).grep( *.is-prime )[^64])).base(2).chars
camelia rakudo 223075: OUTPUT«417␤»
timotimo er, what's the benefit of prime numbers and multiplication over bits and adding?
diakopter none...
moritz timotimo: I think this was just an academic exercise 12:37
timotimo it happened only in our heads? :(
diakopter or de-academicizing
moritz aca-de-mize 12:38
timotimo .o(push the button!)
i warned you about stables, bro. i told you Dog. 12:41
dalek p: 0c7c701 | (Rob Hoelz)++ | docs/nqp-opcode.txt:
Fix NQP op documentation for nqp::exist*

It's existskey, not existkey
p: 54e960d | jimmy++ | docs/nqp-opcode.txt:
Merge pull request #124 from hoelzro/master

Fix NQP op documentation for nqp::exist*
diakopter hoelzro: you don't have an nqp commit bit? 12:42
hoelzro huh, I forgot I did =/
12:43 dakkar left
timotimo with all this knowledge we can re-invent nqp completely and re-do rakudo in about a month! 12:43
diakopter *wham* *wham* *wham* 12:44
(sound of rolling)
timotimo wake me up before you code-code~
i don't associate "*wham* *wham*" with rolling at all
just like "*pom*" for pondering was completely new to me recently 12:45
12:45 denis_boyun joined
woolfy timotimo: thanks for volunteering that re-doing!!! :-) 12:46
timotimo i'll do the 100 hours of work per week thing you recommended! 12:48
is rw for native types would allow my int $fo = 10; $fo++; right? 12:51
diakopter yes
timotimo that's quite a papercut, imo 12:54
(not volunteering to implement it right away ;) )
i'm beginning to wonder if it was a bad idea to show interest in the optimizer :P 12:55
i'm kinda sad that optimisations in flow-analysis etc can't really easily be done at the QAST level, so it has to be done at a backend-specific level 12:56
or at least that's my understanding, i'd happily be proven wrong
12:58 pupoque joined 13:00 rafl joined
[Coke] java.lang.RuntimeException: No REPR HashAttrStore 13:01
13:04 pmurias joined
hoelzro diakopter: if you find your nqp-lua impl, could you let me know? I'd like to take a look at it 13:05
pmurias timotimo: why can'f flow analysis be done on the QAST level?
timotimo it can, just not as naturally as with a bytecode-like format
at least that's my understanding so far
pmurias we could turn while/if using QAST into goto/conditional jump using QAST as preprocessing step before the flow analysis 13:08
timotimo qast has that? o_O
[Coke] spends this exercize time grabbing a fresh copy of nqp to build a parrot based version. 13:09
pmurias timotimo: has what? 13:11
hmm, QAST doesn't seem to have goto 13:13
timotimo that's what i though 13:15
we have a musician in the first row :3
SQUERL 13:16
lizmat QAST::Op(call &postcircumfix:<[ ]>) [0] 13:18
QAST::Op(call &postcircumfix:<{ }>) <a>
:-)
one step closer to making [] and {} being multi sub rather than multi method calls 13:19
JimmyZ wonders the reason
woolfy timotimo: I did recommend working less than 100 hours per week, and if you still do more than 100 hours per week, I did recommend not doing it for years in a row without holiday 13:22
but I understand that my words have to be twisted!
timotimo JimmyZ: we can compile-time-dispatch subs, but not method calls 13:25
(and inline)
lizmat indeed 13:27
remarkably few test failures so far
JimmyZ I saw Optimizer ROADMAP in rakudo/docs
2 *** inlining calls to methods
3 *** guard lifting for method call inlining
timotimo inlining calls to methods requires some guessing + fallback magic 13:28
so inline a call, but guard against a wrong guess and doing a full lookup in case of wrongness 13:29
pmurias timotimo: it's possible to turn goto/conditional jump back into loops: github.com/kripken/emscripten/tree...c/relooper 13:33
timotimo: IMHO flow analysis is definitely something that needs to be done on the shared across backends level 13:37
timotimo when will the hotel tomorrow throw us out? 13:41
oh, relooper
i heard good things about it
or maybe that's something else? 13:42
lizmat timotimo: I asked for late checkout (which is 13:00): please check with the desk if you want to be sure
timotimo 13:00 is nice
lizmat (for everybody afaik)
timotimo will we be thrown out of the common area, too? 13:43
will there be after-hotel-hackathon-stuff? or will we just disperse right after?
tadzik I leave FRA at about 13:40
timotimo aaw :(
tadzik so I disperse right after waking up, mostly :) 13:47
pmurias timotimo: relooper is used by emscripten 13:48
felher Any idea as to why this doesnt work: 13:50
my Array of Str sub s() { my Str @array = < 1 2 3 4 >; }; s;
r: my Array of Str sub s() { my Str @array = < 1 2 3 4 >; }; s;
camelia rakudo 223075: OUTPUT«Type check failed for return value; expected 'Array[Str]' but got 'Array[Str]'␤ in sub s at /tmp/WoG2qQWeCf:1␤ in block at /tmp/WoG2qQWeCf:1␤␤»
woolfy lizmat and I don't have pressing matters back home, so we don't have to leave early. But we have mberends with us and maybe he needs to be early.
lizmat timotimo, tadzik : discuss this further over dinner tonight 13:51
[Coke] diakopter & I are heading out to the airport together for 5pmish flights, but haven't decided when we're leaving yet.
felher Does a little bit like that old windows error messages: "An error occured: you have 8 MB ram, but you need at least 1 MB" 13:52
*Does read
timotimo "Can only use nqp_code_ref_to_sc to add a Sub" wat 13:54
lizmat decont? 13:56
missing decont?
timotimo i don't think i have made any change that would cause any error that's anything like that :(
13:59 ajr joined 14:00 ajr is now known as Guest44526, Guest44526 is now known as ajr_
hoelzro does return exit a sub early in NQP? a simple test implies that it doesn't =/ 14:04
timotimo make doesn't exit a sub, but i think return ought to
can you paste the test here?
hoelzro sure
incoming
timotimo nqp: sub a() { say "before"; return 1; say "after" }; say(a);
camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "say \"befor"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
hoelzro gist.github.com/hoelzro/6571032
timotimo nqp: sub a() { say("before"); return 1; say("after") }; say(a); 14:05
camelia nqp: OUTPUT«␤»
timotimo nqp: sub a() { say("before"); return 1; say("after") }; say(a());
camelia nqp: OUTPUT«before␤1␤»
timotimo nqp: sub a() { say("before"); return; say("after") }; say(a());
camelia nqp: OUTPUT«before␤after␤1␤»
timotimo interesting!
hoelzro ah
very
so 'return;' doesn't work 14:06
but 'return $value;' does
[Coke] that seems.. sub optimal 14:09
hoelzro indeed 14:10
GlitchMr nqp, where return in noop, unless called with a value. 14:13
(but seriously, I think it's a strange bug)
nqp: sub a() { say("before"); {return;}; say("after") }; say(a());
camelia nqp: OUTPUT«before␤after␤1␤»
GlitchMr nqp: sub a() { say("before"); return; say("after"); return 42; say("after after") }; say(a()); 14:14
camelia nqp: OUTPUT«before␤after␤42␤»
hoelzro the QAST for that code is interesting 14:15
woolfy some sort of music from the back
hoelzro it looks like it doesn't parse as an actual return
oh
timotimo unless it appears because of the new repr_hint_for, which i'm not sure gets used anywhere at all
hoelzro it inteprets it as a var, I think
timotimo hey GlitchMr :) 14:16
14:16 avar left
hoelzro nqp: sub a() { rob; say('hi'); }; a() 14:16
camelia nqp: OUTPUT«hi␤»
hoelzro mwahaha
14:17 avar joined, avar left, avar joined
hoelzro ah 14:17
lizmat nqp: rob
camelia ( no output )
hoelzro return is a prefix rule
timotimo ah so if you don't have a value, it doesn't get parsed
interesting!
and of course the bare "return" is just NQPMu
(almost everything seems to come down to this ...)
hoelzro I'm going to see if I can fix it 14:18
make myself useful =)
timotimo yays
i think a big loud error would be fine
or, of course, return NQPMu :P
hoelzro yeah
[Coke] nqp: foo; bar; baz; say('frob'); 14:19
camelia nqp: OUTPUT«frob␤»
14:20 btyler joined
timotimo is there some variant of "lalaland" that we can use to describe CORE.setting making things wonky? 14:21
coocooland, perhaps
hoelzro neuland? 14:22
timotimo hahahahaha, you're an ass :D
14:22 benabik left
hoelzro you assked for it. 14:22
timotimo i did. you deserve a cookie
[Coke] butt I thought he was an ass? 14:24
14:25 btyler left
hoelzro sweet, fixed the return thing 14:28
just going to make sure Rakudo still builds before pushing up
14:30 benabik joined
[Coke] hoelzro++ 14:30
timotimo i don't know why i'm getting the silly sc thing 14:33
turns out "invar INT" for an op doesn't make sense; that's probably what got me b0rked? 14:36
(waiting half an hour for the compile now >_>)
(i miss my desktop)
jnthn just unveiled his new secret project perl76 14:39
14:39 spider-mario joined
JimmyZ 76? 14:40
timotimo yeah
from the far future
pmurias what's that?
timotimo we have no ideas
jnthn just let it slip that it exists 14:41
Perl6 + Perl5 + Moose = Perl76 :) 14:42
FROGGS wow, Perl6 + Moose
can't wait :P 14:43
damn, I'm sleepy
JimmyZ Isn't Is Moose part of Perl6?
or rakudo + rakudo-v5 + moarp5? 14:44
FROGGS JimmyZ: we are not that serious atm :o) 14:45
timotimo i got an nqp to compile 14:49
now i've made bootstrap-files and enabled the compile-time hint-precompilation
hoelzro hmm 14:54
timotimo if i manage to get this build going, can anybody benchmark my new nqp? i suppose compiling the rakudo setting with an "improved" nqp would be enough to see if it makes a difference in performance
hoelzro I don't think I'll be able to fix this return thing without breaking a bunch of other stuff
tadzik timotimo: sure 14:55
timotimo (my computer either takes 10 minutes or overheats at a random point in the middle and gives crazy noisy results)
ossum :)
let me build a commit and make it available
actually, have a diff instead
tadzik I'll time a regular build first 14:56
timotimo nc 192.168.0.79 1234 > nqp_hint_precomp.patch
i may have to turn off my firewall first?
tadzik I think so, I got an empty file
timotimo try again? 14:57
tadzik nope 14:58
timotimo aaw man :(
the connection didn't even go through
what does it output?
[Coke] gist, mebbe?
tadzik nothing
timotimo you are on the same network as me?
tadzik 192.168.0.96 is me
timotimo yeah, i'll gist it. i'm just sad i have to rely on a centralised service fro this :(
tadzik put it up again, I'll go for nc -vv
timotimo actually. hold on.
it is still up
tadzik nc: connect to 192.168.0.79 port 1234 (tcp) failed: No route to host 14:59
timotimo no route o_O
tadzik what sorcery is this
hoelzro do they mess with stuff on *this* network, too?
timotimo: upload it to the proxy machine?
timotimo i scp'd it up to the server on the whiteboard
hoelzro then tadzik can scp it down
timotimo :)
hoelzro perfect =)
tadzik heh
timotimo hoelzro: they probably isolate all nodes on the network from each other 15:00
i guess they heard there will be hackers comming
hoelzro I think so
bastards
tadzik timotimo: where did you put it?
timotimo ~/
oh
duh
tadzik there's only 'report' there
timotimo forgot the : at the end
tadzik classic
hoelzro no wonder it was so fast! 15:01
timotimo why doesn't it do anything at all? o_O
tadzik just put gzipped base64 on irc :) 15:02
timotimo because it's -P in scp and -p in ssh >_>
tadzik oh I hate this
timotimo my nqp built to completion <3
ef08484d985b10e56ca333acee9c937e3c099f9d <- i based my commit on this commit
my non-commit, actually
tadzik oh well, I'm on NQP_REVISION 15:03
let's see if it applies
timotimo it gives new bootstrap files
but it shouldn't be a problem
i can type ¢ by compose, |, c 15:05
JimmyZ by NFG? 15:06
:P
timotimo i don't know what you mean :| 15:07
JimmyZ you didn't see MoarVM ppt? o_O 15:08
timotimo i know what NFG is, i do not know why you bring it up right now
JimmyZ kidding
timotimo oke :) 15:09
15:11 zakharyas joined, kaare__ joined 15:12 krokite joined, krokite left, krokite joined, kaare_ left
timotimo OMG 15:15
woolfy icecreams 4 types 15:16
16 icecreams in total
tadzik ooooo 15:17
woolfy horn with strawberry ; horn with nuts ; chocolate on a stick ; chocolate (with nuts) on a stick ; (4 of each)
[Coke] before I came here, I pronounced QAST as KWAST. CAST sounds odd to me. 15:21
15:21 btyler joined
tadzik timotimo: without: 332.56s user 3.76s system 99% cpu 5:39.14 total 15:21
with: 323.97s user 3.75s system 99% cpu 5:30.53 total
that's nqp without --optimize, fwiw 15:22
timotimo nqp doesn't take optimize yet, sorry
so yay, it's a tiny bit faster!
tadzik oh, parrot does
so no difference, yay
timotimo .... huh?
tadzik I mean, I didn't do it wrong :)
hoelzro I thought it was qast with a uvuluar stop
er, uvular 15:23
tadzik it is a bit faster, yes :)
timotimo just a tiny bit, though :(
diakopter hoelzro heh lua
timotimo i was hoping for at least 50% change
or maybe 99.999%, but that's just unlikely
[Coke] Q'ast?
Qapla'
timotimo :) 15:24
hoelzro heh
pmurias timotimo: 50% for which optimalization?
timotimo precalculating the HINT stuff for private attribute access 15:25
now i don't know what the negate thing is for, why does it say ' in there? 15:26
on the slide
and i don't dare ask because i kind of didn't pay attention for the duration of that slide >_< 15:27
diakopter if someone wants a really mind-bending challange, try to figure out why the quant() thing in NFA.pm needs all the extra edges it has in addition to the minimum you might expect... AND ALSO TO FIGURE OUT HOW IT EVEN WORK THE WAY IT IS
pmurias timotimo: I wouldn't expect much speed up on parrot for minor things
timotimo ;_;
diakopter warning: it's diakopter code 15:28
pmurias ;_; ?
timotimo tadzik: can you try compiling nqp without actually overwriting the bootstrap files? i don't know if i need to check that in, but my build time is terrible
pmurias: crying emoticon
15:28 kivutar joined
timotimo won't the icecream get damaged by lying in this not-too-cold room? 15:29
diakopter yeah it all melted
so I ate it all
timotimo nooooooooo :(
lizmat very likelty
[Coke] .U+1F63F
15:29 iSlug joined
timotimo is that one of the cat faces? 15:29
diakopter .u 1f63f
yoleaux U+1F63F CRYING CAT FACE [So] (😿)
tadzik timotimo: how do I do that?
[Coke] aw, not in this font.
diakopter .u FATFACE 15:30
yoleaux No characters found
diakopter .u OBAMAFACE
yoleaux No characters found
pmurias timotimo: the whole parrot machinery is slowing things down, if we turned a hash lookup into a super fast jitted memory offset lookup the speedup should be noticable, but if we have a super slow do-a-ton-of-parroty-things on top of not so much
timotimo tadzik: either unapply the patch, open the patch in a text editor, kill all the lines that belong to these files, or just use git to reset these files selectively
:(
tadzik timotimo: two files remained with changes, rebuilding 15:32
diakopter woolfy: can I take an ice cream
timotimo perfect
woolfy diakopter & everybody : please take an icecream 15:33
timotimo cue loud noises
[Coke] someone throw me one!
krunen mmmmmmmmmmmm.... 15:34
timotimo mmmmmmmm....
lizmat nomnom 15:35
woolfy i take the last one (my second one) -> double nom 15:36
timotimo i'll probably have to build extra code to handle nqp::getattr(...) and nqp::setattr(...) 15:37
[Coke] woolfy++ lizmat++ 15:38
pmurias timotimo: a good plan for optimalizations would be to talk with jnthn what info he could make best use of while emitting code in the JVM backend 15:39
tadzik timotimo: 15:40
it's the same time
timotimo the jvm backend is already fast-ish; i'd like the parrot backend to be usable as well
tadzik: oh, i was mostly interested in: can nqp actually build?
but thanks, that's excellent :)
tadzik oh, sure
15:40 btyler left
timotimo it's like 4%! 15:40
tadzik yep
timotimo maybe another 4% if nqp::getattr and friends learn to create HINT, too
tadzik r: 9/332
camelia ( no output )
tadzik r: say 9/332.Num 15:41
camelia rakudo 223075: OUTPUT«0.0271084337349398␤»
timotimo (don't calculate it! ;_;)
tadzik ...sorry
but I approximated :)
pmurias timotimo: you want make siginifcant progress on the parrot backend without changing parrot itself 15:45
GlitchMr rn: use Cat if False 15:46
tadzik woolfy: cache.gawkerassets.com/assets/image...nswers.jpg
camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: System.Exception: Unable to locate module Cat in /home/p6eval/niecza/lib /home/p6eval/niecza /home/p6eval/.config/niecza␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/NieczaPathSea…»
..rakudo 223075: OUTPUT«===SORRY!===␤Could not find Cat in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p6…»
GlitchMr I cannot have conditional "use"?
woolfy tadzik: there is no hope for the human race.... 15:47
[Coke] rn: if 0 { use Barf }
camelia rakudo 223075: OUTPUT«===SORRY!===␤Could not find Barf in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p…»
..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: System.Exception: Unable to locate module Barf in /home/p6eval/niecza/lib /home/p6eval/niecza /home/p6eval/.config/niecza␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/NieczaPathSe…»
tadzik woolfy: there's also a nice flash-y video made, with cavemen having exactly this conversation
[Coke] similar to p5, no.
tadzik it's really accurate 15:48
woolfy tadzik: I repeat my statement (...)
tadzik :)
hoelzro tadzik: you don't mean www.explosm.net/comics/3297/, do you?
tadzik hoelzro: close ;)
15:49 iSlug left
GlitchMr r: use if $ENV{DEV}, "warnings" 15:49
camelia rakudo 223075: OUTPUT«===SORRY!===␤Could not find sub &DEV␤»
GlitchMr r: use if %*ENV<DEV>, "warnings" 15:50
camelia rakudo 223075: OUTPUT«===SORRY!===␤Could not find if in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p6e…»
diakopter OBAMAFACE
15:51 iSlug joined
tadzik diakopter: ragefac.es/not-bad-obama ? 15:51
huf ~/obamaface.../~ sung to the tune of "all by myself"
moritz 15:52
[Coke] hugme: hug moritz
hugme hugs moritz
moritz hugs [Coke] 15:53
hoelzro huh 15:56
apparently I *don't* have a commit bit for nqp?
[Coke] wonders why this install of nqp can only be run from inside the install dir. wtf.
tadzik [Coke]: yep. Sucks. Or try passing the absolute path to something's Configure.pl 15:57
[Coke] tadzik: already using an absolute path, methinks.
15:58 ajr_ left
[Coke] config.status contains: /Users/willcoleda/perl5/perlbrew/perls/perl-5.16.0_THREAD/bin/perl Configure.pl "--prefix=/Users/willcoleda/sandbox/partcl-nqp/install-jvm" $* 15:58
15:59 ajr joined, ajr is now known as Guest3123
tadzik fair enough 15:59
[Coke] arglebargle. I have an install-jvm/nqp and an install-jvm/bin/nqp 16:01
one works. :)
woolfy My first impression of this course: it needs to be done in 3 days.
hoelzro woolfy: definitely
moritz not a week? :-)
tadzik it'd be safer for the brains :)
woolfy And 17 people is not a bad number. I feel jnthn gave enough attention to anybody in need / want of attention. 16:02
timotimo looking forward to all the commits :D 16:03
pmurias: you have a kind of defeatist attitude towards parrot :(
woolfy moritz: no, not a week, jnthn even had time to do a lot of examples in a terminal and we did a lot of exercises where he went into the room to stand by people doing the examples...
16:03 Guest3123 is now known as ajr_
dalek p: 7e2aa75 | moritz++ | Configure.pl:
[Configure.pl] turn prefix into an absolute path
16:04
timotimo jnthn seems to want to do more whiteboard use next time around
woolfy he has 2 flipovers at his disposal! 16:05
timotimo :D
"what do you want to do?" "what, besides rip off two flipover charts at the same time?" 16:06
woolfy "three flipovers!"
[Coke] hurm. no not/bnot ops in nqp? 16:09
timotimo what's that? binary negation?
i think i've seen many ?? !! in there 16:10
16:11 EvanTeitelman left, ajr_ left 16:12 ajr_ joined, benabik left 16:13 Bzek left
moritz [Coke]: there are bitneg_i and bitneg_I nqp:: ops 16:14
timotimo oh, bitwise negation, yes
16:14 xenoterracide_ joined
moritz and nqp::not_i 16:14
timotimo and nqp::no_u
[Coke] moritz: ah, those are not in the docs. danke. I'll add them 16:15
what about getting the handles for stdout, err, in?
also, the thing that used to be parrot config - is there an nqp equiv? 16:17
timotimo pmurias: i'm convinced nqp, as well as parrot, does too much too often 16:19
right now i may be working on parrot-specific code, but soon enough i'll return to the optimizers and hopefully improve codegen across all backends that way 16:20
[Coke] timotimo++
16:21 xenoterracide_ left
dalek p: db32fa1 | coke++ | docs/nqp-opcode.txt:
add refs to more ops

  moritz++
16:21
16:21 xenoterracide joined, kivutar left
krunen Diod alcoholaidd yw cwrw. Grawnfwyd wedi ei eplesu ydyw. Cynhyrchir cwrw trwy ei fragu (e.e. mewn bragdy). 16:21
16:21 ajr_ left
timotimo the what now? :| 16:22
er, the .WHAT.HOW?
krunen cy.wikipedia.org/wiki/Cwrw
16:22 btyler joined
timotimo is that so :) 16:23
colomon "Drink is alcoholic beer . Cereal is fermented it is. Beer is produced by brew (eg in a brewery )." according to google translate.
diakopter Chrome crashed when it tried to translate that page
timotimo mhhh fermented cereal 16:24
16:24 kivutar joined
timotimo ah, since we have an appointment at the restaurant at 7, this seems to be working out almost perfectly fo rtime 16:24
(but we did skip the boring parts of the jvm and did not do the 9th exercise, which would be exploring NFAs and such) 16:25
16:25 ajr_ joined
colomon I am vain, I will drink, 16:25
I g'wilydd see my country,
I spend like crazy man;
Fi get drunk, disgusting medicine.
This google translation is AWESOME.
timotimo hahaha
# TODO mkdir jit 16:27
[Coke] didn't jnthn++ say there was an nqp slurp? 16:28
FROGGS @attendees>>.slurp( [#]P ) 16:29
hoelzro nqp::slurp, right?
or maybe it's just the builtin
the built works, I think
[Coke] ah, not an op.
timotimo there are slurpy parameters ;)
FROGGS [Coke]: there is an nqp::readallfh op
nqp: nqp::readallfh() 16:30
camelia nqp: OUTPUT«Error while compiling block : Error while compiling op readallfh (source text: "nqp::readallfh()"): The 'readallfh' op expects one operand␤current instr.: '' pc 52004 (src/stage2/QAST.pir:18966) (src/stage2/QAST.nqp:3186)␤»
FROGGS right
timotimo it'll probably take a filehandle
:P
FROGGS don't you say :o)
timotimo cpt. obvious signing off o>
16:30 Guest5678 joined
Guest5678 hello 16:30
FROGGS o/ 16:31
timotimo a guest!
timotimo decks the table
Guest5678 hi
FROGGS ossum!
Guest5678 no bolivard
03fg
16:31 Guest5678 left
FROGGS w/e 16:32
timotimo :\
16:32 Mouq joined
timotimo mouq mouq :) 16:32
hoelzro if I have a PMC for the WHAT of an object, how can I print its name? 16:33
I've been digging forever yielding nothing =/ 16:34
Mouq o/ 16:35
timotimo lizmat: "ss" is not even a unicode character! :o
[Coke] FROGGS: say(nqp::slurp($file)); was fine. Danke.
FROGGS \o/ 16:36
(I fiddled with the IO ops on MoarVM quite a bit)
16:37 benabik joined
lizmat group photo 16:37
16:37 FROGGS left
timotimo .o(should have noticed it in the first email tbs) 16:38
tbh*
bbl
colomon group photo! 16:39
16:40 [Sno] left 16:47 lizmat left 16:51 woolfy left
Mouq r: my $f = "a\tb\tc,d\te\tf"; $f ~~ tr/ \, / \n /; $f.say 16:56
camelia rakudo 223075: OUTPUT«a b cnd e f␤»
Mouq r: my $f = "a\tb\tc,d\te\tf"; $f ~~ tr/ \, / "\n" /; $f.say
camelia rakudo 223075: OUTPUT«a b c\d e f␤»
16:57 tba joined 17:00 isBEKaml joined 17:03 kivutar left 17:07 zakharyas left 17:09 EvanTeitelman joined, kivutar joined 17:27 btyler left 17:35 risou is now known as risou_awy, iSlug left 17:37 risou_awy is now known as risou
timotimo hooray, ssh works in this restaurant 17:41
colomon \o/ 17:42
moritz timotimo! colomon! 17:43
Mouq! 17:44
colomon moritz! 17:49
Mouq moritz: moritz! 17:51
17:51 xenoterracide left
Mouq I considered saying omitomit earlier, but it's not nearly as fun as "quoM quoM in podicem" 17:52
17:52 ajr_ left 17:53 kivutar left, risou is now known as risou_awy, ajr joined 17:54 ajr is now known as Guest42347, Guest42347 left
Mouq Oh, nope, got quom and quod mixed up :/ 17:54
17:55 ajr_ joined 17:58 ajr_ left
dalek kudo-js: 69a7e62 | (Pawel Murias)++ | run_tests:
Add to nqp/t/serialization/01-basic.t run_tests.
17:58
kudo-js: 2c7325f | (Pawel Murias)++ | runtime/reprs.js:
add a compose method to P6int repr
kudo-js: cfcbc97 | (Pawel Murias)++ | runtime/bootstrap.js:
set the type check cache in KnowHOW
kudo-js: f176a5d | (Pawel Murias)++ | run (5 files):
Pass nqp/t/serialization/02-types.t.

Implement nqp::scsetcode, nqp::markcodestatic. Do more thing inside P6opaque REPR .compose. Mark the contents of the 6MODEL_CORE sc as coming from that sc.
18:01 kivutar joined
timotimo pmurias++ \o/ 18:03
18:04 xenoterracide joined 18:06 iSlug joined
pmurias serialization of closures is still left to do :/ 18:08
timotimo seems like you're up to the task, though :) 18:10
ingy mmm serialization :) 18:18
18:27 rindolf joined 18:28 kaare__ is now known as kaare_, pmurias left 18:36 ajr joined, ajr is now known as Guest6950, Guest6950 is now known as ajr_ 18:40 rindolf left 18:43 pmurias joined, cogno joined
pmurias if a nqp script is invoked as 'node foo.js 1 2 3' what should @ARGS contain? 18:44
moritz [1, 2, 3]
well
["1", "2", "3"] to be precise 18:45
18:45 btyler joined
moritz and foo.js should be in $PROGRAM_NAME 18:45
$*PROGRAM_NAME
r: say $*PROGRAM_NAME
camelia rakudo 223075: OUTPUT«/tmp/TbiNJmtl2M␤»
pmurias moritz: this isn't the case in nqp-parrot 18:46
18:50 sqirrel joined, cogno left 18:51 btyler left, zakharyas joined
timotimo moritz: do you have some experience with pir-level hacking? i'm trying to improve the way the compiler handles ops like bindattr_i and i'm not doing much progress 18:54
18:54 mberends_ joined 18:55 mberends_ left
moritz timotimo: I "speak" some PIR, if that's what you want to know 18:55
18:55 FROGGS joined
FROGGS \o/ 18:55
timotimo oh i'm making progress!
now the error message is actually understandable
colomon \o/ 18:56
understandable++
18:58 mberends left, isBEKaml left
hoelzro wooo! RaNIW party! 19:03
sorear RaNIW? 19:04
oh
Rak and Nqp Int'l Workshop
?
tadzik yep
19:06 zakharyas left 19:08 kivutar left 19:09 kivutar joined 19:11 pupoque left
nwc10 is anyone still awake enough for a survivors' party? 19:12
19:13 mberends joined
timotimo yeah, it's not that late yet 19:13
mberends is surviving :)
FROGGS yeah, it is just like quarter past o'beer 19:14
dalek kudo-js: 5a85a38 | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
Implement @ARGS and sub MAIN(*@ARGS) {...}
timotimo that's a quarter to rock o clock ;)
FROGGS: i need your help! :) 19:15
No applicable candidates found to dispatch to for 'Int'.
current instr.: 'dispatch' pc 6303 (src/stage2/gen/NQPCORE.setting.pir:2876) (src/stage2/NQPCORE.setting:341) <- so probably a result from my probably b0rked bindattr_i :) 19:16
sorear o/ mberends 19:19
mberends yo sorear
timotimo hey sorear :) 19:20
19:26 mberends_ joined, mberends_ left, mberends left
moritz www.fudco.com/chip/deconstr.html # 10 years old, but I read it the first time today, and enjoyed it 19:27
19:28 kaare__ joined 19:31 kaare_ left
colomon moritz: 20 years old according to HN... 19:33
moritz yes, I can't subtract 19:38
sorry
and the HN discussion made me read en.wikipedia.org/wiki/Sokal_affair 19:39
19:42 [Sno] joined
colomon I associate Chip Morningstar with Perl, not sure why. 19:43
timotimo gnite
colomon moritz++ # read this ages ago, but it's a good read and the Internet was otherwise being boring this afternoon 19:46
19:47 iSlug left
sorear colomon: probably because you're mixing him up with Chip Salzenburg, who you almost certainly met in austin and is a fairly active p5per 19:48
colomon sorear: could be, I suppose
arnsholt I'm not entirely sure postmodernism quite deserves the bad rap it's gotten (especially in technical circles) 19:51
PZ Myers had a post on just that recently, actually
19:52 krokite left 19:55 krokite joined 20:04 kaare__ left
arnsholt (freethoughtblogs.com/pharyngula/201...m-please/) 20:05
20:07 sqirrel left 20:13 cognominal joined
colomon sorear: actually was thinking of Chip Morningstar, it's just that he was a Commodore 64 guy rather than a Perl guy. :) 20:16
dalek rl6-roast-data: 7dbc10a | coke++ | p (2 files):
today (automated commit)
20:22
20:27 lizmat joined 20:29 SamuraiJack_ left 20:31 rurban joined
rurban diakopter: what did you say at your kiev lightning talk about p5 on p6 performance? when will p5 on p6 bypass p5p? I want to add it to wikipedia. 20:32
lizmat rurban: I think diakopter is getting some shuteye 20:34
masak evening, #perl6
rurban At the YAPC Europe conference 2013 in Kiev Matthew Wilson announced that within a few years Perl5 on Perl6 will bypass Perl performance...
masak rurban: I'm semi-sure that lightning talk is now online, if you want to research it yourself. 20:35
dalek kudo-js: 16a0fe8 | (Pawel Murias)++ | / (4 files):
Make nqp-compiler.nqp take the source file as command line argument.

Make nqp-compiler.nqp work with real serialization.
masak should be able to find it on YouTube.
pmurias rurban: why do you want to add it to wikipedia?
tadzik rurban: I it was not quite an announcement, afair 20:36
it was more like "we can make it happen with your help"
rurban Because I like the idea and it was a pretty important annoucement :) 20:40
Is it too dangerous?
So far I just added: In late 2012 and 2013 several projects for alternative implementations of Perl 5 started: Perl5 in [[Perl6]] by the Rakudo Perl team, ''moe'' by Stevan Little and friends, ''p2'' by the Perl11 team under Reini Urban and ''gperl'' by goccy. 20:41
predicted is a better term 20:42
20:44 ssutch joined 20:55 ajr_ left 20:56 cognominal left 21:00 lizmat left 21:11 denis_boyun left, kivutar left
[Coke] He'll probably be online in the morning, CET. 21:11
21:13 btyler joined 21:19 kivutar joined 21:22 kivutar left
rurban I didn't add it 21:22
21:27 kivutar joined
timotimo you wanna drive home in my bahn? in my bahn? 21:36
hey masak :) 21:37
21:37 Rotwang left 21:41 kivutar left 21:42 FROGGS left
timotimo gist.github.com/timo/67bd469e5a2317046856 <- this is giving me "No applicable candidates found to dispatch to for 'Int'." when compiling even the simplest thin, like a say("hello world"), but also when compiling nqppregex for stage2 21:48
i would love to wake up to a solution :)
i'll try for a bit o fsleep 21:49
21:50 kivutar joined 21:51 kivutar left 21:53 cognominal joined 21:55 ssutch left 21:56 PacoAir left 21:57 spider-mario left
dalek p: 289685c | coke++ | docs/nqp-opcode.txt:
more ops
22:00
22:00 cognominal left
Mouq rn: 'aa' ~~ / 'a'+ {note "⇒ a+"} | 'aa' {note "⇒ aa"} / 22:01
camelia rakudo 223075: OUTPUT«⇒ a+␤»
..niecza v24-95-ga6d4c5f: OUTPUT«⇒ aa␤»
Mouq rn: 'aa' ~~ / 'aa' {note "⇒ aa"} | 'a'+ {note "⇒ a+"} /
camelia rakudo 223075, niecza v24-95-ga6d4c5f: OUTPUT«⇒ aa␤»
22:01 cognominal joined
Mouq niecza is correct here, right? 22:01
22:03 FROGGS joined, btyler left 22:04 cognominal left, fhelmberger joined
pmurias [Coke]: have you seen that there is a new docs/ops.markdown file? 22:08
22:09 fhelmberger left 22:11 cognominal joined
[Coke] pmurias: ah. it was short, I assumed it was the wrong one to add to. 22:13
I just wanted to document the existence of these ops I found out about today.
22:14 cognominal left
[Coke] we can still keep adding more detail descriptions to the new file. 22:16
22:24 cognominal joined 22:27 cognominal left
pmurias [Coke]: the .txt is fild 22:37
[Coke]: the .txt is filled with a lot of old and incorrect stuff, so I think it's best to put everything in the new one 22:38
22:39 krokite left 22:44 kivutar joined 22:54 KiWi__ joined, KiWi__ left 23:07 krunen left 23:13 ssutch joined
[Coke] ok. I'd rather not have two going. I'll try to spend some time this week combining the two. (IME it's more missing data in the old one) 23:18
first, though, getting partcl back.
nqp-jvm has an eval-client but not a server? 23:21
23:29 xenoterracide left 23:38 btyler joined 23:41 xenoterracide joined 23:43 Mouq left 23:44 Mouq joined, rurban left 23:50 BenGoldberg joined 23:58 BenGoldberg left