»ö« 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:11 dayangkun left 00:19 ajr_ left 00:21 thou left
timotimo ufo wants updating, too. for $*VM<name> 00:24
00:24 dayangkun joined 00:26 raiph joined 00:35 askz joined 00:46 john3213 joined 00:50 virtualsue joined 00:51 john3213 left
timotimo i'm running into trouble with trying to build a simple GTK::Simple app 00:59
i have added two buttons to my window and tapped one's clicked supply and the other's
but clicking the other button mores the first button's clicked tap, too
colomon timotimo++ 01:00
timotimo and it don't seem like the second button's supply gets more'd at all
two supplies do get created. but that's about it. 01:02
yeah, i really don't get it. 01:04
someone ought to check out the examples/01 in perl6/gtk-simple 01:07
01:07 klapperl joined
timotimo it behaves very oddly 01:07
there's debug output in there
01:10 klapperl_ left 01:12 SHODAN left 01:19 bowtie left 01:25 bowtie joined 01:26 sjn_mob left 01:30 shalom1024 joined 01:40 shalom1024 left 01:41 virtualsue left 01:46 pdcawley_ joined 01:48 pdcawley left, SHODAN joined 01:50 FROGGS_ joined 01:51 thou joined 01:52 Su-Shee left, dayangkun left 01:53 Sqirrel left, dayangkun joined 01:54 FROGGS left, Su-Shee joined 01:55 thou left 02:21 telex left 02:22 telex joined 02:25 Grimnir_ left, Grimnir__ joined 02:29 kurahaupo joined 02:31 shalom1024 joined, Sqirrel joined 02:32 Sqirrel_ joined 02:33 AndChat-458964 joined 02:36 Sqirrel left 02:37 Sqirrel_ left 02:38 AndChat-458964 left 02:41 Timbus left 02:42 Timbus joined 03:03 araujo left, Exodist left, ivanshmakov left, mattp_ left, crazedpsyc left, Rix left, mtj_- left, avar left, felipe left, moritz left, BooK left, BinGOs left, obra left, robinsmidsrod left, masak left, cxreg left, PerlJam left, tobiasvl left, ggherdov left, ribasushi left, Khisanth left, ilogger2 joined 03:04 nhayashi joined, go|dfish1 joined, stux|away joined, FOAD_ joined, Shozan joined, nebuchad` joined, FROGGS__ joined, tadzik1 joined, Timbus_ joined, skids1 joined, woolfy1 joined, shalom1034 joined, BenGoldberg joined, pochi_ joined, kurahaupo joined, Grimnir__ joined, telex joined, Su-Shee joined, dayangkun joined, FROGGS_ joined, SHODAN joined, pdcawley_ joined, bowtie joined, klapperl joined, askz joined, raiph joined, ppabian joined, sftp joined, skids joined, colomon joined, berekuk joined, xragnar joined, Tene joined, breinbaa1 joined, xinming_ joined, lizmat joined, araujo joined, effbiai_ joined, yeltzooo joined, mhasch joined, Celelibi joined, hoelzro_ joined, __sri joined, ivanshmakov joined, Exodist joined, amkrankruleuen joined, ribasushi joined, donaldh joined, JimmyZ_ joined, larks joined, brother joined, DarthGandalf joined, frettled_ joined, Juerd joined, retupmoc1 joined, avuserow2 joined, salv01 joined, lee__ joined, dalek joined, eternaleye joined, dagurval joined, dwarring joined, zamolxes joined, vendethiel joined, REPLeffect joined, autark joined, cognominal joined, mr-foobar joined, Vlavv joined, Alula joined, aindilis joined, cosimo joined, krunen joined, djanatyn joined, [Sno] joined, cooper joined, oetiker joined, clkaoud joined, ggherdov joined, rurban_ joined, Psyche^_ joined, mattp_ joined, Alina-malina joined, felher joined, mathw joined, Bucciarati joined, camelia joined, woosley joined, lue joined, chenryn joined, xiaomiao joined, atta joined, bbkr joined, haroldwu joined, morgan.freenode.net sets mode: +vv dalek camelia, robinsmidsrod joined, Pleiades` joined, logie_ joined, obra joined, apejens joined, Util joined, ponbiki joined, revdiablo joined, firnsy joined, awwaiid joined, lyda joined, ivan`` joined, kst joined, cibs joined, nwc10 joined, MilkmanDan joined, PerlJam joined, cxreg joined, eiro joined, perigrin joined, masak joined, dylanwh joined, hugme joined, d^_^b joined, pmichaud joined, ingy joined, moritz joined, BooK joined, BinGOs joined, charsbar_______2 joined, broquaint joined, [Coke] joined, synopsebot joined, crazedpsyc joined, Rounin joined, felipe joined, Gothmog_ joined, ilbot3 joined, avar joined, tobiasvl joined, integral joined, eMBee joined, mtj_- joined, Rix joined, sivoais joined, arnsholt joined, renormalist joined, morgan.freenode.net sets mode: +v hugme, mls joined, Maddingue joined, japhb joined, cotto joined, jlaire joined, Woodi joined, yakudza joined, smash joined, kshannon joined, anocelot joined, labster joined, rhr joined, sjn joined, pnu joined, isacloud__ joined, clkao joined, ashleydev joined, jnthn joined, daxim joined, Grrrr joined, baest joined, jercos joined, jtpalmer joined, slavik joined, mtj joined, thilp joined, LordVorp joined, dj_goku joined, ggoebel111115 joined, takesako_____ joined, sergot joined, huf joined, PZt joined, Khisanth joined, raydiak joined, lestrrat joined, sunnavy joined, TimToady joined, simcop2387 joined, xalbo joined, risou joined, tokuhirom joined, yogan_ joined, erdic joined, flussence joined, atrodo joined, timotimo joined, sorear joined, xfix joined, bcode joined, geekosaur joined, [particle] joined 03:05 bowtie left 03:07 molaf joined, xragnar left 03:08 FOAD_ is now known as FOAD 03:09 FROGGS_ left, SHODAN left, skids left, huf left 03:11 bowtie joined 03:12 xragnar joined 03:14 huf joined 03:15 berekuk left, colomon left 03:18 Ulti joined, segomos joined 03:21 xragnar left 03:23 xragnar joined 03:25 Alula left 03:29 SevenWolf joined 03:36 Alula joined 03:39 thou joined 03:43 fhelmberger joined, thou left 03:44 SamuraiJack__ joined, go|dfish1 is now known as go|dfish 03:48 fhelmberger left 03:57 berekuk joined, colomon joined 04:02 kaare_ joined 04:11 thou joined, anaeem1_ joined 04:17 anaeem1_ left 04:18 anaeem1 joined 04:40 SamuraiJack joined 04:41 SamuraiJack__ left 04:47 thou left 04:50 kaare_ left 05:05 berekuk left, colomon left 05:06 raiph left 05:21 DarthGandalf left 05:29 kaare_ joined 05:31 DarthGandalf joined 05:34 BenGoldberg left
FROGGS__ m: FOO: while 1 { say 1; last FOO }; say FOO 05:43
camelia rakudo-moar f5e98b: OUTPUT«1␤Label<FOO>(at /tmp/XGK3A4MmyP:1, '⏏FOO: while 1 { say 1; last')␤»
05:43 FROGGS__ left 05:47 SamuraiJack left 05:55 autark left 06:01 kaleem joined 06:03 denis_boyun_ joined 06:09 nebuchad` is now known as nebuchadnezzar 06:25 SevenWolf left 06:26 SevenWolf joined 06:31 sjn_mob joined
lizmat good *, #perl6! 06:34
I tried jnthn "say" patch, but it gives some spectest errors I would like to look into before committing
and since I won't have time for that today, I think I'll wait until after this month's release has been cut
just to be on the safe side 06:35
06:45 sjn_ joined 06:46 denis_boyun_ left 06:47 sjn_mob left, FROGGS joined 06:59 Ven joined 07:11 SevenWolf left 07:15 darutoko joined
moritz m: FOO: while False { }; say FOO.^name 07:15
camelia rakudo-moar f5e98b: OUTPUT«Label␤»
moritz m: FOO: while False { }; say FOO.^methods
camelia rakudo-moar f5e98b: OUTPUT«new name gist Int next redo last␤»
moritz woah, first class labels 07:16
m: A: for 1..3 -> $a { B: for <a b c> -> $b { say "$a $b"; (A, B).pick.next } } 07:18
camelia rakudo-moar f5e98b: OUTPUT«1 a␤1 b␤1 c␤2 a␤2 b␤3 a␤3 b␤»
moritz m: A: for 1..3 -> $a { B: for <a b c> -> $b { say "$a $b"; (A, A, B).pick.next } }
camelia rakudo-moar f5e98b: OUTPUT«1 a␤1 b␤2 a␤2 b␤3 a␤3 b␤»
moritz r: A: for 1..3 -> $a { B: for <a b c> -> $b { say "$a $b"; (A, A, B).pick.next } } 07:19
camelia rakudo-parrot f5e98b: OUTPUT«1 a␤2 a␤2 b␤3 a␤»
..rakudo-jvm f5e98b: OUTPUT«1 a␤1 b␤1 c␤2 a␤2 b␤2 c␤3 a␤»
..rakudo-moar f5e98b: OUTPUT«1 a␤2 a␤3 a␤»
moritz computed got^Wnext!
masak morn's, #perl6!
moritz \o masak 07:20
FROGGS morning 07:21
masak first class labels! \o/
FROGGS++ # I assume
FROGGS :o)
moritz good FROGGS++ :-)
07:21 SamuraiJack joined, zakharyas joined
masak m: FOREVER: loop { say "step"; last FOREVER }; say "meanwhile, much much later..." 07:21
camelia rakudo-moar f5e98b: OUTPUT«step␤meanwhile, much much later...␤»
masak \o/ 07:22
this is awesome
m: FOREVER: loop { say "step"; FOREVER.last }; say "meanwhile, much much later..."
camelia rakudo-moar f5e98b: OUTPUT«step␤meanwhile, much much later...␤»
masak whoa.
I will be teaching today, but all the time my brain will go "Rakudo has loop labels... zoinks..."
FROGGS: I blame you :P 07:23
FROGGS g*
err
*g*
g* <-- Bruce Willis smile
masak ;) 07:24
Ven m: FOREVER: loop { loop { loop { say "step"; FOREVER.last } LEAVE { say "unstep--"; } }; LEAVE { say "unstep"; } }; say "meanwhile, much much later..." 07:27
camelia rakudo-moar f5e98b: OUTPUT«===SORRY!=== Error while compiling /tmp/aIzk7rZbGs␤Confused␤at /tmp/aIzk7rZbGs:1␤------> oop { loop { say "step"; FOREVER.last } ⏏LEAVE { say "unstep--"; } }; LEAVE { say␤ expecting any of:␤ metho…»
Ven m: FOREVER: loop { loop { loop { say "step"; FOREVER.last }; LEAVE { say "unstep--"; } }; LEAVE { say "unstep"; } }; say "meanwhile, much much later..."
camelia rakudo-moar f5e98b: OUTPUT«step␤unstep--␤unstep␤meanwhile, much much later...␤»
Ven Yay :-). FROGGS ++ 07:28
FROGGS I wonder what I should put into the features matrix... because we cannot goto yet, and we cannot specify return values of a block via Label.last(...) 07:29
the feature is just called 'Labeled loops'
and goto is not exactly about that 07:30
I guess I add 'goto' as a separate feature?
I would like to put the 'Labeled loops' feature into the state 'implemented', because specifying return values via .last is sort of an add-on 07:32
moritz / masak: opinions?
moritz FROGGS: +1
FROGGS thanks :o)
sergot morning o/ 07:33
FROGGS morning sergot
07:33 zakharyas left
sergot FROGGS++ 07:33
FROGGS thank you 07:34
07:45 berekuk joined, colomon joined
dalek atures: 71145f6 | (Tobias Leich)++ | features.json:
tick boxes for labels for rakudo and add seperate 'goto'
07:46
07:47 donaldh_ joined 08:00 woolfy1 left
dalek kudo/nom: 900f0ba | (Elizabeth Mattijsen)++ | src/core/asyncops.pm:
The first actual use of last LABEL in core?
08:01
lizmat sightseeing& 08:03
FROGGS have fun 08:04
08:04 lizmat left 08:07 zakharyas joined, donaldh left, donaldh_ is now known as donaldh, virtualsue joined 08:09 cooper left 08:13 sqirrel joined 08:14 dwarring left
chenryn will Perl6 support compile to binary like golang? 08:20
moritz chenryn: it'll probably always need more runtime than go
chenryn: currently the parrot and moarvm backends compile to bytecode, which can be bundleded together with the VM in a single executable 08:21
(not yet done automatically)
chenryn I think it's too big after bundle a VM... 08:22
moritz do you know how big the VM is?
08:23 cooper joined
moritz $ du -h install/bin/moar 08:23
24K install/bin/moar
chenryn ==, great! 08:24
tadzik1 well, that's excluding libmoar.so :)
moritz aye, that's another 3.5M
tadzik1 but a 2d game bundled with assets, MoarVM and the entire rakudo took 2.2 MBs, compressed
so I don't think it's that bad 08:25
moritz and I guess if you statically compile moarvm and then strip the binary, you could reduce the size even further
tadzik1 besides, if you were to put all the stuff needed for perl6 in a "binary", this binary would be at least as big anyway :)
08:25 tadzik1 is now known as tadzik
virtualsue disk space is cheap 08:29
sergot m: LAB: LABB: loop { last LAB } 08:32
camelia ( no output )
sergot m: LAB: LABB: loop { last LABB } 08:33
camelia ( no output )
tadzik r: LAB: Rat 08:34
ah, I should use m
camelia rakudo-jvm 900f0b: OUTPUT«(timeout)»
( no output )
tadzik oh, jvm acting funny :)
08:36 fhelmberger joined
masak just acting aloof, as usual. 08:39
m: L1: L2: loop { last L1 }; say "alive" 08:40
camelia ( no output )
masak m: L1: L2: loop { last L2 }; say "alive"
camelia rakudo-moar 900f0b: OUTPUT«alive␤»
masak submits rakudobug
I'm conservative in this case. I don't think there's *any* use for multiple labels on the same loop.
YMMV.
08:41 sjn_ left, dakkar joined
FROGGS only one label is supported, yes 08:41
tadzik COLOR: COLOUR: loop { }
FROGGS bah
08:42 sjn_ joined
masak tadzik: that's awful :) 08:43
tadzik *tips fedora* 08:44
heh. I spent like 4 hours chasing $entry->{domain} instead of $entry->{$domain} in Perl 6 09:00
erm, Perl 5
moritz tadzik: I was about to say, in perl 6 it's a compile time error (usually) 09:01
09:03 shalom1034 left
tadzik sorry for perl5 again, but I have to leave this gem here: 09:08
(trepanpl): h breakpoints
** No commands found matching /^brepoints/. Try "help".
09:13 dmol joined
moritz m: say Date.new(|'2014-1-23'.split: '-'); 09:16
camelia rakudo-moar 900f0b: OUTPUT«Type check failed in assignment to '$!year'; expected 'Int' but got 'Str'␤ in block at src/gen/m-CORE.setting:892␤ in method BUILDALL at src/gen/m-CORE.setting:875␤ in method bless at src/gen/m-CORE.setting:864␤ in method new at src/gen/m-CORE…»
moritz that's a bit LTA; should be Cool, IMHO
dalek rlito: debc4f6 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
09:17
moritz there's a bug report (RT #121926) that requests more lenient date parsing in Date.new 09:18
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121926
moritz any objects to rejecting that ticket?
*objections
09:22 SamuraiJack left
masak no objections. 09:31
lenient Date parsing is not a feature IMHO.
09:31 anaeem1 left
masak I can probably even give a rationale from ISO 8601 -- hold on. 09:32
09:33 Rikkol joined, anaeem1_ joined
moritz masak: if so, please add it to the ticket 09:34
(I've now rejected it)
masak "[MM] indicates a two-digit month of the year, 01 through 12." -- not such a strong rationale, but pointing in that direction.
it doesn't say it *has* to be that way, it just matter-of-factly states that it's two digits.
masak adds that to the ticket 09:35
uh, no. 09:36
apparently cannot add it now.
OTOH, I'm happy with what moritz++ wrote.
masak is teaching right now, so has limited time to deal with this
09:38 Rikkol left 09:42 sjn_ left
sergot m: $tomorrow = Date.today + 1; say $tomorrow; 09:44
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/rXOWKmsvyW␤Variable '$tomorrow' is not declared␤at /tmp/rXOWKmsvyW:1␤------> $tomorrow⏏ = Date.today + 1; say $tomorrow;␤ expecting any of:␤ postfix␤»
sergot m:my $tomorrow = Date.today + 1; say $tomorrow; 09:45
FROGGS space after the m: ?
sergot m: my $tomorrow = Date.today + 1; say $tomorrow;
camelia rakudo-moar 900f0b: OUTPUT«2014-05-23␤»
09:47 donaldh_ joined
FROGGS "The canonical location for this page is at perl6.org/compilers/features and is updated at least hourly." 09:52
the last bit is a lie :/
moritz FROGGS: I've updated it now 09:55
though I don't see why it wouldn't work automatically :(
FROGGS thanks :o)
10:03 denis_boyun_ joined
tadzik hmm. I think I'd like having Debugger::UI::CommandLine as a "first core" module 10:03
FROGGS I sometimes think that panda needs to get in core.... but in theory that is star is for: a compiler + useful stuff 10:04
is what* 10:05
10:05 xinming joined
tadzik I just think that having a perl6-debug binary that doesn't work is sort of bad :) 10:05
10:08 xinming_ left 10:09 breinbaa1 left 10:10 kurahaupo left 10:11 breinbaas joined
colomon jnthn: parrakudo stage parse on my linux box has gone from 85s to 90s (which I've gotten at least twice now) sometime this week. 10:18
hmm… was 86s yesterday 10:19
and the day before
10:24 donaldh left, donaldh_ is now known as donaldh 10:25 kurahaupo joined
timotimo did anybody have an opportunity to investigate the gtk-simple weirdness? 10:26
also, could we get gtk-simple reports to dalek perhaps?
moritz sure 10:28
timotimo yays
i think i should pour more tuits into gtk-simple
and others should probably do that, too :)
it's a very high-wattage thing
10:28 donaldh_ joined
tadzik weirdness? 10:28
timotimo gtk isn't as nice as qt, but it has a C api which is at least bindable at all. 10:29
tadzik: i'm tapping two different button's clicked slots and the second button causes the first button's tap to be more'd instead of the second button's
example code and debug output to be found in the repo.
AFK
10:31 sjn_ joined, sjn_ left
dalek : d48dc17 | sergot++ | misc/dalek-push.txt:
[misc/dalek-push.txt] new configuration procedure
10:44
10:45 eternaleye left 10:46 eternaleye joined
timotimo stackoverflow.com/questions/450538...73#4505773 - holy batman wow 10:59
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...id=4505773
11:06 frettled_ is now known as frettled
sergot :D 11:19
masak ah, tchrist++, trolling all the rest of us with Unicode. 11:27
timotimo i like those strange semicolon-lookalikes 11:28
.u ⁏ 11:29
yoleaux U+204F REVERSED SEMICOLON [Po] (⁏)
11:36 skids1 left 11:41 vendethiel left
FROGGS m: say 10010/3600 11:41
camelia rakudo-moar 900f0b: OUTPUT«2.780556␤»
FROGGS that is how long a jvm spectest takes without using the eval server 11:42
timotimo wowza. 11:43
2.8 times longer, eh?
FROGGS 2.8hours 11:44
timotimo oh!
FROGGS :o)
timotimo and with the evalserver?
FROGGS less, but then it starts to abort tests from S17 for me
timotimo ah, yeah
i recall that problem >_>
FROGGS 2.8 hours with only one job at a time btw
that is how the problems look: gist.github.com/FROGGS/9453c10577b1b729acf2 11:45
dunno what we can do about that
m: my $cons = [=>] ( [=>] <A B>, Mu ), <C>, Mu; my $p = $cons.key; say $cons.key.key =:= $p.key 11:46
camelia rakudo-moar 900f0b: OUTPUT«True␤»
FROGGS p: my $cons = [=>] ( [=>] <A B>, Mu ), <C>, Mu; my $p = $cons.key; say $cons.key.key =:= $p.key
camelia rakudo-parrot 900f0b: OUTPUT«False␤»
11:47 vendethiel joined
FROGGS I think I want to bisect this 11:47
11:48 sqirrel left
timotimo AFK for most of the day & 11:49
FROGGS colomon: it is possible that this is because I added labels... 11:50
so the setting is slightly bigger and also loop check that they have to check for labels for every loop
dalek rlito: 7018e85 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - parser - "while" special case
11:53
FROGGS [Coke]: can you push the latest roast-data please? 12:02
Ven m:my $x = 0 but { method gloubi { say "hello"; } }; $x.gloubi 12:07
m: my $x = 0 but { method gloubi { say "hello"; } }; $x.gloubi
camelia rakudo-moar 900f0b: OUTPUT«Useless declaration of a has-scoped method in mainline (did you mean 'my method gloubi'?)␤No such method 'gloubi' for invocant of type 'Int+{<anon>}'␤ in block at /tmp/lcVB8udeUI:1␤␤»
moritz Ven: should be 'but role {'
Ven m: my $x = 0 but role { method gloubi { say "hello"; } }; $x.gloubi 12:08
camelia rakudo-moar 900f0b: OUTPUT«hello␤»
FROGGS nice
Ven moritz: hehe, :D
12:26 sqirrel joined
Woodi hallo :) 12:41
masak I'm pretty sure we as a community hasn't used 'but' to its full potential yet. 12:42
haven't*
Woodi teoretically asking: what $x with role is ? and why ?
12:42 vike joined
Woodi some light object ? 12:43
12:43 bluescreen10 joined
Woodi err, s/light/lightweight/ 12:43
tadzik everything is an object :) 12:45
so you just mixin a role into it
masak Woodi: it's the same object, but belonging to an automatically generated anonymous subclass. 12:46
12:56 skids joined 12:58 anaeem1_ left
moritz which has that role mixed 13:06
FROGGS jnthn++ # www.infoq.com/presentations/invokedynamic 13:07
13:07 zakharyas left
tadzik "register to download slides" grrr 13:08
Woodi hmm, can I have atributes in that scalar ? ;)
moritz sure 13:10
FROGGS m: my $x = 0 but role { has $.thingy = 42 }; say $x.thingy
moritz tadzik: last time I tried to register on infoq, I never got the password confirmation email
camelia rakudo-moar 900f0b: OUTPUT«42␤»
FROGGS it does not just look like as if a role was mixed in, it really is 13:11
moritz it *is* a duck! 13:12
tadzik oh, the slides appear next to the video too, good
FROGGS yeah
I like it too
13:20 zakharyas joined 13:24 FROGGS left 13:25 sqirrel left 13:26 FROGGS[mobile] joined 13:34 guru joined 13:35 guru is now known as Guest22017, Guest22017 is now known as ajr_
masak strangely enough, the invokedynamic talk is not up at jnthn.net/articles.shtml 13:37
jnthn: is that intentional?
13:38 kaare_ left
timotimo but that will lose its thingy if you assign to it, no? 13:41
i think you want to $x.VAR does role ...
Woodi r: role Properties { has $.property is rw }; my Int $i = 0 but Properties; $i.property = "some info"; say $i.perl; say $i.property; 13:43
camelia rakudo-{parrot,jvm,moar} 900f0b: OUTPUT«0␤some info␤»
masak m: my $x = Any.new; my $y = $x but role {}; say $x === $y
camelia rakudo-moar 900f0b: OUTPUT«False␤»
masak probably that's for the best.
13:46 btyler joined 13:47 kurahaupo left
virtualsue is there something akin to tomcat written in perl 6? 13:52
Woodi virtualsue: "Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies." ;) 13:55
virtualsue yes i'm aware of what it is 13:56
Woodi virtualsue: probably not yet :)
virtualsue: but actually I have problem with identifing what tomcat is... wiki says it is "container"... 13:58
+ web server
we have Bailador, Perl5 Dancer clone...
14:02 thou joined 14:03 xenoterracide joined
virtualsue that's interesting 14:08
Woodi virtualsue: but beware *standard warning*: Perl6 compilers are still under development :) 14:09
14:09 kaleem left
virtualsue i'm well aware of that too 14:09
14:10 anaeem1_ joined
Woodi so far Perl6 is quite good as presentations hijacking language :) 14:11
14:14 kaare_ joined, retupmoc1 is now known as retupmoca 14:18 zakharyas left 14:23 grlpx joined
timotimo i do not have a proper keyboard with me. can someone test my hypothesis 14:24
14:24 FROGGS joined
timotimo that you need to (or rather: can) mix inytoto a .VAR and assign to that 14:25
14:27 hummeleBop joined
grlpx what is perl 6? what's wrong with perl? 14:29
PerlJam grlpx: perl 6 is another language in the perl family of languages. Nothing is wrong with perl.
tadzik well, aside from globals in sort(), for instance :D
grlpx is it still a developing language perl 6? or is it defined? 14:31
PerlJam I wouldn't even say that is "wrong"
tadzik it's not a dead language, so it's still developing, yes
PerlJam grlpx: all languages are "still developing". Perhaps you could narrow down what you mean more precisely?
14:32 zakharyas joined
grlpx I mean if it's still a language which can broke compatibility and implement new estetical decisions 14:32
timotimo partially, yes
FROGGS grlpx: that still happens, but very rarely 14:33
PerlJam grlpx: Backward compatibility has not become a dominating factor in the evolution of Perl6 yet. :)
FROGGS more like fine grained tweaks I'd say
timotimo but we are quite close to fixed with the most common things
concurrency features have only recently been fleshed out
for example
and asynchronous i/o 14:34
grlpx Do you improve something on the "single program multiple data" scenario?
timotimo the most "core" thing that you will find missing is probably shaped arrays and related features 14:35
and of course modules that arevready to be installed
yes
look at hyper operators for example
feeds are how we do communicating serial programmers 14:36
PerlJam according to the feature matrix, we're still missing "basic module versioning" That's kind of important too :)
timotimo programs
froggs is gard at work on that feature
hard
FROGGS but first compiler release today :o)
PerlJam yeah, I can't FROGGS++ enough for the stuff he's doing.
grlpx looking at them, seems interesting 14:37
timotimo first compiler release? ;) 14:41
grlpx, the perl 6 advent calendar has many good examples
about anything perl6 related
14:44 treehug88 joined 14:45 rurban joined 14:47 FROGGS[mobile] left 14:50 FROGGS[mobile] joined
Ven calendar++ 14:52
FROGGS m: my $a = [=>] ( [=>] <A B>, Mu ), <C>, Mu; my $b = $a.key; say $b.key =:= $a.key.key 14:54
camelia rakudo-moar 900f0b: OUTPUT«True␤»
FROGGS p: my $a = [=>] ( [=>] <A B>, Mu ), <C>, Mu; my $b = $a.key; say $b.key =:= $a.key.key
camelia rakudo-parrot 900f0b: OUTPUT«False␤»
FROGGS j: my $a = [=>] ( [=>] <A B>, Mu ), <C>, Mu; my $b = $a.key; say $b.key =:= $a.key.key
camelia rakudo-jvm 900f0b: OUTPUT«False␤»
FROGGS does that have to be True?
we fail this spectest since a few days 14:55
(when Pair.key lost its 'is rw')
14:59 fhelmberger left 15:03 sjohnson joined
masak decommute & 15:05
FROGGS: I think that test is bogus.
FROGGS: you do assignment -- why should binding equality be true?
FROGGS masak: I dunno 15:06
that's why I am asking :o)
15:06 SamuraiJack joined
FROGGS filed a bug about that: rt.perl.org/Ticket/Display.html?id=121945 15:06
which perhaps shows the problem better
15:07 btyler left
dalek ast: cafda9b | (Tobias Leich)++ | S12-methods/chaining.t:
fudge tests about Pair.key identity, RT #121945
15:09
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121945
15:11 Adriaaan joined, rindolf joined 15:13 denis_boyun_ left
FROGGS jnthn / lizmat: I am thinking about commenting out all S17 tests for the compiler release today 15:17
15:19 molaf_ joined
PerlJam r: grammar G { rule TOP { | "foo" <a>? | "foo" <b>? }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo"); say G.parse("foo bar"); say G.parse("foo baz"); 15:21
camelia rakudo-{parrot,jvm,moar} 900f0b: OUTPUT«「foo」␤␤「foo bar」␤ a => 「bar」␤␤(Any)␤»
PerlJam Am I crazy or should that last one parse as well?
15:22 molaf left, anaeem1_ left
FROGGS r: grammar G { rule TOP { | "foo" <a>? | "foo" <b>? }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo"); say G.parse("foo bar"); say G.parse("foo baz"); 15:23
camelia rakudo-{parrot,jvm,moar} 900f0b: OUTPUT«「foo」␤␤「foo bar」␤ a => 「bar」␤␤(Any)␤»
FROGGS I think the branch "foo" <a>? is happy because it matched the "foo", and won't backtrack
m: grammar G { rule TOP { :r | "foo" <a>? | "foo" <b>? }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo"); say G.parse("foo bar"); say G.parse("foo baz");
camelia rakudo-moar 900f0b: OUTPUT«「foo」␤␤「foo bar」␤ a => 「bar」␤␤(Any)␤»
FROGGS err
m: grammar G { rule TOP { "foo" [ <a>? | <b>? ] }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo"); say G.parse("foo bar"); say G.parse("foo baz"); 15:24
camelia rakudo-moar 900f0b: OUTPUT«「foo」␤␤「foo bar」␤ a => 「bar」␤␤「foo baz」␤ b => 「baz」␤␤»
15:25 anaeem1 joined
PerlJam FROGGS: that hypothesis is good except that if the <a>? branch is happy, why didn't the match succeed? 15:25
FROGGS because you called .parse, not .subparse 15:26
15:26 Alula left
FROGGS you get an implicit ^ and $ there 15:26
m: grammar G { rule TOP { | "foo" <a>? | "foo" <b>? }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo"); say G.parse("foo bar"); say G.subparse("foo baz");
PerlJam ah! That's what I was forgetting.
camelia rakudo-moar 900f0b: OUTPUT«「foo」␤␤「foo bar」␤ a => 「bar」␤␤「foo 」␤␤»
15:29 Ven left 15:32 Alula joined, hoelzro_ is now known as hoelzro 15:34 SamuraiJack left, btyler joined, zakharyas left, anaeem1 left 15:35 guru joined 15:36 guru is now known as Guest79327, ajr_ left 15:39 Guest79327 is now known as ajr_
timotimo rules dont backtrack iirc 15:39
but why is ? not greedy?
TimToady ? means frugal, ! means greedy 15:40
timotimo there is ! in regex?? 15:41
meaning the same as ? except greedy?
TimToady yes
well, as a modifier to another
timotimo TYYKTMYK
...
TimToady *! vs *?
timotimo TMYK
TimToady but ? by itself is greedy 15:42
?? is frugal, ?! is greedy
so ? under :r should be greedy
do you have an example of bare ? not working under :r? 15:44
'course, bare ? is not greedy under :r, but "possessive", or whatever we call it 15:45
FROGGS hi TimToady 15:46
15:46 anaeem1_ joined, anaeem1_ left
TimToady FROGGS++ Willis 15:46
FROGGS you can now rewrite all rc entries :o)
TimToady ayup
FROGGS label all the things! /o/ 15:47
goto should be fairly easy on moarvm, but it is not like I need that for something, so I leave that open for now 15:49
TimToady for instance, rosettacode.org/wiki/Ludic_numbers#Perl_6
the conditional after the inner loop is really unnecessary 15:51
15:52 anaeem1_ joined 15:54 Adriaaan left
timotimo see froggs code above 15:57
we think it ought to parse the whole thirdvstring even without subparse
FROGGS ahhh, hmmm
m: grammar G { rule TOP { | "foo" <a>? | "foo" <b>? }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo baz"); 15:58
camelia rakudo-moar 900f0b: OUTPUT«(Any)␤»
FROGGS m: grammar G { rule TOP { "foo" [ <a>? | <b>? ] }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo baz");
camelia rakudo-moar 900f0b: OUTPUT«「foo baz」␤ b => 「baz」␤␤»
FROGGS no, it makes sense 15:59
timotimo enlighten me please 16:00
TimToady the implicit <.ws> stops LTM
after the "foo"
timotimo oooooh
FROGGS yes, that :o)
timotimo that's a nice wat
FROGGS I sorta know but can't explain
timotimo so with :r, ? on its own is kind of a ono-op? 16:01
TimToady m: grammar G { rule TOP { | "foo"\h+<a>? | "foo"\h+<b>? }; rule a { "bar" }; rule b { "baz" } }; say G.parse("foo baz");
camelia rakudo-moar 900f0b: OUTPUT«「foo baz」␤ b => 「baz」␤␤»
TimToady those two spaces I changed to \h+ to make them included in LTM
timotimo aye 16:02
16:02 ajr_ left
TimToady then LTM works, and incudes <b>, so it calls that subrule first 16:02
timotimo we ought to give people a tool for ides and such that points out exactly which parts will be part of ltm 16:03
FROGGS m: say <a a b b c c d d>.Bag.fmt('%s',',')
camelia rakudo-moar 900f0b: OUTPUT«a,b,c,d␤»
FROGGS j: say <a a b b c c d d>.Bag.fmt('%s',',')
camelia rakudo-jvm 900f0b: OUTPUT«b,a,d,c␤»
16:03 ajr joined
FROGGS there are tests that rely on ordering, and fail on jvm (only on jvm) 16:03
16:04 ajr is now known as Guest18493, Guest18493 is now known as ajr_, anaeem1_ left
timotimo why do they do that? 16:06
FROGGS I dunno 16:08
I guess I check it like that: 16:09
j: say <a a b b c c d d>.Bag.fmt('%s').lines.sort ~~ <a b c d>
camelia rakudo-jvm 900f0b: OUTPUT«True␤»
FROGGS or is there a shorter way?
timotimo turn them into a set? 16:11
like .keys.set eqv set <...>
TimToady sets are also unordered
TimToady doesn't know what .lines is doing there
16:12 salv01 left
TimToady there's only one line 16:12
16:12 anant joined
TimToady p6: say <a a b b c c d d>.Bag.fmt('%s') 16:13
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method fmt in type Bag␤ at /tmp/tmpfile line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤ a…»
..rakudo-jvm 900f0b: OUTPUT«b␤a␤d␤c␤»
..rakudo-{parrot,moar} 900f0b: OUTPUT«a␤b␤c␤d␤»
FROGGS m: say <a a b b c c d d>.Bag.fmt('%s').lines
camelia rakudo-moar 900f0b: OUTPUT«a b c d␤»
TimToady hmm, why the newlines?
FROGGS seems to be the default separator 16:14
m: say <a a b b c c d d>.Bag.fmt('%s', ',')
camelia rakudo-moar 900f0b: OUTPUT«a,b,c,d␤»
TimToady listy things are supposed to use ' ' as the default
FROGGS creates a rakudobug
TimToady unless it's thinking of it as a hash, but then where are the values? 16:15
p6: say <a a b b c c d d>.Bag
camelia niecza v24-109-g48a8de3: OUTPUT«bag("a" => 2, "b" => 2, "c" => 2, "d" => 2)␤» 16:16
..rakudo-{parrot,moar} 900f0b: OUTPUT«bag(a(2), b(2), c(2), d(2))␤»
..rakudo-jvm 900f0b: OUTPUT«bag(b(2), a(2), d(2), c(2))␤»
TimToady p6: say <a a b b c c d d>.Bag.list
camelia rakudo-{parrot,moar} 900f0b, niecza v24-109-g48a8de3: OUTPUT«a b c d␤»
..rakudo-jvm 900f0b: OUTPUT«b a d c␤»
16:16 anant left 16:18 liztormato joined
liztormato FROGGS: Wrt commenting out S17 tests. What would that achieve? 16:19
TimToady p6: say list <a a b b c c d d>.Bag
camelia niecza v24-109-g48a8de3: OUTPUT«bag("a" => 2, "b" => 2, "c" => 2, "d" => 2)␤»
..rakudo-{parrot,moar} 900f0b: OUTPUT«bag(a(2), b(2), c(2), d(2))␤»
..rakudo-jvm 900f0b: OUTPUT«bag(b(2), a(2), d(2), c(2))␤»
FROGGS liztormato: that we have clean spectests for the release?
liztormato FROGGS: Aren't they clean? I thought I fudged the failing ones? 16:20
Watch_path may be an exception 16:21
16:21 Adriaaan joined
FROGGS liztormato: that is how tests look like as of today: gist.github.com/FROGGS/35fb4a8a1573f2e732d2 16:21
16:22 btyler left, anant joined
anant Is there a builtin that returns the index of the minimum element in a list? 16:23
liztormato The S02 failures seem related to .fmt. Doesn't the jvm have .fmt? 16:24
Anant: try .min
Ah the index
Hmmmmm. Maybe we need min-index ? 16:25
16:25 btyler joined 16:26 Psyche^ joined
liztormato czechs further 16:26
anant liztormato: For example in R, there is which.min() and in ruby, we can do a.index(a.min) 16:28
liztormato FROGGS: I'm ok with disabling watchpath tests for release. The other S17 tests I'm not su sure 16:29
anant: You can do grep-index on the .min value already
16:30 Psyche^_ left
PerlJam liztormato: though that looks kind of awkward: @a.grep-index(@a.min(+*)) # find the index of the numerically minimum value 16:32
liztormato Not too different from Ruby it seems 16:34
Also, why the +* ? 16:35
If @a contains numbers, .min should do the right thing 16:36
PerlJam aye. I guess I was being paranoid or somethign
for instance, if you're reading in a list of numbers from a file, they're all strings until you do something to make them otherwise 16:37
liztormato True
anant liztormato: Thanks for pointing out grep-index :) Though min and max-index as builtins would be awesome too 16:39
TimToady well, but do you just want the first one, or all of them that match? 16:40
PerlJam the *-index functions all make me want to have some way to do that with just the non-index function. Like an option to grep that instead of returning the values that match, returns the indexes. Same for min/max/first/last/etc.
TimToady keeping things orthogonal means you can pick first vs grep
16:41 SamuraiJack joined
PerlJam anant: does ruby's .index return a list of matching indices? 16:41
16:42 rindolf left
TimToady of course, if grep is lazy, then first could be defined as .[0], but then it's a bit harder to optimize 16:42
anant PerlJam: first index only
liztormato Otoh. Its all lazy. So you could just ask for just the first em of a min-index
TimToady has a better keyboard 16:43
PerlJam so, I guess the p6 equivalent would be more like @a.first-index(* == @a.min) 16:44
(or the .[0] as TimToady suggested)
TimToady well, that's debatable; the latest lenovo carbon puts the tilde and backtick between right Alt and right Ctrl
and puts Home/End where the capslock should be 16:45
liztormato Still beats an iPhone keyboard
TimToady well, except capslock is supposed to be control, of course :)
the function keys are a capacitive strip that goes away when I suspend, so no function keys after that 16:46
but that's a Linux problem, I guess
well, okay, I'll grant you most phones don't have a great keyboard 16:47
otoh my lenovo doesn't have Siri... 16:48
liztormato ;)
16:52 ajr_ left
TimToady to the extent that we want Pairs to be like Lisp cons cells, I would note that the .car is rw, so it's not clear what the recent change of .key to readonly is worth 16:53
dalek kudo-star-daily: 4b28297 | coke++ | bin/star.sh:
today (automated commit)
kudo-star-daily: aa211df | coke++ | bin/star.sh:
moar moar
kudo-star-daily: 5c0a2e5 | coke++ | bin/star.sh:
moar moar
kudo-star-daily: ef07096 | coke++ | bin/star.sh:
moar moar
kudo-star-daily: 97fc396 | coke++ | bin/star.sh:
moar moar
kudo-star-daily: 213d2ad | coke++ | bin/star.sh:
moar moar
rl6-roast-data: ef6d8e3 | coke++ | / (6 files):
today (automated commit)
rl6-roast-data: 993785d | coke++ | / (6 files):
today (automated commit)
rl6-roast-data: ee365df | coke++ | / (6 files):
today (automated commit)
[Coke] FROGGS: ^^ Done
16:53 rindolf joined
[Coke] ... crap. I autopushed something that I had meant to condense first. 16:54
ah well
liztormato TimToady: If rw on Pair.key is ok, then we need to plug other holes
TimToady well, at least dalek is still alive
16:55 anant left, denis_boyun_ joined
liztormato .pairs on a bag allowed you to mess up things 16:55
TimToady the keys of a hash are not supposed to be containers unless you put a container in 'em as an object 16:56
liztormato Which is what sets/bags etc do 16:57
TimToady and if you do, it should be hashing on the object id, not the value
liztormato It does. But it needs to keep the original object around too 16:58
So a bag is internally a hash of pairs
[Coke] regarding #121943 - if we don't want more than one label for line, then that shouldn't compile.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121943
TimToady sounds to me like we want a different type than Pair for bag entries 17:01
17:01 rindolf left
TimToady or a Pair variant that has immutable keys 17:01
liztormato Perhaps
17:01 dakkar left
TimToady more like named args where the key is more fixed 17:01
but really, it sounds like there's some kind of identity foulup within bags to me 17:02
and use of Pairs sounds a bit like the X of an XY problem
liztormato Perhaps. I'm only one of the implementers
TimToady or is it the Y? :)
liztormato Hash.pairs should allow changing a key? And thus change the hash? 17:03
FROGGS[mobile] [Coke]: I think so too
TimToady a bag should be mapping the .WHICH to the count, not the object itself, in some sense
liztormato But .keys should give objects, no? 17:04
TimToady yes, but an object's identity doesn't change just because you modify its innards
m: my @array; say @array.WHICH; push @array, 42; say @array.WHICH 17:05
camelia rakudo-moar 900f0b: OUTPUT«Array|140391097832784␤Array|140391097832784␤»
liztormato Good point. Hmm
TimToady it's that identity that should be mapped in a hash or bag that allows objects in keys 17:06
and using Pair with a rw key introduces another container, is the problem I think
liztormato I will think about that over dinner& 17:07
TimToady okay
the other way to work it is to make a Cons type that works like a Lisp programmer would expect
TimToady needs to go wire up a bathroom fan... 17:08
17:08 rindolf joined
TimToady and I guess a cons type would be a native one of those, once we have native lvalues of some sort 17:09
but then => can't be used to cons things, if we enforce readonly key on Pair 17:10
so I'd rather not go that route if we can specialize Pair when we need to 17:11
17:11 liztormato_ joined
TimToady maybe a Named type for that, by analogy to named args 17:11
17:12 liztormato left, liztormato_ is now known as liztormato
timotimo don't have a good keyboard, but the schwartzian transform seems likeba good match for getting the index of the min/max element 17:13
iirc max and min have an as parameter 17:16
17:16 donaldh_ left 17:17 liztormato left 17:27 kurahaupo joined 17:32 anaeem1 joined
timotimo a by param 17:35
17:36 anaeem1 left
timotimo well schwartzian is not quite the right term 17:37
using .kv, comparing with a &by and mapping the value away if it is not needed 17:38
i am accumulating frustration 17:39
and my favorite irc channel is so quiet 17:40
colomon o/
17:43 Adriaaaan joined 17:46 anaeem1 joined, Rotwang joined, Adriaaan left 17:47 slava joined 17:48 slava is now known as slava-wr0k
slava-wr0k hi all 17:48
jnthn: moarvm is so awesome :D
[Coke] slava-wr0k: hio
slava-wr0k hi, [Coke]
I am a bit confused with using or in regex between two token, I have a token 'name' and a token 'ipv4', is the regex <name> | <ipv4> correct? also, where do I read about the differences between rules, tokens, regexes. I am looking at S05, but can't find the section 17:49
vendethiel slava-wr0k: see faq.perl6.org/ 17:52
"What's the difference between token and rule ?"
slava-wr0k ty 17:53
FROGGS / <name> | <ipv4> / is a valid regex, in case name and ipv4 also also regex rules
vendethiel (faq should probably have clickable headers) 17:58
slava-wr0k FROGGS: any idea if I can do that inside of another token? 17:59
as in: token host { <name> | <ipv4> }
vendethiel you can
FROGGS yes, you can do: token ipv4 { \d+ % '.' } 18:00
more like: token ipv4 { [\d+]+ % '.' } 18:01
timotimo or proto token host and then token host:ipv4 and token host:name 18:03
FROGGS true
timotimo depends on your use case
slava-wr0k timotimo: can multiple proto's be defined in a single grammar? 18:04
FROGGS then you could just pop an ipv6 in later, and it will parse :o)
18:04 guru joined
FROGGS slava-wr0k: one proto per short-name 18:04
18:04 guru is now known as Guest57523
slava-wr0k short name is the one before :sym? 18:04
18:04 raiph joined
FROGGS yes 18:04
slava-wr0k cool, ty
18:05 Guest57523 is now known as ajr_
slava-wr0k going to play with this more :) 18:05
FROGGS have fun :o)
slava-wr0k so, it seems that moarvm supports more features than rakudo/parrot
timotimo yes
FROGGS yeah, that is right
timotimo jvm has concurrency, which parrot lacks 18:06
slava-wr0k moarvm appears to have some concurrency as well
timotimo moar has the awesome unicode database, which jvm lacks
slava-wr0k yeah
timotimo that is correct
it may be less stable
because we did not have the chance to test concurrency extensively with moar 18:07
slava-wr0k so it seems to me that moarvm is going to be the "system scripting" oriented vm
timotimo but on jvm people have been testing and using stuff for years and years
yes, since it has such good start up time and memory usage
and it is going to have a jit compiler of its own this year 18:08
this year, a lot of performance improvements have happened for all backends but most work is visible in moar 18:09
colomon vendethiel: there's a FAQ for "What's the difference between token and rule ?" now? That's awesome. I've been at this, what, six, seven years now and I still routinely get them mixed up. 18:11
vendethiel hehe :) 18:13
18:13 molaf_ left
moritz faq.perl6.org/#token 18:15
slava-wr0k assertions are awesome :D 18:19
18:19 anaeem1__ joined
jnthn gets home safely from Poland/Czech trip 18:20
slava-wr0k: Glad you like it. There's plenty more awesome to come :) 18:21
18:22 anaeem1 left
timotimo oh jnthn 18:25
can you have a look at my gtk-simple example? 18:26
it shows weird behavior with supplies
18:26 SamuraiJack left
jnthn timotimo: I know about that. It's because closure cloning doesn't work out too well with nativecall yet. 18:26
timotimo clicking the second button causes the first buttons supply to more
ah! 18:27
how can we work around that?
jnthn 'cus it caches the call stuff too aggerssively
Well, we should just fix it...
timotimo never cache ever :)
jnthn It turns out that actually makes things worse.
18:27 itz joined
jnthn For our particular case, anyway. 18:27
'cus then the closure gets GC'd by the time C calls it, iirc 18:28
btyler speaking of the poland/Czech trip, does anyone know if there are videos available from either workshop? I know someone mentioned that plpw videos would be up soon (tm), but I'm not sure where to keep an eye out for them 18:29
timotimo i did not know it was something we could just fix 18:30
it sounded like a terribly tricky guts issue
filip sergot on twitter should be a good source on that info 18:31
18:31 sqirrel joined
timotimo and i will point out the links on the p6weekly 18:31
itz maybe not new but www.youtube.com/channel/UCAsxQEJp-...EDNjvLfjCA 18:33
btyler great, thanks timo. also, I saw you mention in the logs that p6weekly doesn't have the traffic you'd like -- I think it helps disproportionately to what the raw traffic numbers might show, just in terms of there being an easy place to link to for talking about p6 progress that isn't an irclog 18:34
18:35 zakharyas joined
btyler itz: oh, cool! I hadn't seen the nlpw ones. 18:37
timotimo thankbyou btyler
only do few videos up so far? 18:40
like, five?
is that being uploaded as we speak? 18:41
FROGGS wow, that fails like awesome: perl6-j t/spec/S03-operators/set.rakudo.jvm - java.lang.VerifyError: Expecting a stack map frame
and then like a gazillien lines of dumplings
18:42 spider-mario joined
timotimo yikes 18:43
jnthn FROGGS: Just realized...release day...you're probably blocking on me cutting the MoarVM monthly, I guess? 18:45
FROGGS jnthn: sort of... I am still testing/fixing and fudging, besides collection more changelog entries 18:46
collecting*
jnthn OK. Will work on the Moar release. 18:47
FROGGS thank you :o)
hmmm, a test from S05-mass also explodes on jvm... 18:48
Location:
190C2A58A5E8D736666709D2B3E28BB221E03BEC.qb_1$f3(I[Ljava/lang/Object;)I @59766: nop
jnthn ugh 18:49
FROGGS yeah...
18:49 shalom1024 joined
FROGGS I'm trying to golf that down now 18:49
timotimo jnthn, wouldba nativecall change be enough to fix gtk-simple with closure? it seems like no to me 18:54
18:56 darutoko left
dalek ast: efa39c5 | (Tobias Leich)++ | S02-types/ (6 files):
explicitly sort otherwise unordered results
18:57
18:59 fhelmberger joined
jnthn timotimo: Depends; one path we could take to fixing it just needs MoarVM changes 18:59
FROGGS damn, the jvm bug is a heisenbug :/ 19:02
19:04 fhelmberger left 19:05 ivanshmakov is now known as ivanshmakov|RST 19:08 ivanshmakov joined
FROGGS hmmm, it does not seem to fail on [Coke]++'s box 19:08
19:10 dwarring joined, ivanshmakov left, ivanshmakov joined 19:11 jeffreykegler joined
dalek q: 4420810 | thundergnat++ | answers.md:
Updated empty type gist example to current
19:13
19:15 arnsholt left, sjn left 19:16 arnsholt joined
timotimo but youbalreadybcut the release 19:16
our rather tagged it
19:16 sjn joined
timotimo or did you only change the version file? 19:17
FROGGS timotimo: not yet tagged as it seems 19:18
19:19 ivanshmakov|RST left
FROGGS I have no idea what to do about that jvm bug :/ 19:20
timotimo maybe it can happen :)
jnthn FROGGS: Different JVM version on [Coke]'s box, maybe? 19:22
FROGGS: www.moarvm.org/releases/MoarVM-2014.05.tar.gz
FROGGS that is likely
PerlJam um ...does Grammar::Debugger need updating for some recentish change? I now get "Cannot modify an immutable Bool" when I try to use it. 19:24
FROGGS thanks for the tarball, it builds on my box, which means that the MANIFEST is correct 19:25
PerlJam: do you get a line number? perhaps with --ll-exception? 19:26
jeffreykegler Hi! I have an interest in the history of parsing, and wanted to ask 3 questions about the history of Perl parsing. 19:27
PerlJam gist.github.com/perlpilot/8e1cb7bdf337df604ada
jeffreykegler First, to my knowledge, Perl 5 was the most elaborate and ambitious use of LALR parsing every made. I consider it the high point of the Age of
Right Parsing. Does anyone know of someone taking LALR even further?
(This would make being the most ambitious implementer of LALR ever is another in the long list of Larry's achievements, and one that's not unimportant.) 19:28
Second, I read into the choice *not* to use LALR for Perl 6, a judgement about the merits of LALR, but I've never come across anything in the record about this decision.
Third, assumming that my reading, that LALR was given up on, is correct, which of its problems played the biggest role? 19:29
In particular, what role did LALR's horrific development-time and runtime error reporting play? 19:30
And what role did observations about the Perl 5 life-cycle and maintenance cycle play?
FROGGS PerlJam: I think that happens here:
j: my class DebuggedGrammarHOW is Mu is Metamodel::GrammarHOW { has $!auto-continue = False; method test { $!auto-continue = False; } }; DebuggedGrammarHOW.new.test()
camelia rakudo-jvm 900f0b: OUTPUT«Cannot modify an immutable value␤ in method test at /tmp/twJvNkKvoU:1␤ in block at /tmp/twJvNkKvoU:1␤␤»
jeffreykegler Thanks! 19:31
FROGGS j: my class DebuggedGrammarHOW is Mu is Metamodel::GrammarHOW { has $!auto-continue is rw = False; method test { $!auto-continue = False; } }; DebuggedGrammarHOW.new.test()
camelia rakudo-jvm 900f0b: OUTPUT«useless use of 'is rw' on $!auto-continue␤Cannot modify an immutable value␤ in method test at /tmp/BZiS6H_3Qo:1␤ in block at /tmp/BZiS6H_3Qo:1␤␤»
FROGGS ohh 19:32
j: my class DebuggedGrammarHOW { has $!auto-continue = False; method test { $!auto-continue = False; } }; DebuggedGrammarHOW.new.test()
camelia ( no output )
cognominal jeffreykegler: As far as parsing is involved, Perl 5 is not complex. The dragons are in the hand made lexer. 19:33
19:36 denis_boyun_ left 19:37 zakharyas left, sqirrel left
vendethiel github.com/perl6/doc/pull/18 19:37
<= should I just merge these kind of PRs ? or do you guys prefer I don't touch ? 19:38
dalek c: 96d78a4 | (Steve Mynott)++ | lib/Str.pod:
add missing double quote
c: 5723876 | (Konrad Borowski)++ | lib/Str.pod:
Merge pull request #18 from stmuk/master

add missing double quote to pod example
jeffreykegler cognomial: my claim the the Perl 5 parser is a complex LALR parser is relative to other LALR parsers. If you look at the grammar and compare it to other attempts to use LALR, I think you'll characterize it as complex. 19:39
xfix vendethiel, well, forgiveness > permission.
vendethiel meh
jeffreykegler cognomial: Particularly if you've had the experience of trying to get even a simple grammar working with yacc, you'll find the Perl 5 LALR grammar stunningly ambitious.
vendethiel rules have meaning 19:40
xfix vendethiel, well, it was a simple syntax error.
vendethiel I know it was
but I know some people would rather not see "non-core" contributors merge PR - I can comprehend that
FROGGS vendethiel: if you can judge on your own that the PR is all right, the merge :o)
then* 19:41
vendethiel alrighty
FROGGS if you are unsure in either way, then don't touch it
m: sub foo(Int:U $x) { }; foo(42)
camelia rakudo-moar 900f0b: OUTPUT«Parameter '$x' requires a type object, but an object instance was passed␤ in sub foo at /tmp/xFpunIZkPK:1␤ in block at /tmp/xFpunIZkPK:1␤␤»
FROGGS j: sub foo(Int:U $x) { }; foo(42)ß
camelia rakudo-jvm 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/cRBkx2SrkZ␤Two terms in a row␤at /tmp/cRBkx2SrkZ:1␤------> sub foo(Int:U $x) { }; foo(42)⏏ß␤ expecting any of:␤ postfix␤ infix stopper␤ inf…»
FROGGS j: sub foo(Int:U $x) { }; foo(42) 19:42
camelia ( no output )
FROGGS I thought we fixed that for jvm?
xfix The changed part of documentation doesn't say anything about syntax error being intentional. Therefore, I think that could be quickly merged.
Also, there is no problem with merging pull requests, no matter how much you contribute to Perl 6.
If it looks fine, merge. 19:43
itz why is the modifier :g at the end of the Str.subst whereas the similar reg exp modifiers at the start?
xfix itz, because `:g` is symbol literal.
19:44 jeffreykegler left
jnthn itz: In subst it's just a regular argument 19:44
itz: You can put it earlier if you like
xfix Also.
rn: say "abcb".subst(:g, "b", "d")
camelia rakudo-{parrot,jvm,moar} 900f0b, niecza v24-109-g48a8de3: OUTPUT«adcd␤»
xfix : means keyword parameter here, so it doesn't matter where `:g` is.
itz oh I see .. I just had a typo
ty 19:45
xfix s/// is part of syntax, `:g` is keyword parameter (which means the same thing as g => True).
19:46 molaf joined
FROGGS lol, QAST::ParamTypeCheck is NYI for jvm 19:47
cognominal jeffreykegler, certainly. Perl 6 syntax needed a new scheme to be parsed. The engine is a mix of recursive descent parser and NFAs. It is written in Perl 6. Perl 6 contains integrated sublanguages (called slangs) that are tightly weaved together. That mean the concept of separating lexing and parsing was not much relevant anymore. So the designer have picked known technology, adapted them the Perl 6 context, but created a unified sy
ntax.
xfix The repositories in perl6 don't have to be perfectly clean, with exception for nqp (for which there is a separate group). There is a reason why it's easy to get perl6 repositories access.
Even if you do a small mistake, it can be easily reverted.
FROGGS because it is community ware 19:48
cognominal As a mere user, I am amazed by the power of the specification, and its implementation.
19:48 anaeem1__ left
xfix Consider perl6 repositories to be a wiki of sorts. It's very easy to get write access to them. 19:49
This is intentional.
19:50 Igrsrolqak joined
dalek ast: 7745496 | (Tobias Leich)++ | S17-supply/interval.t:
fudge test that needs working param type checks
19:50
19:51 Sqirrel joined
xfix Of course, it's nice to discuss with the community for bigger changes. 19:52
dalek ast: d8ba4a8 | (Tobias Leich)++ | S17-supply/m (2 files):
fudge test that needs working param type checks
19:53
19:53 denis_boyun joined
dalek ast: c37a304 | (Tobias Leich)++ | S17-supply/minmax.t:
fudge test that needs working param type checks
19:53
19:54 jeffreykegler joined 19:55 Igrsrolqak left
jeffreykegler congnomial: Thanks. I have looked at the Perl 6 parser. My questions were more directed at discovering *why* LALR was rejected in favor of left parsing. 19:55
The record does talk about how cool the new scheme is, and maybe that is the only reason ... 19:56
cognominal jeffreykegler, although the dynamic character of Perl 6 makes a C based compiler imposibble. 19:57
jeffreykegler But I wonder if there also wasn't a realization that LALR simply could not be taken another step further.
xfix jeffreykegler, it's harder to make good error messages with LALR for example.
Also, LALR doesn't work that well with dynamically changing grammars. 19:58
19:58 Vendethiel- joined
jeffreykegler And much of the reason that the Perl 5 lexer is a mess is that new stuff could not be added to the LALR parser, so the lexer has to do a lot of mini-parses locally. 19:58
xfix rn: sub infix:<!> { $^a + $^b * 2 }; say 3 ! 4;
itz Invalid opcode executed (corrupt bytecode stream?) opcode 11776
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Negation metaoperator not followed by valid infix at /tmp/tmpfile line 1:␤------> sub infix:<!> { $^a + $^b * 2 }; say 3 !⏏ 4;␤␤Parse failed␤␤»
..rakudo-{parrot,jvm,moar} 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Negation metaoperator not followed by valid infix␤at /tmp/tmpfile:1␤------> sub infix:<!> { $^a + $^b * 2 }; say 3 !⏏ 4;␤ expecting any of:␤ …»
19:58 vendethiel left
xfix rn: sub infix:<!!> { $^a + $^b * 2 }; say 3 !! 4; 19:58
camelia rakudo-{parrot,jvm,moar} 900f0b, niecza v24-109-g48a8de3: OUTPUT«11␤»
xfix Good luck parsing something like this with LALR.
Recompiling entire grammar just to add new operator is not an option, by the way. 20:01
20:02 telex left
jeffreykegler Dynamic extension of the grammar could clearly be another reason for the switch -- it's tricky for anything but a left parser. 20:03
My interest is historic but also practical --
there are still folks out there recommending LALR for certain purposes. 20:04
20:04 telex joined
jeffreykegler LALR was totally dominant in the literature for perhaps two decades, to the degree that if you took a parsing course, it was the only thing you were taught at one point. 20:05
Now it's reached the point where most new language designers don't seem to even consider it.\ 20:06
But for those who've not caught up, and think that serious parsing == LALR parsing, as was thought a few decades ago ... 20:07
[Coke] FROGGS: java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13) 20:08
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
dalek ast: 1c6b396 | (Tobias Leich)++ | S17-supply/ (2 files):
mark flapping tests as todo
cognominal jeffreykegler, LALR is inflexible but very fast so that was a good option when processors were slow.
jeffreykegler I like to point out the trend among LALR's greatest practitioners, Larry, I believe, being one of them, based on the Perl 5 parser.
FROGGS java -version 20:09
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
[Coke]: so, I am as dumb as before :o)
jeffreykegler The other examples I use at the GCC compilers, which switched away from LALR about 10 years ago.
And Ken Thompson, whose golang is designed to be left-parseable (though some go compilers do use LALR, I hear.) 20:10
slava-wr0k what am I doing wrong? pastebin.com/RRzr2Jfp
if I match against ipv4, the grammar matches, if I use host, it doesn't 20:11
20:11 btyler left
jeffreykegler So the turn from LALR is not just among a discontented faction, but has been joined by LALR's most prominent and successful users ... 20:12
Larry being one of them.
jnthn slava-wr0k: Not sure it's a problem here, but TOP looks like it wants to be a token here 20:14
jeffreykegler cognomial: yes, and arguments about speed did play a big role in making LALR dominant over past decades, but ... 20:15
note that the GCC compiler people care a lot about speed, and greater speed ...
is actually one of the central motives behind goland. 20:16
slava-wr0k jnthn: changing TOP to token doesn't change the work/no-work status :(
jeffreykegler * goland -> golang
cognominal jeffreykegler, in the functional world, they seem to like parsers based on combinators
jeffreykegler Yes, I've noticed. 20:17
jnthn slava-wr0k: I suspected it wouldn't. :( Did you try it under the debugger?
slava-wr0k not yet :P
jeffreykegler You could in a way call the Perl 6 strategy a combinator strategy, because it does try to mix operator precedence subparses ...
with left parsing. 20:18
slava-wr0k jnthn: looks like it's an issue calling the ipv4 token from host:sym<ipv4>
20:18 bluescreen10 left
cognominal jeffreykegler, I don't think combinators would pan out for Perl6 where context is everywhere. 20:18
FROGGS slava-wr0k: I think the <host> token dosnt get called
dalek rl6-roast-data: 74fcfff | coke++ | / (6 files):
today (automated commit)
20:19
jeffreykegler Frankly, parsing is a good example of a problem where the functional approach just does not work.
FROGGS slava-wr0k: because when you move ipv4's logic into it, it still does not work
jeffreykegler I am not saying there's not a lot to be gained from more use of functional programming ...
20:20 treehug88 left
jeffreykegler But parsing is a great example of a problem that looks like it should decompose in a functional way, but turns out to require context frequently. 20:21
slava-wr0k this is weird, but the host token does get called: pastebin.com/vpkU1xLK
cognominal jeffreykegler, depends on what you parse.
Vendethiel- "functional" doesn't mean "without context" :) 20:22
20:22 btyler joined
jeffreykegler Vendethiel: As I understand it, much of the promise of the functional approach lies in optimizations which are not possible in methods which depend on context. 20:23
Vendethiel- jeffreykegler: no, not really. you're just asked to explicitly carry the context 20:24
jeffreykegler Vendethiel: which means you know which methods do not use context and can take advantage of that. 20:25
cognominal eventually you get all the context in a big blob :(
jeffreykegler The word functional IIRC sometimes means "purely functional" and sometimes means "heavily driven by the functional point of view". 20:27
FROGGS slava-wr0k: put a {} after the capture in token octet 20:28
Vendethiel- well, what does "functional" mean, then :) ?
FROGGS slava-wr0k: this helps rakudo to compute the match object, so that $0 is actually filled 20:29
(and it terminates LTM) 20:30
slava-wr0k FROGGS: you mean <?{ 0 <= $0 <= 255 }> {} ?
jeffreykegler Vendethiel: re irclog.perlgeek.de/perl6/2014-05-22#i_8762115 -- that may be the last word :-)
FROGGS slava-wr0k: no, between the (...) and <?... 20:31
Vendethiel- jeffreykegler: why should that be ?
jeffreykegler Oh, just saying that it'
s true, indeed that the word functional means different things depending on who is using it and in what context. 20:32
Vendethiel- well, referential transparency is probably a good start
but you can have referential transparency with context 20:33
(see Reader, Writer, and obviously State) 20:34
slava-wr0k FROGGS: yup, that was it :D thank you 20:36
FROGGS \o/
slava-wr0k FROGGS: is this considered a bug?
jeffreykegler My experience has been that in dealing with the parsing problem, you wind up with a lot of important things stuffed into context.
20:36 kaare_ left
FROGGS yes, {} should not be needed to get a proper match object 20:36
slava-wr0k btw, this is on moarvm (dunno if it matters at this point or not)
FROGGS but that one is not easy to fix sadly
jnthn Not easy to fix?
FROGGS this happens on all backends as far as I know 20:37
slava-wr0k I'll just note it in my code, not a bigie IMO, but wondering if it's something that is already filed
jnthn In NQP we may hesitate for performance reasons, given many assertions needn't it.
jeffreykegler and to the point where if you trying to think within a functional paradigm, there are diminishing returns.
jnthn In Rakudo we can fix it
FROGGS jnthn: ohh, interesting
20:37 hummeleBop left
jnthn It should be a tweak in the appropriate action method I think 20:37
Same way we make it work for {...}
Just emit the thing to update $/ first.
FROGGS hmmmm
jnthn I'd look at it, but gotta do some emergency talk writing. 20:38
jnthn hopes this is the last talk he'll have to write until he does YAPC::EU ones, so he can dig back into coding soon :)
FROGGS jnthn: method codeblock looks good though 20:39
jnthn: that would be a long break of writing talks, no? :o) 20:40
Vendethiel- masak: WRT line-based stuff 20:41
do you think it's better to actually have a first pass for indented stuff, then a second one for actual content parsing ?
20:42 ajr_ left 20:43 guru joined, guru is now known as ajr_
dalek p: d4395c6 | (Tobias Leich)++ | VERSION:
bump VERSION to 2014.05
20:43
timotimo there is already a two pass parsing module for python-like input 20:44
jnthn FROGGS: Couple of months :P
20:44 spintronic joined
jnthn FROGGS: I need to figure out what to talk about at YAPC::EU yet... :) 20:44
FROGGS jnthn: yeah, that was my feeling also *g*
depends on what someone can implement until then :P
slava-wr0k jnthn: automatic parallelism of junctions? 20:45
timotimo knowing you, it will be about some exciting feature that was missing so far
20:45 molaf left
timotimo and suddenly it's there 20:45
slava-wr0k actually, jnthn can moarvm do native calls to C libs yet?
timotimo no pressure :)
nativecall is implemented already 20:46
for hyper operators we reallybwant compact arrays of known dimensions and use simd instructions in the vm 20:47
Vendethiel- is afraid he'll have to paste masak++'s text::indented :(
dalek p: 8af9902 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
bump MoarVM revision to 2014.05
timotimo rather than threading out to multiple interpreter threads
except for things that we can not turn into simple simd operations like >>.Str or something 20:48
jnthn slava-wr0k: Yeah, nativecall works as well as on any other backend, afaik
slava-wr0k jnthn: I owe you many beers :)
timotimo all backends havebthe closure cloning problem?
jnthn slava-wr0k: And is probably faster then on Parrot, though that's based on knowing how the two work rather than measurement... :) 20:49
Vendethiel- "undeclared routine : does". welp
jnthn timotimo: I strongly suspect so.
Vendethiel- oh, I need also
m: class A {}; class B; also does A;
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/ZrtNaYQFwj␤Too late for semicolon form of class definition␤at /tmp/ZrtNaYQFwj:1␤------> class A {}; class B; ⏏also does A;␤ expecting any of:␤ statement list…»
Vendethiel- m: class B; also does Positional;
camelia ( no output )
Vendethiel- m: grammarB; also does Positional; 20:50
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/5v1jwlWXeo␤Cannot call 'trait_mod:<does>'; none of these signatures match:␤:(Mu:U $doee, Mu:U $role)␤at /tmp/5v1jwlWXeo:1␤------> ␤»
Vendethiel- "Text::Indented is not composable" 20:51
jnthn Vendethiel-: Did you does a class? 20:52
Vendethiel- no, a grammar
but the idea is the same :-)
jnthn "is" for inheritance...
Vendethiel- well, I'd have liked to be able to compose grammar, but I guess is does the job too :) 20:53
jnthn Well, you can always put rules in a role 20:54
And compose them into some other grammar
We do that in the Perl 6 grammar
20:54 raiph left
Vendethiel- yeah, definitely. 20:54
20:57 itz left
Vendethiel- m: gist.github.com/Nami-Doc/8856f534457e7d86de16 20:58
camelia rakudo-moar 900f0b: OUTPUT«gist not found»
Vendethiel- why.
m: gist.githubusercontent.com/Nami-Do...tfile1.txt
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/Ty1Vjogn8Z␤Two terms in a row␤at /tmp/Ty1Vjogn8Z:1␤------> https⏏://gist.githubusercontent.com/Nami-Doc/8␤ expecting any of:␤ argument list␤ postfix…»
Vendethiel- m: gist.github.com/Nami-Doc/8856f534457e7d86de16 #PLS
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/mnHTiitCuq␤Two terms in a row␤at /tmp/mnHTiitCuq:1␤------> https⏏://gist.github.com/Nami-Doc/8856f534457e␤ expecting any of:␤ argument list␤ postfix…»
20:59 spider-mario left
Vendethiel- i don't like you either, camelia 21:00
21:03 SevenWolf joined, dayangkun left 21:04 xenoterracide left, xenoterracide_ joined 21:05 Sqirrel left
Vendethiel- duhu, what ? I'm getting strange stuff when printing a Match : i.imgur.com/L4mQdZJ.png 21:05
how, is that "those" quote ?
m: say "a" ~~ (my regex { 'a' })
camelia rakudo-moar 900f0b: OUTPUT«「a」␤␤»
21:06 skids left, Sqirrel joined
FROGGS Vendethiel-: these are meant top be corner quotes... but, well, you font... :/ 21:10
your*
Vendethiel- FROGGS: cmd.exe*
FROGGS I've seen that
21:10 Rotwang left
FROGGS we have code that decide about emitting color codes or not... perhaps we should do the same for corner quotes 21:11
for everyone to test: froggs.de/perl6/nqp-2014.05.tar.gz
21:11 jeffreykegler left
Vendethiel- FROGGS: cmd.exe supports colors 21:12
jnthn Corner brackets for out for me, but I'm running ConEmu... 21:13
FROGGS Vendethiel-: you've seen colored error messages from rakudo?
Vendethiel- FROGGS: no
but I've seem some from other stuff :)
jnthn FROGGS: ConEmu can certainly re-interpret ANSI color codes...
FROGGS: Which is how I get them in errors
FROGGS yeah, I had colors once after I installed git or so
jnthn Git cheats though :P 21:14
Vendethiel- why ?
jnthn It's actually invoking sh at some points along the way
Vendethiel- haha
jnthn I figure then some wrapper is doing a mapping along the way
Vendethiel- m: class Node { ...}; Node.new;
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/z6PIZiow3o␤The following packages were stubbed but not defined:␤ Node␤at /tmp/z6PIZiow3o:1␤------> class Node { ...}; Node.new;⏏<EOL>␤ expecting any of:␤ …»
Vendethiel- m: class Node { ...}; class NotNode is Node {}; NotNode.new; 21:15
camelia rakudo-moar 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/GKkhxr8V5Z␤The following packages were stubbed but not defined:␤ Node␤at /tmp/GKkhxr8V5Z:1␤------> ; class NotNode is Node {}; NotNode.new;⏏<EOL>␤ expecting any …»
21:15 Sqirrel left 21:16 Sqirrel joined 21:17 dayangkun joined
dalek kudo/nom: 8bda08e | (Tobias Leich)++ | docs/ChangeLog:
add two more changelog entries
21:20
FROGGS >>> last call for rakudo changelog entries <<<
Vendethiel- aaaah I've got no idea what I'm doing >_> 21:24
FROGGS here is a list of commit titles covered by the release: gist.github.com/FROGGS/7c32b757c1472578e733
21:30 rindolf left 21:31 anant joined
Vendethiel- m: say (Array[Int].new(5)).list.perl 21:32
camelia rakudo-moar 900f0b: OUTPUT«Array[Int].new(5)␤»
anant r: for ^^^^^^^^^^^3 X ^^^^^^^^^^^^2 -> $a, $b { say $a, $b } 21:36
camelia rakudo-{parrot,jvm,moar} 900f0b: OUTPUT«00␤01␤10␤11␤20␤21␤» 21:37
anant Is this expected behavior?
21:38 virtualsue left
flussence r: say 1..3..3 21:38
camelia rakudo-{parrot,jvm,moar} 900f0b: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Operators '..' and '..' are non-associative and require parenthesis␤at /tmp/tmpfile:1␤------> say 1..3.⏏.3␤ expecting any of:␤ postfix…»
FROGGS m: say ^^^^^^^^^^^3, ^^^^^^^^^^^^2
camelia rakudo-moar 900f0b: OUTPUT«0..^30..^2␤»
flussence r: say 1..(3..3); say (1..3)..3;
camelia rakudo-moar 900f0b: OUTPUT«Range objects are not valid endpoints for Ranges␤ in method new at src/gen/m-CORE.setting:7387␤ in sub infix:<..> at src/gen/m-CORE.setting:7562␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 900f0b: OUTPUT«Range objects are not valid endpoints for Ranges␤ in method new at gen/jvm/CORE.setting:7328␤ in sub infix:<..> at gen/jvm/CORE.setting:7503␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 900f0b: OUTPUT«Range objects are not valid endpoints for Ranges␤ in method new at gen/parrot/CORE.setting:7334␤ in method new at gen/parrot/CORE.setting:7326␤ in sub infix:<..> at gen/parrot/CORE.setting:7509␤ in block at /tmp/tmpfile:1␤␤»
FROGGS anant: looks like, yes
anant FROGGS: oh! 21:39
flussence m: say ^4 XZXZXZXZXZXZXZXZ ^3; #reminds me of this 21:40
camelia rakudo-moar 900f0b: OUTPUT«0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 3 0 3 1 3 2␤»
anant I'm surprised this is allowed 21:41
timotimo why would we forbid that? 21:42
PerlJam m: my $a = ^3; say ^$a;
camelia rakudo-moar 900f0b: OUTPUT«0..^3␤»
timotimo jnthn: the last argument to g_signal_connect_wd is the user data; so maybe i could have a single supply that connects to all buttons and i return supplies from "clicked" that .grep for the right user data in the shared supply? 21:43
anant timotimo: I thought a meta-operator only works on an ordinary operator, not on another meta-operator (reading perl6advent.wordpress.com/2010/12/0...perators/) 21:44
jnthn timotimo: That is also a possibility
timotimo anant: a meta-operator is an ordinary operator :) 21:45
jnthn timotimo: Though might be better just to fix the closure stuff, no...
timotimo jnthn: have no idea where to look for that.
jnthn nativecall.c :P
Especially the callback caching stuff
anant timotimo: oh! 21:46
timotimo actually. the second-to-last argument is the user data, which is OpaquePointer AKA null pointer each time we use it so far
dalek kudo/nom: 5ad1eaf | (Tobias Leich)++ | docs/announce/2014.05.md:
added announcement for 2014.05
FROGGS please review -------^
timotimo anant: wouldn't be any use if a meta'd operator wasn't something you could metaop again
and if you can metaop a metaop'd op, you have to be able to metaop a metaop'd metaop'd op
anant timotimo: ah okay 21:47
FROGGS hehe
timotimo ah, so the callback cache currently only inspects the cuid of something 21:48
jnthn timotimo: ~Right.
21:49 BenGoldberg joined
dalek ast: 3d9a9dd | (Tobias Leich)++ | S03-smartmatch/signature-signature.t:
temporary comment out single test
21:49
timotimo which op do i look at to figure out what closure cloning does? takeclosure?
jnthn yeah 21:51
But really it's just making a different MVMCode
That share the underlying MVMStaticFrame
timotimo not quite sure how to disambiguate in this case. 21:52
i can hardly note the address of the MVMCode
jnthn Well, the cache'll need changing I guess...
Right
timotimo looking at MVMCode.c right now
and frame.c
jnthn Well, we could have cuid mapped not to one cache entry
But instead to a list of them
21:52 Adriaaaan left
jnthn So a cache lookup seeks cuid match AND then hunts for matching code object 21:52
timotimo the cache will be something the GC has to know about, then
jnthn I think it maybe already does... 21:53
It must, I guess
timotimo and at that point the address could be compared?
jnthn 'cus it keeps a code object reference...
Right, 'cus it'd be up to date
timotimo that'll also make sure callbacks that go to C land don't get gc'd
jnthn indeed
That's good and bad :)
Good for Gtk, anyways. ;)
timotimo yes, ownership handling is tough 21:54
i suppose nativecall will want an "unregister callback" op or something
and you'll have to carry a reference to it around
that seems ugly ugly ugly
dalek kudo/nom: d48629d | (Tobias Leich)++ | docs/release_guide.pod:
update release dates
timotimo but what C does is completely invisible to us
jnthn Welcome to C :P 21:55
Simple language. So simple it doesn't come with a memory model. :P
dalek kudo/nom: 8481d90 | (Tobias Leich)++ | tools/build/NQP_REVISION:
[release] bump NQP revision
21:56
timotimo jnthn: got some code i could cargocult for a hash of lists? 21:57
21:57 silug joined
dalek kudo/nom: 85bcd7a | (Tobias Leich)++ | VERSION:
[release] bump VERSION
21:57
jnthn timotimo: Nope, sorry 21:58
timotimo: Occurs to me we could do a linked list scheme though
Of MVMNativeCallback
timotimo that was my first thought, too
since we won't be removing any as of yet 21:59
jnthn Linked lists support deletion :P
timotimo er. yeah.
jnthn Hm, I think actually I'd:
timotimo "I'd (and you'll)" :)
jnthn 1) In MVMNativeCallback remove the hash thing, and add a ->next 22:00
22:00 anant left
jnthn 2) Create a MVMNativeCallbackCacheHead, that has the hash thing, and a ->callback_head pointer to the head of the list 22:00
And then update the cache to use the latter
Just a bit clear data structure wise.
*cleaner
timotimo -> #moarvm 22:01
jnthn sure :)
22:15 Sqirrel left 22:16 lizmat joined 22:18 eMBee left
dalek ast: ee6df08 | (Tobias Leich)++ | S17-supply/start.t:
mark another test as flapping
22:19
22:19 eMBee joined 22:21 denis_boyun left
FROGGS jnthn: can you put the moarvm tarball on moarvm.org? 22:28
22:28 donaldh_ joined 22:33 Sqirrel joined 22:34 skids joined
jnthn I linekd it earlier 22:34
Just didn't update the web page yet
www.moarvm.org/releases/MoarVM-2014.05.tar.gz 22:35
Will probably get to that tomorrow, I should rest now...
FROGGS jnthn: gnight :o) 22:37
jnthn 'night, #perl6 22:38
flussence o/
22:38 woolfy joined 22:42 xenoterracide_ left
timotimo tadzik: any idea why the terminal would be sitting still and not using much cpu after outputting: 22:46
==> Reinstalling Term::ANSIColor Debugger::UI::CommandLine NativeCall ufo
in the rebootstrap process?
masak: wtb ufo commitbit 22:48
22:51 rurban left 22:55 donaldh_ left
flussence I've caused something weird with threads, but I'm not in any hurry to get it fixed... I'll just leave it here: gist.github.com/flussence/c1f782ea8616611d75c9 22:57
23:00 fhelmberger joined, rurban joined 23:04 fhelmberger left 23:05 rurban left 23:08 spintronic left 23:09 rurban joined 23:11 raiph joined
timotimo oh, that's cute 23:20
i'm having a frustrate with pointers 23:22
23:26 woolfy left 23:33 kurahaupo left
timotimo i has a bug fixed! 23:43
23:43 rurban left
dalek k-simple: e21417a | (Timo Paulssen)++ | / (2 files):
no longer need these debugging messages

this was a bug in nativecall on moarvm. it used to dispatch a callback based on the cuid alone, ignoring that multiple closure-clones of the same cuid can exist.
23:59