»ö« 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:01 ghostlines joined 00:06 erkan joined 00:08 immortal left 00:12 daxim joined 00:17 aborazmeh joined 00:21 aborazmeh left 00:22 ghostlines left 00:27 Hor|zon joined, eternaleye joined 00:31 Hor|zon left 01:13 kst` is now known as kst 01:20 raiph joined 01:21 raiph left 01:34 kyun joined 01:35 grettis left 01:43 Alula left 01:46 Alula joined 01:49 haiveu joined 01:51 haiveu left 02:07 Alula left
tony-o colomon: sorry it took so long to take PR, phone wouldn't let me do it 02:24
.tell brrt i can't duplicate the moar segfault on yosemite, it built 3 times without failure - 02:25
yoleaux tony-o: I'll pass your message to brrt.
tony-o oops - that was for bbkr
.tell bbkr couldn't duplicate moar build segfault on yosemite. was able to reproduce your bug @ rt.perl.org/Public/Bug/Display.html?id=122803 02:27
yoleaux tony-o: I'll pass your message to bbkr.
02:27 Hor|zon joined
tony-o .tell brrt sorry, previous message was meant for someone else ^^ 02:27
yoleaux tony-o: I'll pass your message to brrt.
02:32 Hor|zon left 02:41 treehug88 left 02:45 noganex_ joined 02:46 colomon left 02:48 colomon joined
colomon tony-o++ 02:49
02:53 yeahnoob joined 03:08 chenryn joined 03:14 mauke_ joined
dalek osystem: c28dce0 | colomon++ | META.list:
Give IoC back to Jason May.
03:16
03:17 mauke left 03:18 mauke_ is now known as mauke 03:24 SamuraiJack joined
tony-o colomon: what OS are you on? the META.info still causes it not to build on on OSX - Pluggable is available in the ecosystem, not sure why Panda won't recognize it 03:29
make VIMRUNTIMEDIR=/usr/share/vim/vim74 03:30
colomon I'm on both OS X and Linux. I'll give it a try. 03:32
Hmmm. I get HTTP::Server::Async test failures building on Linux. 03:33
tony-o i'm getting those too, are you running panda with --nodeps
colomon no? I don't even know what --nodeps is
tony-o i'm trying to fix them but yosemite update broke my vim
panda install --nodeps ignores dependencies in Meta 03:34
colomon Pluggable successfully installed on both of them.
you might need to do panda update?
tony-o i'll give it a shot
colomon I get the same test failures on OS X, too
03:34 SamuraiJack left
tony-o hmm..does panda attempt to get Pluggable for you? i removed it and panda install fails for HTTP Server Async 03:38
with the error it can't find Pluggable on the system, with no attempt to download it
03:38 rindolf joined 03:39 chenryn left
tony-o colomon: ^^ 03:45
colomon tony-o: yes, panda successfully installs pluggable.
what rakudo are you using?
tony-o his is perl6 version 2014.09-261-g8bcdfd2 built on MoarVM version 2014.09-54-g03ac9a7 03:46
03:46 chenryn joined 03:58 araujo left 04:12 bjz joined 04:17 kyun_ joined 04:19 kyun left 04:20 kyun_ is now known as kyun 04:23 xenoterracide_ joined 04:26 [Sno] left 04:28 Hor|zon joined 04:29 chenryn left 04:33 Hor|zon left 04:42 xenoterracide_ left 04:46 ggoebel111111110 joined 04:48 jack_rabbit joined 04:50 ggoebel11111119 left 05:15 chenryn joined 05:17 ecocode joined, kaare_ joined 05:18 [Sno] joined 05:22 jack_rabbit left 05:38 thou left 05:50 avuserow joined 05:53 gfldex joined 06:17 garyaj joined 06:20 rurban joined
masak g'm'ng, #perl6 06:28
raydiak \o masak
06:33 Hor|zon joined, Isp-sec joined, garyaj left
raydiak g'night #perl6 06:33
06:34 Hor|zon left 06:49 bjz left 06:51 erkan left, j4jackj left, woolfy left, notfix left, abraxxa left, kaare_ left, rindolf left, eternaleye left, yukko left, cosimo_ left, geekosaur left, kyun left, Guest1419 left, sjn left, pochi_ left, yeahnoob left, daxim left, PZt left, chenryn left, Akagi201_ left, amkrankr1leuen left, tardisx left, nebuchadnezzar left, [Coke] left, ChoHag left, avuserow left, ggoebel111111110 left, amkrankruleuen left, hoelzro left, Timbus left, exixt left, tadzik left, SHODAN left, sergot left, pmichaud left, raydiak left, yeltzooo left, BinGOs left, jtpalmer left, mst left, charsbar____ left, jdv79 left, diegok left, BooK left, ivan`` left, arnsholt left, mtj_ left, tony-o left, nhayashi left, ecocode left, colomon left, noganex_ left, epochbell left, Pleiades` left, hugme left, synopsebot left, Maddingue left, ingy left, lestrrat left, revdiablo left, coffeeyy_ left, smash left, dg left, Isp-sec left, [Sno] left, wtw left, woshty left, ruoso left, betterwo1ld left, risou left, avar left, yoleaux left, gfldex left, rmgk left 07:02 bjz_ joined, rmgk joined, Guest58887 joined, Khisanth joined, jac50 joined, aindilis joined, sivoais joined, simcop2387 joined, btyler_ joined, cotto joined, kurahaupo joined 07:07 cibs joined 07:17 thou joined, Isp-sec joined, avuserow joined, [Sno] joined, kaare_ joined, ecocode joined, chenryn joined, ggoebel111111110 joined, rindolf joined, yeahnoob joined, colomon joined, noganex_ joined, eternaleye joined, daxim joined, erkan joined, j4jackj joined, woolfy joined, Akagi201_ joined, amkrankr1leuen joined, Guest1419 joined, yukko joined, notfix joined, amkrankruleuen joined, wtw joined, PZt joined, abraxxa joined, nebuchadnezzar joined, cosimo_ joined, sjn joined, hoelzro joined, pochi_ joined, epochbell joined, woshty joined, geekosaur joined, renormalist joined, pecastro joined, anocelot_ joined, jnthn joined, tinita joined, dalek joined, _sri joined, ugexe joined, Possum joined, oskie joined, esaym153 joined, timotimo joined, ilbot3 joined, Alina-malina joined, Celelibi joined, djanatyn joined, lizmat joined, Util joined, camelia joined, [Tux] joined, Exodist joined, bartolin joined, xinming joined, haroldwu joined, vladtz joined, masak joined, sftp joined, slavik joined, go|dfish joined, jantore joined, b2gills joined, frew joined, carlin joined, funjon joined, ponbiki joined, muraiki joined, itz joined, japhb joined, Rounin joined, TuxCM joined, davido_home joined, skarn joined, MilkmanDan joined, cxreg joined, Tekk_ joined, pierrot joined, grep0r joined, brother joined, robinsmidsrod joined, vukcrni joined, gtodd joined, yogan joined, ggherdov joined, dylanwh joined, hobbs joined, nickpatch joined, sorear joined, mattp_ joined, flussence joined, DarthGandalf joined, asimov.freenode.net sets mode: +v camelia, lue joined, baest joined, Grrrr joined, yakudza joined, Woodi joined, stux|RC-only joined, sunnavy joined, krunen joined, rjbs joined, atta joined, [particle] joined, broquaint joined, oetiker_ joined, huf joined, petercommand joined, TimToady joined, integral joined, mathw joined, isacloud______ joined, mephinet joined, labster joined, mtj joined, ntln- joined, Juerd joined, jercos joined, bonsaikitten joined, dagurval_ joined, bcode joined, clkao joined, ClarusCogitatio joined, \00 joined, Bucciarati joined, Gothmog_ joined, breinbaas joined, moritz joined, awwaiid joined, zoosha joined, m_athias joined, Timbus joined, exixt joined, [Coke] joined, tadzik joined, sergot joined, pmichaud joined, Pleiades` joined, ChoHag joined, raydiak joined, ruoso joined, betterwo1ld joined, hugme joined, dg joined, smash joined, coffeeyy_ joined, revdiablo joined, lestrrat joined, ingy joined, Maddingue joined, synopsebot joined, jdv79 joined, risou joined, yeltzooo joined, BinGOs joined, SHODAN joined, diegok joined, avar joined, yoleaux joined, jtpalmer joined, tardisx joined, mst joined, charsbar____ joined, BooK joined, ivan`` joined, tony-o joined, arnsholt joined, mtj_ joined, nhayashi joined, asimov.freenode.net sets mode: +vv hugme yoleaux, thou left 07:18 m_athias left, m_athias joined
moritz tadzik: ping 07:18
tadzik moritz: pong
I didn't oversleep :)
masak oversleep for what?
today is marked as a Perl 6 day in my $work calendar.
I'm going to steal some of it for $work, but I will also make it a goal to blog today.
moritz tadzik: just wanted to make sure you got my email and have all the relevant contact information
tadzik moritz: I think so :)
moritz masak: also, t5 :-)
masak *nod*
moritz++
tadzik ;)
moritz: expect me to do a dry-run for the correctness of the phone number provided :)
07:34 cibs left, kurahaupo left, bjz_ left, rmgk left, Guest58887 left, Khisanth left, jac50 left, aindilis left, sivoais left, simcop2387 left, btyler_ left, cotto left, ugexe left, lizmat left, erkan left, j4jackj left, woolfy left, notfix left, abraxxa left, jnthn left, tinita left, Possum left, timotimo left, ilbot3 left, [Tux] left, Exodist left, kaare_ left, rindolf left, eternaleye left, yukko left, cosimo_ left, geekosaur left, Guest1419 left, sjn left, pochi_ left, carlin left, frew left, yeahnoob left, daxim left, PZt left, anocelot_ left, dalek left, Celelibi left, TuxCM left, pierrot left, brother left, yogan left, ggherdov left, mattp_ left, Woodi left, TimToady left, integral left, mephinet left, ntln- left, Juerd left, jercos left, zoosha left, m_athias left, chenryn left, Akagi201_ left, amkrankr1leuen left, oskie left, itz left, skarn left, grep0r left, dylanwh left, sorear left, flussence left, DarthGandalf left, baest left, stux|RC-only left, [particle] left, oetiker_ left, tardisx left, nebuchadnezzar left, Alina-malina left, xinming left, davido_home left, MilkmanDan left, robinsmidsrod left, yakudza left, sunnavy left, rjbs left, breinbaas left, [Coke] left, ChoHag left, avuserow left, ggoebel111111110 left, japhb left, cxreg left, gtodd left, lue left, amkrankruleuen left, hoelzro left, pecastro left, _sri left, djanatyn left, bartolin left, vukcrni left, hobbs left, broquaint left, isacloud______ left, labster left, bonsaikitten left, clkao left, bcode left, ClarusCogitatio left, \00 left, moritz left, awwaiid left, Timbus left, exixt left, tadzik left, SHODAN left, esaym153 left, sftp left, slavik left, go|dfish left, muraiki left, Rounin left, krunen left, huf left, dagurval_ left, sergot left, pmichaud left, raydiak left, yeltzooo left, BinGOs left, jtpalmer left, mst left 07:35 charsbar____ left, jdv79 left, diegok left, BooK left, ivan`` left, arnsholt left, mtj_ left, tony-o left, nhayashi left, ecocode left, colomon left, noganex_ left, epochbell left, renormalist left, ponbiki left, nickpatch left, Grrrr left, atta left, mathw left, mtj left, funjon left, Pleiades` left, hugme left, synopsebot left, Maddingue left, ingy left, lestrrat left, revdiablo left, coffeeyy_ left, smash left, dg left, vladtz left, Isp-sec left, [Sno] left, wtw left, woshty left, Util left, camelia left, haroldwu left, masak left, jantore left, b2gills left, petercommand left, Bucciarati left, Gothmog_ left, Tekk_ left, ruoso left, betterwo1ld left, risou left, avar left, yoleaux left, rurban left, mauke left, kst left 07:37 nhayashi joined, mtj_ joined, arnsholt joined, tony-o joined, ivan`` joined, BooK joined, charsbar____ joined, mst joined, tardisx joined, jtpalmer joined, yoleaux joined, avar joined, diegok joined, SHODAN joined, BinGOs joined, yeltzooo joined, risou joined, jdv79 joined, synopsebot joined, Maddingue joined, ingy joined, lestrrat joined, revdiablo joined, coffeeyy_ joined, smash joined, dg joined, hugme joined, betterwo1ld joined, ruoso joined, raydiak joined, ChoHag joined, Pleiades` joined, pmichaud joined, sergot joined, tadzik joined, [Coke] joined, exixt joined, Timbus joined, zoosha joined, awwaiid joined, moritz joined, breinbaas joined, Gothmog_ joined, Bucciarati joined, \00 joined, ClarusCogitatio joined, clkao joined, asimov.freenode.net sets mode: +vv yoleaux hugme, bcode joined, dagurval_ joined, bonsaikitten joined, jercos joined, Juerd joined, ntln- joined, mtj joined, labster joined, mephinet joined, isacloud______ joined, mathw joined, integral joined, TimToady joined, petercommand joined, huf joined, oetiker_ joined, broquaint joined, [particle] joined, atta joined, rjbs joined, krunen joined, sunnavy joined, stux|RC-only joined, Woodi joined, yakudza joined, Grrrr joined, baest joined, lue joined, DarthGandalf joined, flussence joined, mattp_ joined, sorear joined, nickpatch joined, hobbs joined, dylanwh joined, ggherdov joined, yogan joined, gtodd joined, vukcrni joined, robinsmidsrod joined, brother joined, grep0r joined, pierrot joined, Tekk_ joined, cxreg joined, MilkmanDan joined, skarn joined, davido_home joined, TuxCM joined, Rounin joined, japhb joined, itz joined, muraiki joined, ponbiki joined, funjon joined, carlin joined, frew joined, b2gills joined, jantore joined, go|dfish joined, slavik joined, sftp joined, masak joined, vladtz joined, haroldwu joined, xinming joined, bartolin joined, Exodist joined, [Tux] joined, camelia joined, Util joined, lizmat joined, djanatyn joined, Celelibi joined, Alina-malina joined, ilbot3 joined, timotimo joined, esaym153 joined, oskie joined, Possum joined, ugexe joined, _sri joined, dalek joined, tinita joined, jnthn joined, anocelot_ joined, pecastro joined, renormalist joined, geekosaur joined, woshty joined, epochbell joined, pochi_ joined, hoelzro joined, sjn joined, asimov.freenode.net sets mode: +v camelia, cosimo_ joined, nebuchadnezzar joined, abraxxa joined, PZt joined, wtw joined, amkrankruleuen joined, notfix joined, yukko joined, Guest1419 joined, amkrankr1leuen joined, Akagi201_ joined, woolfy joined, j4jackj joined, erkan joined, daxim joined, eternaleye joined, noganex_ joined, colomon joined, yeahnoob joined, rindolf joined, ggoebel111111110 joined, chenryn joined, ecocode joined, kaare_ joined, [Sno] joined, avuserow joined, Isp-sec joined, m_athias joined, sivoais_ joined, kurahaupo joined, virtualsue joined, bjz_ joined, rmgk joined, Guest58887 joined, Khisanth joined, jac50 joined, aindilis joined, simcop2387 joined, btyler_ joined, cotto joined, FROGGS joined 07:39 darutoko joined 07:40 rurban joined, mauke joined, kst joined, erdic joined, vike joined, pdcawley joined, retupmoca joined, silug joined, kshannon joined, peteretep joined, leedo joined, nine_ joined, apejens joined, mls joined, ribasushi joined, ribasushi left 07:43 ribasushi joined 07:45 ugexe left 07:50 cibs joined, cibs left, ugexe joined, cibs joined 07:55 cognominal joined
sergot hi o/ 07:57
masak hi, sergocie \o
sergot cześć masaku! :) 07:59
08:04 TuxCM left 08:05 Hor|zon joined 08:16 TuxCM joined 08:19 fhelmberger joined 08:20 Alina-malina left, Alina-malina joined 08:27 cognominal left 08:32 sqirrel joined 08:33 zakharyas joined 08:42 smls joined 08:43 thou joined 08:48 thou left 08:52 virtualsue left 09:06 kjs_ joined 09:07 ghostlines joined 09:10 grep0r left 09:15 grep0r joined 09:18 rmgk_ joined, rmgk is now known as Guest78395, Guest78395 left, rmgk_ is now known as rmgk, Isp-sec left 09:21 pochi_ left, pochi joined 09:35 ghostlines left 09:38 ghostlines joined 09:40 virtualsue joined 09:47 grondilu joined, pdcawley left 09:48 brrt joined 09:49 frew left, yeahnoob left
brrt tony-o - i can try and make moar segfault on os x yosemite too :-) 09:50
yoleaux 02:25Z <tony-o> brrt: i can't duplicate the moar segfault on yosemite, it built 3 times without failure -
02:27Z <tony-o> brrt: sorry, previous message was meant for someone else ^^
09:53 sivoais_ left, avuserow left, ggoebel111111110 left, japhb left, cxreg left, gtodd left, lue left, sivoais_ joined, avuserow joined, ggoebel111111110 joined, japhb joined, cxreg joined, gtodd joined, lue joined 09:54 cxreg left, pdcawley joined 09:55 pdcawley left, fhelmberger left, rurban left, mauke left, kst left, erdic left, vike left, retupmoca left, silug left, kshannon left, peteretep left, leedo left, nine_ left, apejens left, mls left 09:56 pdcawley joined, fhelmberger joined, rurban joined, mauke joined, kst joined, erdic joined, vike joined, retupmoca joined, silug joined, kshannon joined, peteretep joined, leedo joined, nine_ joined, apejens joined, mls joined, cxreg joined
smls How usable is «Buf» these days? 09:57
09:58 grondilu left, Alina-malina left, nebuchadnezzar left, xinming left, davido_home left, MilkmanDan left, robinsmidsrod left, yakudza left, sunnavy left, rjbs left, breinbaas left, [Coke] left, ChoHag left
smls And what's the equivalent of Perl's «unpack» (for parsing binary files?) 09:58
09:58 grondilu joined, nebuchadnezzar joined, xinming joined, davido_home joined, MilkmanDan joined, robinsmidsrod joined, yakudza joined, sunnavy joined, rjbs joined, breinbaas joined, [Coke] joined, ChoHag joined 10:00 Alina-malina joined
grondilu it is writeable, if that's what you mean (IIRC not so long ago, it wasn't). 10:00
moritz smls: Buf has a method unpack 10:01
smls: not very complete though
grondilu but you cn't use the my Buf $b .= new idiom
10:01 wind_chh joined
moritz smls: take a look at src/core/Buf.pm 10:01
10:07 raiph joined 10:09 pdcawley left
smls ok 10:10
10:10 pdcawley joined 10:11 wind_chh left 10:14 chenryn left 10:20 chenryn joined, denis_boyun_ joined 10:26 sisar joined 10:31 thou joined 10:34 kaare_ left
smls What features that are typically associated with functional languages, does Perl 6 have? 10:34
I can think of: 1) Immutable data types, 2) Lazy lists, 3) Simple pattern matching (in the form of multi-dispatch)
What else?
10:35 thou left
moritz easy ways to create functions/lamdas/callables 10:38
Timbus i was typing that, but i couldnt quite word it 10:39
moritz lexical scoping (as opposed to method lookup semantics)
closures
Timbus .assuming
autothreading w/ hyper operators? 10:40
is that still a thing
10:41 Alula joined
masak declarative ways of saying things, as opposed to imperative 10:41
10:41 leont joined
moritz I guess now would be a good time to implement autothreading 10:41
well, auto-concurrency with hypers 10:42
10:44 Ven joined
Ven www.reddit.com/r/programming/commen..._atscript/ 10:45
More alt-js languages by google!
Timbus im always both angry and happy that people are constantly writing javascript alternatives. 10:47
moritz well, there seem to be two approaches
the first is to build rather thin layers over javascript
those typically solve some of the syntactic odditites 10:48
or you can build a "full" cross-compiler
then you typically end up with something that's slow, and/or bears no resemblance with JS anymore
which might or might not be a plus :-)
Timbus i just want everything to target asmjs or something similar 10:52
Ven that doesn't make sense. 10:53
You can't "target" asm.js for most of the languages out there.
Dart has no type system, for example
masak Ven: I saw this language show up in slide photos from ngEurope yesterday :) 10:54
Ven eh. I know there's scalaIO going on here (in france) right now, but I can't go :(
masak Ven: it makes sense-in-retrospect that they would go in this direction with Angular and alt-js
Ven definitely. Dart sucks :) 10:55
Ven *g* so early in the morning
sometimes I think I should just make LiveScript target typescript as a backend :-) 10:56
Timbus Ven: im vaguely aware that asmjs is pretty minimal, but i would assume you can build complicated things on top of it? i guess ill settle for 'or something similar' then
Ven Timbus: there are no strings in asm.js 10:57
Timbus aa
Ven we sometimes get people asking us to "target asm.js" on the coffee bugtracker. That doesn't make any sense. We don't have types.
TypeScript is adding untagged union types L( 10:58
:(*
lizmat good *, #perl6! 11:01
Ven o/, lizmat
11:02 [Sno] left
lizmat \o Ven 11:02
I guess PerlJam is still working on the release, as I have not seen an announcement yet ?
11:03 [Sno] joined
dalek ast: d088d6b | (Elizabeth Mattijsen)++ | S05-mass/properties-general.t:
Fudge failing tests on parrot for release
11:08
ast: 5e77113 | (Elizabeth Mattijsen)++ | S02-names/symbolic-deref.t:
Unfudge now passing test on parrot/jvm for release
11:16
lizmat JVM is now clean for me as well
parrot has some long-standing fails on OS-X that I think survived many release already :-(
Ven nice :-) 11:17
bartolin lizmat: some of the parrot failures (e.g. those from S19-command-line-options/02-dash-e.t) are hopefully gone with the new parrot (6.9.0). 11:19
lizmat so maybe we should bump the PARROT_REVISION?
lizmat will check
bartolin lizmat: I didn't try to build with the new parrot.
lizmat: also I found a test in S02-names-vars/perl.t which sometimes (rarely) fails on JVM. I think it doesn't make sense to fudge it now, but I'm looking at it. 11:21
lizmat is building with 6.9.0 parrot
bartolin m: for 1..1000 { my $a = rand; say $a if $a.chars > 19 } 11:22
camelia rakudo-moar 315ec6: OUTPUT«0.000648212182777552␤»
bartolin j: for 1..1000 { my $a = rand; say $a if $a.chars > 19 }
camelia rakudo-jvm 315ec6: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
bartolin hmm. locally I got much more results for JVM -- and the results look different, e.g.: 11:23
0.029514869958183088
0.015189550239314453
0.012097777536452803
m: my %h; %h{rand.chars}++ for 1..1000; say %h
camelia rakudo-moar 315ec6: OUTPUT«"14" => 1, "15" => 8, "16" => 80, "17" => 807, "18" => 92, "19" => 11, "20" => 1␤»
bartolin locally: perl6-j -e 'my %h; %h{rand.chars}++ for 1..1000; say %h' 11:24
"16" => 8, "17" => 65, "18" => 620, "19" => 270, "20" => 37
somehow the numbers generated on JVM look different
m: for 1..500 { my $t1 = rand; my $t2 = EVAL($t1); if $t1 ne $t2 { say "$_: ERROR:\n ", $t1, "\n ", $t2; } 11:28
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/_MzWJq98FL␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/_MzWJq98FL:1␤------> ay "$_: ERROR:\n ", $t1, "\n ", $t2; }⏏<EOL>␤ expecting any of…»
bartolin m: for 1..500 { my $t1 = rand; my $t2 = EVAL($t1); if $t1 ne $t2 { say "$_: ERROR:\n ", $t1, "\n ", $t2; } }
camelia rakudo-moar 315ec6: OUTPUT«182: ERROR:␤ 0.842760512692125␤ 0.84276051269213␤196: ERROR:␤ 0.385157163275392␤ 0.38515716327539␤302: ERROR:␤ 0.6708292500736␤ 0.670829250074␤»
lizmat ===SORRY!=== 11:30
I'm missing some needed files:
/Users/liz/Github/rakudo.parrot/install/bin/ops2c
(Perhaps you need to 'make install', 'make install-dev',
or install the 'devel' package for NQP or Parrot?)
bartolin maybe thats not the problem in the test file (since that runs fine on moar even when I run it 1000 times or more)
lizmat: when I tried to build with latest parrot earlier this month, I got the same failure. 11:32
lizmat hmm... I didn't pull parrot, maybe that's the problem
bartolin lizmat: this looks like a relevant commit: github.com/parrot/parrot/commit/c28873be67
maybe there are changes needed in rakudo to reflect the changes in parrot? (only guessing) 11:33
11:42 prevost joined
lizmat giving up on building rakudo with parrot 690 for now 11:43
11:46 frew joined
dalek kudo/parrot-690: 47644a4 | moritz++ | / (3 files):
ops2c is now called parrot-ops2c
11:46
lizmat tries again :-) 11:48
moritz I'm now testing whether NQP changes are necessary 11:49
(this is a shot in the dark, mind you)
Ven poor dark. 11:52
masak .oO( how do I shot dark ) 11:53
Ven
.oO( next you'll shoot minut )
minus*. sight.
masak sight, indeed.
Ven .oOo( next you'll shoot )
masak: 'tis but my keyboard!
masak verily. 11:58
lizmat moritz: looks like the only other thing needed is a PARROT_REVISION bump in nqp 12:00
OTOH, I'm seeing new spectest failures :-(
would *not* recommend bumping it *before* the release 12:03
of this month's rakudo
Ven www.youtube.com/watch?v=v3XoWi0XbZk c++ is fun! 12:06
(that'd make leont happy :P) 12:07
(leont++, even)
12:07 jimgnosis joined
Ven (I admit I sort of miss type arguments on subsets :P) 12:11
PerlJam greetings
Ven subset X of ::T :D.
o/, PerlJam
PerlJam Yes, I'm still working on the release.
12:12 JimmyZ joined
bartolin lizmat: in that case someone needs to revert the latest commit to rakudo, or? 12:12
lizmat bartolin: it was in a branch
so no revert necessary 12:13
bartolin oh, overlooked that!
PerlJam I had some family stuff last night that prevented completion and I've got a doctor appointment in a little while. I likely won't get to finish until later this afternoon
12:13 molaf joined
PerlJam in any case, there were lots of parrot failures when I ran stresstest. 12:13
leont Ven: thanks, that does sound interesting 12:14
lizmat gist of failures with parrot 6.9.0: gist.github.com/lizmat/05a8462ffe4d6b0a8e52
Ven leont: talk is pre-c++14, but still, metaparse and metamonad are incredible pieces of c++
lizmat PerlJam++ nonetheless!!
leont C++14 is a nice addition, but not nearly as big/important as C++11 12:15
Ven well, constexprs relaxations are nice for metaprogramming :-)
leont True!
They seem to have switched to a regular release schedule, much like perl{5,6}, except that their iteration speed is slower 12:16
12:17 chenryn left, rindolf left, rindolf joined
PerlJam Here's what I saw for parrot 6.8.0: gist.github.com/perlpilot/85c1d10dedc6e651df66 12:18
and now I have to move some kids around prior to my appointment 12:19
12:19 notfix is now known as xfix
PerlJam bbl & 12:19
12:19 thou joined
lizmat wishes PerlJam a good visit 12:19
moritz lizmat: there are reasons I'm doing that stuff in a branch :-) 12:21
JimmyZ can't open irclog.perlgeek.de :(
lizmat and good ones at that!
12:22 chenryn joined
lizmat JimmyZ: works ok for me, Great Firewall issues ? 12:22
moritz JimmyZ: I can. What error do you get?
JimmyZ time out, I'm not in china
12:23 jimgnosis left, xinming_ joined, thou left
lizmat JimmyZ: I'm thinking routing issues next, do you have a traceroute ? 12:24
12:26 xinming left
JimmyZ yeah, looks like it is 12:26
12:29 rindolf left, rindolf joined
brrt hmm... we should have a uwsgi plugin for moarvm 12:30
masak feature request: .classify takes the identity function as a default first argument
12:30 kjs_ left
masak that way, I can write @things.classify 12:31
moritz and classify objects by their stringification?
masak instead of `sub id { $^the_thing }; @things.classify(&id)`
12:32 sisar left
moritz well, @things.classify(-> $x { $x }) is a bit shorter 12:33
or just @things.classify({ $_ }) 12:34
that said, +1
masak I still think it'd be a nice default.
ok, changing spec.
moritz (and I've long wanted a more concise way to write the identity function)
masak maybe we should provide it in CORE, as `&id` or `id` 12:35
12:35 kjs_ joined
lizmat masak: if identity would be the default, what if it is not a Str ? 12:35
should it create a Typed Hash automagically ?
moritz nope
12:35 rindolf left
masak lizmat: .classify doesn't build a Hash, it builds a list of pairs. 12:35
moritz and that's wrong 12:36
12:36 rindolf joined
moritz it should return a hash 12:36
according to S32::Containers
m: say <aa ab bc>.classify(*.substr(0, 1)).perl
camelia rakudo-moar 315ec6: OUTPUT«("b" => ["bc"], "a" => ["aa", "ab"]).hash␤»
moritz oh, it does return a hash
masak: your mental model needs updating :-) 12:37
masak seemingly.
lizmat fwiw, making it a list of pairs, would neatly circumvent the Typed Hash issue
masak it used to be a list of pairs.
ok, I don't understand the current classify spec.
standing down change, pending my understanding. :)
lizmat well, that could be... and it is very easily changed by adding .pairs internally 12:38
but the underlying implementation would always use a Hash I would think
or do we want to linearly check a list of pairs for its keys when classifying ?
12:39 rindolf left
Ven masak: @things.classify({$_}) doesn't sound that bad tho 12:39
12:39 rindolf joined
lizmat @things.classify(*) would even be better :-) 12:40
12:40 sivoais_ left, sivoais joined
moritz masak: well, @things.classify would be identical to @things.classify(*.Str) 12:40
masak: so it would classify things by their stringification. Not very useful very often, but falls out quite naturally 12:41
lizmat moritz: disagree, that falls out of the default implemenattion of hashes naturally
moritz m: say ([1, '2 3'], ['1 2', 3], [4, 5]).classify(*.Str).perl
camelia rakudo-moar 315ec6: OUTPUT«("4 5" => [[4, 5]], "1 2 3" => [[1, "2 3"], ["1 2", 3]]).hash␤»
lizmat m: (now, now, now).classify({$_}).perl.say # feels weird 12:43
camelia rakudo-moar 315ec6: OUTPUT«("Instant:1414154672.027178" => [Instant.new(<1769107494706/1251>)], "Instant:1414154672.016588" => [Instant.new(<596773271591/422>)], "Instant:1414154672.023692" => [Instant.new(<1432538682760/1013>)]).hash␤»
lizmat the key and values don't match ? 12:44
moritz that's what you get with a default hash :-)
lizmat ah, I read the values wrong: they're expressed as Rats :-) 12:45
moritz m: say (now xx 5).classify(*.x.Int).perl
camelia rakudo-moar 315ec6: OUTPUT«("1414154791" => [Instant.new(<489297558001/346>), Instant.new(<1795976585737/1270>), Instant.new(<1093141654156/773>), Instant.new(<1648904487387/1166>), Instant.new(<885260899749/626>)]).hash␤»
moritz m: say (now xx 5).classify(*.x.Int).elems for ^10 12:46
camelia rakudo-moar 315ec6: OUTPUT«2␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
lizmat that .x is still also very weird to me
moritz say ((now xx 5).classify(*.x.Int).elems xx *).grep(* != 1)[^3] 12:47
lizmat: yes, that should be .seconds or so
m: say ((now xx 5).classify(*.x.Int).elems xx *).grep(* != 1)[^3]
camelia rakudo-moar 315ec6: OUTPUT«2 2 2␤»
lizmat puts it on her cage cleaning list
12:49 rindolf left, rindolf joined
Ven moritz: lines like that are why I love p6 :P 12:51
12:54 j4jackj left, j4jackj joined 12:55 kaare_ joined
Ven m: use MONKEY_TYPING; class Unit{has $.mul;has $.val; method ago {now-$.val*$.mul}}; augment class Num{method seconds{Unit.new(:0mul, :val(self))} }; say 3.seconds.ago; 12:58
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/EWJCMRkNNH␤Undeclared routine:␤ now used at line 1␤␤»
Ven uh?
m: use MONKEY_TYPING; class Unit{has $.mul;has $.val; method ago {now - $.val*$.mul}}; augment class Num{method seconds{Unit.new(:0mul, :val(self))} }; say 3.seconds.ago; 12:59
camelia rakudo-moar 315ec6: OUTPUT«No such method 'seconds' for invocant of type 'Int'␤ in block <unit> at /tmp/7WfC6CIK6_:1␤␤»
Ven m: use MONKEY_TYPING; class Unit{has $.mul;has $.val; method ago {now - $.val*$.mul}}; augment class Int{method seconds{Unit.new(:0mul, :val(self))} }; say 3.seconds.ago;
camelia rakudo-moar 315ec6: OUTPUT«Instant:1414155624.921789␤»
Ven \o/
kids: don't do that at home :P. 13:00
13:01 rindolf left, rindolf joined 13:03 chenryn left 13:04 rindolf left 13:05 rindolf joined 13:09 fhelmberger left, Alina-malina left, kaare_ left 13:10 Alina-malina joined 13:11 guru joined, rindolf left, guru is now known as Guest95167 13:12 Guest95167 is now known as ajr_, rindolf joined 13:16 shlomif joined 13:19 rindolf left 13:20 shlomif is now known as rindolf 13:27 rindolf left, immortal joined, immortal left, immortal joined 13:28 rindolf joined 13:29 xinming_ left, xinming joined, erkan left 13:30 xenoterracide_ joined
gtodd does a quick comparison of "perlmonks benchmark" perlmonks.org/?node_id=1099617 13:30
perl6 -e 'for lines() { say ~$/ if m/(<<\w**5>>)/}' 150k-lines.txt # used to take ~ 70 seconds on my system 13:31
and 100% cpu ;-)
now ... perl6 -e 'for lines() { say ~$/ if m/(<<\w**5>>)/}' 150k-lines.txt 57.85s user 0.21s system 0% cpu 1:00.18 total
timotimo gtodd: can you try what happens if you for lines(:eager)? 13:32
Ven gtodd: can you try lines(:eager) ?
timotimo %)
Ven dammit timo.
lizmat fwiw, the sub lines() has not yet received optimization treatment afaik
gtodd it doesn't make as big a difference anymore ... is it due to changes in how lists work?
oh ok 13:33
timotimo oh
lizmat it's a complete different code path
(I realised much later)
gtodd one thing I noticed was doing 10k-lines.txt and getting say 4 seconds then 100K would give me 40 seconds .... 13:34
or well 10K would give 4.4 seconds now 10K takes 4 seconds flat and 100K does 35-36 seconds so isomething in there is getting faster ;-) 13:35
lizmat how did you code that ?
10k-lines.txt.IO.lines(:eager) 13:36
gtodd same way ... naively
lizmat might be faster :-)
gtodd ohh will try
perl6 -e 'for lines(:eager) { say ~$/ if m/(<<\w**5>>)/}' 150k-lines.txt 57.60s user 0.25s system 1% cpu 59.750 total
lizmat actually: "10k-lines.txt".IO.lines(:eager)
gtodd eager used to make a bigger difference (~ a month ago)
13:37 rindolf left
lizmat well, :eager on ArgFiles is silently ignored 13:37
13:37 rindolf joined
gtodd perl6 -e 'for "10k-lines.txt".IO.lines(:eager) { say ~$/ if m/(<<\w**5>>)/} 3.80s user 0.10s system 0% cpu 4.016 total 13:39
perl6 -e 'for lines() { say ~$/ if m/(<<\w**5>>)/}' 10k-lines.txt 4.12s user 0.09s system 7% cpu 4.316 total
13:39 xenoterracide_ left
gtodd so IO.lines(:eager) faster 13:39
NB: I have slow disks :-)
lizmat wonder how big the difference is with a 100K lines file
ah, not much, you're doing more than just reading :-) 13:40
13:40 abraxxa left
gtodd yeah the relative speed up as the file gets bigger is new but it could be the machine is just less occupied or something ... 13:43
100k-lines.txt".IO.lines(:eager) is 35 seconds 13:44
timotimo doesn't know what "NB:" means and can't find it in the s99
gtodd hehe
nota bene :-) 13:45
timotimo oh
gtodd I have SSDs somewhere but .... not on this machine
timotimo just put it into a ramdisk
gtodd :)
13:45 rindolf left
timotimo if your file is popular, it should land in ram anyway 13:45
13:46 rindolf joined
masak "nota" is the singular imperative of "notāre". 13:47
gtodd yeah the script I had was running it over and over .... this was ZFS on BSD geoms on multiple disks and does lords knows what to caches etc the speed up as the file gets larger is probably OS or FS related I guess
timotimo i've read the wikipedia article on it now :)
well, skimmed it
lizmat goes offline for a bit for some sysadmin work 13:48
[Coke] which rhymes with ♬ Volare!
13:48 lizmat left
timotimo [Coke]: oh god no 13:48
masak [Coke]: :D
leont Ven: their approach to strings is awesome though. I might abuse that to implement pack on C++. The world will hold you responsible for this :-p
Ven leont: I'm all for witchcrafting.
(I mean - I'm doing perl6!) 13:53
timotimo craft moar witches 13:54
gtodd it will be cool when perl6 gets faster to the point of being practical for this kind of file/data munging etc (I don't think matching perl5 on this sort of thing is going to happen very soon ! perl5 does it 0.05 seconds!) ... but what is "fast"? if perl6 does something like this in 2 seconds (instead of 5 one hundredths) errm ... 13:55
13:57 rindolf left
timotimo gtodd: i think we'll get close enough to allow comfortable use soon 13:57
and the jit is still "stupid"
13:57 rindolf joined
timotimo do you have a bit of knowledge about assembler-level performance? 13:57
colomon 199 modules passing tests in the latest smoke run.
gtodd oh right jitting is not really done yet
timotimo because we're still loading every argument off the stack, doing the calculation, storing it back onto the stack 13:58
we don't eliminate redundant loads and stores ever
and many optimizations in spesh turn complex operations into just "set the value of this register to the value of that register", which is pretty much exactly a load + store on the heap, rather than a register-level operation
gtodd since the jit option in now the default in the build I always forget jitting is turned on but nowhere near being fullspeed 14:00
I mean didn't the jit just get started this summer?
timotimo that's correct 14:01
14:01 thou joined
gtodd timotimo: so the jit is doing things that are more about testing for future improvement of the jit rather than real speed ups 14:02
timotimo that's not really true either 14:04
14:04 tardisx left
timotimo it already gives a nice boost on some workloads 14:04
gtodd :-)
14:04 tardisx joined
timotimo especially doing stuff with native nums and ints is pretty good 14:04
but there is still a whole lot of improvements possible in the future
14:05 BenGoldberg joined
colomon FROGGS: ping? looking at Inline... 14:06
Ven trust me timotimo, just overload tan2 ;-) 14:08
timotimo psst
Ven good jit performance!
FROGGS colomon: pong 14:09
colomon FROGGS: just looked at GD to see why it was failing, which lead me to Inline. 14:10
FROGGS colomon: I was able to install Inline yesterday
colomon …. which, confusingly, appears to pass all tests in the smoke, but is failing when I try to install it directly. :\
FROGGS hmmm 14:11
colomon Failed to open file: permission denied
[…]
in method postcircumfix:<( )> at /home/colomon/tools/p6-Inline-C/lib/Inline/C.pm:32
actually, that's not even installed, that's run by hand from the repo
FROGGS ohh, it is trying to create a tempfile... maybe it is just that
==> Successfully installed Inline 14:12
worx on my box :/
14:13 thou left
colomon oh! 14:14
it's a bug of yours, I think, but very subtle
14:14 rindolf left, rindolf joined
colomon it's trying to create /tmp/inline_a_plus_b.c, but it cannot, because that file already exists, created by a different user 14:15
namely smoker, the smoke-test user
colomon keeps it separate so that smoke testing builds don't interfere with his normal p6 hacking
FROGGS ohh 14:16
geekosaur fixed temporary file names are arguably a security hole...
colomon … though actuially might be a bug in .e ?
$!libname = $basename ~ 1000.rand.Int while $!libname.IO.e;
I don't understand why that doesn't … oh! 14:17
yeah, that's your bug. :)
FROGGS what exactly?
colomon you check for name collisions with $!libname 14:18
but the actual files you create are inline_a_plus_b.c inline_a_plus_b.o and libinline_a_plus_b.so
FROGGS ohh
colomon (also, should those temp files really be left lying around?)
yeah, if I delete those /tmp files, everything works. 14:22
14:24 treehug88 joined
colomon FROGGS: do you have it, or do you want me to code up a fix? 14:26
FROGGS colomon: I am testing something...
colomon FROGGS++
14:27 rindolf left
bartolin m: say 0.005634127707264636e1 == 0.05634127707264636e0 14:28
camelia rakudo-moar 315ec6: OUTPUT«True␤»
14:28 rindolf joined
bartolin rakudo.jvm doesn't agree here: 14:28
$ perl6-j -e 'say 0.005634127707264636e1 == 0.05634127707264636e0'
False
could that be a bug? 14:29
masak only if you expect big decimal semantics there. 14:30
I'm not sure I do.
14:30 thou joined
bartolin I think it's the reason for a (rarely) failing test in roast on rakudo.jvm 14:30
colomon p6: say 0.005634127707264636e1 - 0.05634127707264636e0 14:31
bartolin that test uses 'rand' and on rakudo.jvm it produces values like 0.005634127707264636e1 sometimes.
camelia rakudo-{parrot,moar} 315ec6: OUTPUT«0␤»
colomon woah, camelia not handling jvm at the moment?
m: say $*VM 14:32
camelia rakudo-moar 315ec6: OUTPUT«moar (2014.9.54.g.3.ac.9.a.7)␤»
bartolin the test is here: github.com/perl6/roast/blob/master...erl.t#L103
colomon m: say $*VM<config>
camelia rakudo-moar 315ec6: OUTPUT«"ar" => "ar", "arflags" => "rcs", "arout" => "", "asm" => ".s", "asmout" => "-o ", "asmswitch" => "-S", "auxclean" => "\@:", "be" => "0", "can_unaligned_int32" => "1", "can_unaligned_int64" => "1", "can_unaligned_num64" => "1", "cancgoto" => "1", "cat" => …»
colomon m: say $*VM<config><load_ext>
camelia rakudo-moar 315ec6: OUTPUT«(Any)␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*VM<config> called at:␤ /tmp/VxVK2_C8Ia, line 1␤Deprecated since v2014.5, will be removed with release v2015.…»
14:32 lizmat joined
colomon how do we do that today? 14:33
.config, eh
m: say $*VM.config<load_ext>
camelia rakudo-moar 315ec6: OUTPUT«(Any)␤»
colomon m: say $*VM.config
camelia rakudo-moar 315ec6: OUTPUT«"ar" => "ar", "arflags" => "rcs", "arout" => "", "asm" => ".s", "asmout" => "-o ", "asmswitch" => "-S", "auxclean" => "\@:", "be" => "0", "can_unaligned_int32" => "1", "can_unaligned_int64" => "1", "can_unaligned_num64" => "1", "cancgoto" => "1", "cat" => …»
bartolin m: my $a = 5.634127707264636e-02; say $a.perl; say EVAL($a.perl).perl 14:34
camelia rakudo-moar 315ec6: OUTPUT«0.0563412770726464e0␤0.0563412770726464e0␤»
14:35 treehug88 left
bartolin $ perl6-j -e 'my $a = 5.634127707264636e-02; say $a.perl; say EVAL($a.perl).perl' 14:35
0.056341277072646356e0
0.05634127707264635e0
dalek rlito: 269af47 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - js - tr() tweak
14:36
bartolin well, I'll submit a rakudobug for the failing test
FROGGS colomon: done 14:38
colomon \o/ 14:39
woah, the tests for GD are sort of spectacularly useless. :) 14:40
FROGGS hehe 14:41
colomon basically, it passes if "use GD" doesn't fail
14:41 rindolf left, BenGoldberg left
FROGGS well, that is usually the first test I write :o) 14:41
colomon really?
14:41 rindolf joined
FROGGS sure 14:41
colomon I mean, every test file for a module does that automatically. 14:42
no need for an explicit test
does anyone know mrhdias? 14:43
FROGGS I dunno why but I do that since forever... like my first test in P5 is a use_ok
not personally
[Coke] colomon: it's easier to diagnose explicit test failures than implicit ones. 14:45
but that is pretty basic, aye 14:46
colomon m: use fdsakjfklds
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Could not find fdsakjfklds in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6␤»
colomon is it really that hard to diagnose that error? :)
okay, mailed mrhdias 14:47
and actually, you're going to get the above error whether or not you put an "alive" test after it. 14:48
14:48 cognominal joined 14:49 hometra joined 14:55 rindolf left 14:56 rindolf joined 14:59 treehug88 joined 15:02 rindolf left, rindolf joined 15:03 treehug88 left 15:05 ecocode left 15:06 brrt left
timotimo tadzik: can you add a feature to rakudobrew that'd run spectests automatedly and give nice uploadable output? 15:07
15:09 denis_boyun_ left
colomon github.com/perl6-community-modules/perl6-GD # not official yet, but if I don't hear from mrhdias…. 15:09
15:12 guru joined, ajr_ left, guru is now known as ajr_
BooK are the Perl 6 on MoarVM vs Perl 6 on Parrot vs Perl 5 benchmarks published somewhere? 15:13
15:15 erkan joined, erkan left, erkan joined
lizmat timotimo might know 15:17
timotimo i've had a quick look over my list of benchmarks
15:17 rindolf left 15:18 immortal left, rindolf joined
timotimo one sec. 15:19
t.h8.lv/p6bench/ - i added a very simple index.html for you 15:20
lizmat masak: wrt to .classify having a default of identity: wouldn't you be served better by a .Bag in such a case ?
BooK timotimo: thanks! 15:24
timotimo i didn't see the one jnthn used in there yet 15:25
15:26 Ven left 15:27 immortal joined 15:29 erkan left 15:30 colomon left
lizmat cycling& 15:30
15:30 treehug88 joined 15:33 rindolf left 15:34 rindolf joined 15:42 lue left 15:46 FROGGS left
smls m: ([1], { [0, @^a Z+ @^a, 0] } ... *)[^5].perl.say; # Pascal's triangle 15:48
camelia rakudo-moar 315ec6: OUTPUT«([1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1])␤»
smls ^ Will this still work post-GLR? 15:49
[Coke] Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=200m; support was removed in 8.0
smls That is, are both sides of the Z operator considered slurpy lists?
15:49 rindolf left, rindolf joined
TimToady it's bound to @^a, which is not itemized 15:52
so should still work
15:52 araujo joined 15:54 JimmyZ left, lue joined
TimToady and the X and Z metaops should still be smart about whether their base op is a list infix or not, and flatten accordingly, just as it is now 15:55
most of the semantic shift is in invocants, and operators are really functions, which stay much the same 15:56
smls right 15:57
15:57 [particle] left 15:58 cognominal left
TimToady this aspect of the GLR can be viewed as clarification of the difference between the OO and FP world views 15:58
15:58 SOLEIL joined
TimToady those world views were most confused in the earlier designs, and have subsequently undergone various changes that keep the two worlds from interacting, so it's kind of natural now to give invocants different semantics than ordinary arguments 16:00
16:00 Guest1419 left
masak lizmat: yes, I'd've probably been better served by a .Bag 16:01
16:01 eternaleye left, djanatyn left
masak lizmat: I'm no longer championing for the identity function being the default :) 16:01
16:01 SOLEIL left
TimToady there might be some slight fallout for where we do "method foo (@stuff) is export" 16:01
16:02 aindilis left, [particle] joined, rindolf left
TimToady that is, for an exported method, the first arg will get invocant semantics even though you are invoking it through the FP interface 16:03
16:03 rindolf joined, aindilis joined
TimToady but that's more or less how it is already, so probably will not be noticed much 16:03
16:04 eternaleye joined, djanatyn joined, Guest1419 joined
TimToady logs back 16:04
16:06 immortal left, zakharyas left 16:07 erkan joined, erkan left, erkan joined 16:13 smls left 16:15 rindolf left, rindolf joined 16:17 cognominal joined 16:23 MilkmanDan left 16:24 rindolf left 16:25 ghostlines left, rindolf joined 16:26 FROGGS joined 16:28 immortal joined, immortal left, immortal joined, kurahaupo left 16:30 erkan left 16:31 [Sno] left 16:32 cognominal left 16:38 rindolf left, rindolf joined
dalek rl6-bench/stress: fa5392f | (Geoffrey Broadwell)++ | timeall:
Add symbolic diagnosis to timeall data

First rule of data producers: Don't force consumers to parse human-friendly strings to get the data back out. Thus, add a symbolic diagnosis next to every human-readable failure reason.
16:42
rl6-bench/stress: 4a42954 | (Geoffrey Broadwell)++ | analyze:
Add first-pass analysis for test diagnoses
perl6-bench/stress: f61cfa0 | (Geoffrey Broadwell)++ | analyze:
perl6-bench/stress: Widen text comparison columns to fit diagnoses
16:45 grettis joined 16:46 abraxxa joined, abraxxa left 16:48 MilkmanDan joined 16:55 ajr_ left, nwc10 joined, colomon joined
nwc10 I checked the logs - has no-one pasted a link to jnthn's APW talk yet? 16:55
www.youtube.com/watch?v=AhCx3CTauBY -- Objects ∩ Concurrency, 16:56
FROGGS nwc10: I did so in #perl6
nwc10 clearly I fail at log parsing
16:56 rindolf left, MilkmanDan left 16:57 rindolf joined, hometra left, MilkmanDan joined
dalek rlito: 55e36b5 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - fix 'use strict' - github.com/fglock/Perlito/issues/25
16:57
17:02 prevost left 17:04 virtualsue left 17:05 kaare_ joined 17:07 kjs_ left 17:16 prevost joined 17:20 abraxxa joined, abraxxa left 17:23 leont left 17:31 molaf left 17:36 kjs_ joined 17:39 kaare__ joined 17:40 [Sno] joined 17:41 prevost left 17:42 kaare_ left 17:44 kaare__ left 17:47 cognominal joined 17:48 nwc10 left, guru joined 17:49 guru is now known as Guest46966
TimToady thinks that Instant.x ought to be renamed Instant.cheat or Instant.don't-try-this-at-home 17:49
17:49 Guest46966 is now known as ajr_, sqirrel_ joined
grondilu does not know about Instant.x 17:50
is that in Temporal?
17:50 FROGGS left, sqirrel left 17:51 FROGGS joined
TimToady m: say now 17:51
camelia rakudo-moar 315ec6: OUTPUT«Instant:1414173124.087981␤»
TimToady m: say now.x
camelia rakudo-moar 315ec6: OUTPUT«1414173128.797084␤»
TimToady it tempts you to cheat on the internal epoch, which Instant is not guaranteed to preserve 17:52
FROGGS m: say and now
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/GZNRYPhQjK␤Undeclared routine:␤ and used at line 1. Did you mean 'end', 'any', 'rand'?␤␤»
TimToady now andthen ... 17:53
m: now andthen ...
camelia rakudo-moar 315ec6: OUTPUT«Unhandled exception: Stub code executed␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13680 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.…»
grondilu std: { say } and now 17:54
camelia std 14ad63b: OUTPUT«===SORRY!===␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/KeCtGV6JoI line 1:␤------> { say⏏ } and now␤Check failed␤FAILED 00:00 139m␤»
17:54 ivanshmakov joined
PerlJam okay ... working on the release again. Most (if not all) of the parrot test failures appear to be because of unicode characters. moritz++ added a note to the announcement that this is the last release to support parrot without ICU. Is that really true? 17:54
TimToady I believe that was the consensus
it ain't Perl 6 if it don't do unicode... 17:55
PerlJam What should I do about all of the failing tests? Many of them seem to not even compile with rakudo-p because it barfs on some character during the parse.
TimToady install icu? 17:56
well, first verify that the lack of icu is the problem
parrot::has_icu, I guess 17:58
according to perl6-p -V
I'm fine with the tests failing this release for non-icu systems, even though we "support" it 17:59
PerlJam parrot::has_icu=0
17:59 ivanshmakov left
TimToady though I suppose we should test at least once with icu 18:00
18:00 raiph left
TimToady seeing if installing icu-devtools helps here 18:02
PerlJam installs libicu-dev
TimToady that makes more sense 18:03
18:03 ivanshmakov joined
TimToady wishes he had his brane back, but still recovering from whatever it was I have 18:05
18:06 raiph joined
TimToady tenses, who needs 'em 18:06
rurban but I just added needed namealiases which were not icu
in icu
TimToady I seem to recall reading that they'd bump the parrot version next release, so maybe that isn't in play 18:07
rurban I'd wish I'd known it earlier, then I could have added more names to the list for —without-icu 18:10
PerlJam no worries. I figure the Nov or Dec release will make more of an impression upon the world as the GLR should have happened :) 18:11
rurban are those t.h8.lv/p6bench/all_backends.html with moar jit already? dont think so 18:13
I see: t.h8.lv/p6bench/2014-10-10-huge_history.html it is 18:14
18:17 molaf joined
PerlJam I don't know how those graphs relate, but commit 1eed27d to NQP is from 1 year ago, so I would guess the graphs on t.h8.lv/p6bench/all_backends.html are all pre-JIT 18:22
18:23 gfldex joined 18:24 grondilu left, rurban left 18:25 SamuraiJack joined 18:28 rindolf left
smash TimToady++ # 5 Programming Languages Everyone Should Know 18:46
18:50 psch joined
psch hi #perl6 o/ 18:50
i figured out my cliparser bug and i can now spectest the branch again \o/ 18:51
turns out the problem was still in the grammar and i didn't build TOP correctly to also work with a cli that only supplies arguments
s/build/write/
regarding the delimited options stuff i don't have any idea yet, but they should at least end up somewhere in Perl6::Compiler and afaiu i can borrow from Inc.pm to get them into perl6-land 18:52
18:57 j4jackj left 18:58 j4jackj joined 19:01 rindolf joined 19:10 darutoko left
timotimo i'm sorry that the index.html for the benchmark graphs is so useless 19:16
i've wanted to write a more complex index generator or something similar, but i still don't know what it should show and what you should be able to do with it
gtodd I like how perl6 does this: 19:24
m: say "foo" ~~ /fum/ ?? "matched" !! "nope" ;
camelia rakudo-moar 315ec6: OUTPUT«nope␤»
gtodd oops I meant
m: say "foo" =~ /fum/ ?? "matched" !! "nope"
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/Bl8VVOXdaj␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~␤at /tmp/Bl8VVOXdaj:1␤------> say "foo" =~⏏ /fum/ ?? "matched" !! "nope"␤»
timotimo does what exactly?
gtodd "in Perl 6 please use ~~" rox
I want to put error messages like that all over the place :-) 19:25
timotimo aaah
i understand
moritz TimToady++ put a lot of effort into error messages
mauke m: "foo" ~=~ "bar" 19:26
camelia rakudo-moar 315ec6: OUTPUT«Cannot modify an immutable Str␤ in block at src/gen/m-CORE.setting:18918␤ in block <unit> at /tmp/vFGYrZ8V4o:1␤␤»
gtodd yeah ... do they all live in CORE.setting? or I mean 19:27
is that where the catching and exceptions start from?
japhb gtodd: Some are found in the grammar, some in the setting. 19:28
psch some of the throwing starts from nqp
gtodd I wanted to add a simple message for "reverse" when used on a hash "in Perl 6 please use invert"
psch but at least P6Regex should almost only throw from Perl6::Grammar by now i think
gtodd but couldn't figure out a) if it was non trivial b) if there was a better way ... that lead me to nqp :-) 19:29
19:30 mauke_ joined 19:31 Sqirrel joined 19:32 mauke left
dalek c: 88bad9d | usev6++ | / (2 files):
Add exception X::Syntax::Term::MissingInitializer
19:33
gtodd It would be cool if there was a way to annotate messages like that even further - or translate them into languages that use all the beautiful unicode support ;-) ... or load a module and then along with those messages you'd get referred to relevant snippets of documentation (the docs are going to be fantastic anyways but ...) and maybe a heirarchy of community generated and/or internal PBP policy style docs that popup 19:35
19:36 mauke_ is now known as mauke
gtodd little "documentation hooks" 19:36
19:36 k2t2 joined
k2t2 help 19:37
timotimo PBP?
19:37 k2t2 left, rindolf left
lizmat gtodd: by having exceptions as classes, such an approach would be just a matter of augmenting said classes :-) 19:38
19:38 SamuraiJack_ joined
gtodd that way every time someone came up with an idiom they could stick an example in ~/.perl6/docs/hooks/<some ref to the error> ... maybe with URL in it to further examples on rosettacode or perl6.org 19:38
and periodically people could cd ~/.perl6/docs/hooks ; git push
19:39 SamuraiJack left
gtodd to some massive repo of perl6 lore ... 19:39
lizmat: good! :-D
timotimo: the classic Perl Best Practices
I really liked that book
like :-)
lizmat thinks Instant.x should be called .tai 19:40
gtodd lizmat: you were fixing some error messages lately and was trying to watch your commits to see how you were doing it ... I wanted to see if I could make %hash.invert more famous 19:41
masak thinks he could live with .tai
gtodd lizmat: .tai++
masak .oO( .太 )
japhb lizmat: Is it actually tai though?
gtodd hehe 19:42
lizmat has Rat $.x;
# A linear count of seconds since 1970-01-01T00:00:00Z, plus
# tai-utc::initial-offset. Thus, $.x matches TAI from 1970
# to the present.
is what the code says
as we know, internal documentation is always right :-)
japhb OK, that's reasonable then.
hehe
I just didn't want to give people an accessor that was not really correct for some reason. 19:43
19:44 mls left
gtodd will this intimate that perl6 explicitly agrees with DJB about time :-) cr.yp.to/proto/utctai.html 19:44
19:44 mls joined 19:46 sharpie99 joined
timotimo i'm just now watching masaks goto statement considered awesome talk 19:48
japhb Hmmm, this does have the problem that we are treating a seconds-since-epoch value as TAI, which is not quite accurate (if the cr.yp.to page is to be believed; I've forgotten the details I learned way back when, except for "UTC for humans, TAI for computers")
timotimo masak: do you feel we could have the slip keyword/functionality without a big amount of changes?
because that does sound pretty awesome to have
masak timotimo: I'm not seriously proposing this keyword in core.
tony-o timotimo: link?
japhb slip? 19:49
masak timotimo: let's just say if we ended up with a mutable-enough language that such a keyword could be added, I wouldn't complain. :)
japhb: `slip` is `next` without losing position and state in the iteration.
timotimo www.youtube.com/watch?v=D32rpo5TeV...freload=10
right, slip causes the iterator to go to the next iteration without leaving the code block
masak japhb: or, put differently `slip` + `redo` == `next` 19:50
japhb Oh now that's an interesting idea
masak and you could do it with labels, iterating an *outer* loop, leaving the inner state intact.
japhb Kinda like the CRLF decomposition, except moderately less likely to cause instant insanity.
19:51 sharpie99 left
masak I find now and then that I am in need of such a construction. 19:51
japhb Oooh, example?
masak parse a line-based format. one line ends with a line continuation marker. I want to go to the next iteration, but keep doing what I was doing. 19:55
19:55 cognominal left
masak in a language without `slip`, I have to set flags and stuff. 19:56
lizmat has just been convinced
masak it's the same kind of poverty of language that led C# to async/await.
but for a different problem.
TimToady gtodd: I've been ranting about leap seconds vs POSIX since the turn of the millenium, when we should've thrown out leap seconds and established 2000 as the new epoch 19:58
20:00 cognominal joined
timotimo masak: i wouldn't mind i fthe slip feature wouldn't actually do the changes to the loop "variables" 20:00
gtodd yeah
masak timotimo: as long as it reads another line of input. 20:01
dalek kudo/nom: 29757fe | duff++ | docs/announce/2014.10.md:
update announcement slightly
gtodd TimToady: milleniums don't come around that often ... :-)
every 3.15569e10 seconds? give or take a few leaps
timotimo masak: if we don't require weird interactions, we could just have something like a dynamic variable to represent the loops we're in (or go via the labels on the loops) and bump the iteration and grab the new value 20:04
lizmat PerlJam++
timotimo my $next_line = slip Label;
lizmat maybe 'slip' implementation should be part of the GLR ? 20:05
timotimo i wouldn't mind if we had that
masak no please don't :)
please focus on real problems
timotimo OK
lizmat masak: so slip *would* call the NEXT phaser, but not the LEAVE phaser ? 20:06
gtodd I like the idea of slip but not the word it looks odd :-D (plus I speak french errm) ... maybe a linguistics expert will come up with something else ;-)
masak no idea.
gtodd: as long as it's four letters long.
gtodd: I kind of like the connotations of "slip", though. the loop iterates under your feet, so to speak.
timotimo yes, the name struck me as very fitting 20:07
20:09 treehug88 left, cognominal left 20:10 travis-ci joined
travis-ci Rakudo build passed. Jonathan Scott Duff 'update announcement slightly' 20:10
travis-ci.org/rakudo/rakudo/builds/38963173 github.com/rakudo/rakudo/compare/a...757fe46efb
20:10 travis-ci left
lizmat masak: I think 'slip' would be handy for e.g. a Text::CSV port :-) 20:10
[Tux] looking at my code? 20:11
lizmat [Tux] no, must admit I haven't yet much :-(
20:11 kjs_ left
timotimo i wonder how easy it is to make slangs composable 20:13
20:15 ghostlines joined
masak we'd better make them composable. 20:16
otherwise, they're no better than source filters. :)
timotimo there's a part that we as the perl6 creators and implementors have to get right
and there's probably parts where users may end up inadvertently making their slang hostile to either embedding others or being embedded in others 20:17
TimToady masak: smile when you say that...oh wait, you did...
timotimo (embedded as in "called from")
masak also, if Angular can make directives composable using *JavaScript* and the DOM as the substrate, I think we should be able to make slangs composable using Perl 6 as the substrate.
timotimo masak: you also handle "lexpads" with your $cont object, right? 20:18
the good thing about "cont" is that it's both the beginning of "context" and "continuation"
tony-o masak: that talk is ++ 20:19
masak cool. thanks.
timotimo: yes :)
timotimo: though Continuations::Kinda remains quite underpowered still.
timotimo that's neat
masak timotimo: but yes, it would do lexpads inside the routine, too.
timotimo it still doesn't have the slang bit to it, yeah?
masak no, that's just a twinkle in my eye yet. 20:20
I write things "long form" right now.
20:21 ghostlines left
timotimo masak: good job in any case 20:21
masak I have this idea lately that most language feature can be designed in two steps: (a) get the semantics right with just funcations, methods, closures, etc. (b) get the syntax right, sugaring the semantics with macros, slangs and whatnot.
features*
timotimo is now watching "c day is coming" 20:22
lizmat is too afraid to go look herself
timotimo heh
moarvm is faster than rakudo? :) 20:23
lizmat yeah
masak if only we could optimize away that whole "Perl 6" part on top of moarvm... :P
lizmat started that presentation at 6am, so that also meant not enough sleep :(
timotimo sometimes i wish i could just write a piece of code in-line as nqp, but that desire will go away when we get better and better at optimizing perl6 code 20:24
PerlJam masak++ I like "slip" 20:27
timotimo lizmat: you said "i'm sure there's going to be a video of [jnthn's talk about performance advances] very soon"
lizmat: you couldn't have been more wrong ;(
lizmat yeah... :-( 20:28
timotimo not your fault of course
lizmat but but, it is!
masak fun hackathonoid for some weekend: cloning Rakudo, and getting `slip` to work in it. preferably while passing all spectests ;)
lizmat everything is my fault anyway :-)
timotimo many good things are your fault! :) 20:29
woolfy Videos for Austrian Perl Workshop (with a lot of Perl 6) are online now: www.youtube.com/channel/UCB9cjCMJP...YyOw0Wo-oQ 20:30
masak lizmat++ # to blame for many good things
timotimo woolfy: after the fact, it kind of seems to me like it was not really "that much"
masak ooh, APW videos
woolfy++ 20:31
woolfy (I was quite happy to see Larry & Jonathan & Stefan & Nick and to attend the hackathon, it all had a strong Perl 6 feel to me) 20:32
pmichaud good afternoon, #perl6
PerlJam++ # 2014.10 release
PerlJam pmichaud o/
woolfy For the people who didn't know yet, the videos of the main room of YAPC::EU are now online too, including the talks by Lichtkind++ and jnthn++: www.youtube.com/user/yapceu 20:33
pmichaud ooooh, video
pmichaud adds to playlist
masak looks at nine++'s Inline::Perl6 APW talk
PerlJam woolfy++
woolfy pmichaud \o/
lizmat masak: Inline::Perl6 ??? 20:34
woolfy masak: Inline::Perl5?
:-)
PerlJam is watching TimToady talk about what he didn't do this summer
pmichaud Hey, I can write an Inline::Perl6 module!
woolfy pmichaud: even I can do that!
pmichaud I think we should put one into the ecosystem just to see what people do :)
masak ah, Inline::Perl5, of course. 20:35
I guess I'm too used to writing a "6" there...
pmichaud masak: that's not a bad thing to be too used to doing
timotimo lizmat: damn it, the video recordings are up now that planetaria is dead and your talk references that; maybe we can get the yapceu channel owner to put an annotation up or something? 20:36
oh hey pmichaud :)
masak I'd have left here long ago, but I keep writing `/join #perl6` instead of `/join #perl`... :P
woolfy masak: it would feel empty without you here!
masak aww <3 20:37
gtodd I guess in a way the word "slip" implies a kind of short quick less obvious variant of "shift"
timotimo i like having masak around :)
dalek ecs: e4c5b10 | (Elizabeth Mattijsen)++ | S04-control.pod:
Naively spec 'slip'
masak o.O
timotimo masak: also, in your talks you have a very soothing tone and pleasant voice
gtodd timotimo: so true
pmichaud yes, when I need a "Don't panic" talk, masak++ should be the one to give it. :) 20:38
afk for a bit
gtodd masak++ watch the talk feel more calm
masak timotimo: that would explain why I feel so relaxed and at ease all the time. I hear myself speak quite a lot.
gtodd hehe
timotimo oh wow, the video is 30 minutes, your talk was 15 minutes, so there must have been some good Q&A :)
masak: :D
masak surely I spoke for more than 15 minutes...
timotimo masak: refering to liz' talk right now 20:39
lizmat PerlJam++ # for the Octover 2014 release :-)
woolfy just reading masak's lines here calms me down...
timotimo PerlJam++ # release \o/
masak PerlJam++
woolfy PerlJam++ indeed 20:40
masak lizmat: re github.com/perl6/specs/commit/e4c5b10b3b -- I don't believe this belongs in spec. at least not without a big '[CONJECTURAL]' notice next to it. 20:41
timotimo something i notice is that all these links liz put on her slides ... it kinda seem like each one of them has a different domain that hosts it
we might do well to make discoverability easier with a centralized index that's more than just a bunch of links
masak lizmat: it's exactly the kind of "move the goalposts" feature-creeping we *shouldn't* be doing as we aim for stability and completeness... :/
lizmat: also, I need some cool examples of how Perl 6 could be extended with macros, slangs, and language introspection... :) 20:42
dalek ecs: 24850d6 | (Elizabeth Mattijsen)++ | S04-control.pod:
Add CONJECTURAL to slip, and ++ version: masak++
20:43
timotimo it kind of seems like (to me) that the iterator itself has to cooperate for slip to make work
masak yeah, it's a pretty intrusive change.
lizmat hence my suggestion it'd be part of GLR
masak nonono please no
let's focus on real problems for GLR 20:44
timotimo there are only 25 synopses? i thought there were 99! :P
masak there's one way to make GLR hurt, and that's to throw everything and its cat into the blender
lizmat fwiw, if you need to add flags and stuff yourself to make the code do what your want, we're missing a feature 20:45
timotimo hmm, that sounds a bit oversimlified
20:45 xfix is now known as notfix
lizmat ok, anyway, it's now in as CONJECTURAL 20:45
so it's something we might want to keep in the back of our minds while working on the GLR :-) 20:46
timotimo lizmat: during the Q&A part, at one point you say "thank you, lichtkind" into the audience, directly after "my personal project is to go through all the synopses and check what we still have to implement"
what did he say?
gtodd no slippage in GLR?
lizmat timotimo: he didn't say anything :-) 20:47
timotimo did you thank him for not saying anything? :)
lizmat feels embarrassed to really discuss... 20:48
timotimo OK, fair enough
raydiak does Math::Symbolic sound like a reasonable name for an expression/equation parsing/manipulating module? 20:50
awwaiid does to me 20:53
pmichaud lizmat: how would slip work in a while loop?
raydiak then in the absence of objections, I'll name it that :) 20:54
colomon raydiak: +1 20:55
lizmat pmichaud: just like redo, but it *would* call the NEXT phaser
dalek rl6-bench/stress: b932bb0 | (Geoffrey Broadwell)++ | analyze:
Diagnosis 'other' is now 'unknown'; make sure we always have a diagnosis
rl6-bench/stress: 758386d | (Geoffrey Broadwell)++ | analyze:
First pass at showing failures in text summary
rl6-bench/stress: 15222c2 | (Geoffrey Broadwell)++ | analyze:
Make compare and show-failures independent
rl6-bench/stress: 1e28573 | (Geoffrey Broadwell)++ | analyze:
Show test name only once per test, no matter which text summary lines are being shown
pmichaud ummmmmmmmmm....
lizmat actually
I *thought* redo in a while loop would call the NEXT phaser
but it doesn't
hmmm..... 20:56
that wouldn't make sense, indeed... and redo is specced to not be a next iteration
pmichaud slip sounds like it introduces quite a few warts 20:57
lizmat so it's correct that the NEXT phaser isn'r called
masak `redo` is basically a kind of goto instruction.
`slip` is basically a kind of CPS thing.
pmichaud I'm not saying slip isn't useful or warranted, only that there are a lot of edge cases to consider
masak what pmichaud said.
`slip` is about as disruptive as `gather`, and should not be spec'd lightly. 20:58
pmichaud how does 'slip' differ from 'next' ?
lizmat pmichaud: it would not leave the scope
masak pmichaud: `slip` goes on to the next instruction, with all values intact.
pmichaud lizmat: meaning it continues on from where the 'slip' occurred? 20:59
masak yes. 21:00
TimToady slip could just call NEXT if the compiler poked the iterating code and bind into NEXT
pmichaud there's a difference between "not leave the scope" and "returns to the top of the scope"
masak it doesn't leave the scope, at least not from the point of view of the user.
pmichaud because 'next' definitely leaves the scope, as currently defined. 21:01
masak yes.
mauke slip is just a time warp
pmichaud so saying that 'next' is 'slip + redo' is very misleading, if neither slip nor redo leave the scope.
TimToady but NEXT is merely what happens when you do that
masak pmichaud: that's a really good point.
didn't think about that.
mauke redo = CR, slip = LF 21:02
masak hehe
pmichaud what happens to the return value from a slip? is it skipped?
TimToady or, arguably, slip is the abstraction of what happens right after NEXT before re-entering the loop
pmichaud from a performance standpoint, I don't want to be moving the iterator into the NEXT phaser. 21:03
TimToady not suggesting that anymore
but slip could be an inlined function
pmichaud so, slip in a while loop is effectively a no-op? 21:04
other than calling the NEXT phaser
TimToady no, slip tests the condition
I think
pmichaud and exits if false?
weeeeeeird.
mauke wait, that makes it less useful for parsing continuation lines
TimToady not really 21:05
masak I had it as reading the next line, or doing whatever other iteration goes with the loop.
pmichaud wait wait wait wait
you mean:
masak that is, all the state in the loop is the same, except that you're now "in the next iteration".
pmichaud for lines() { slip; .say; } # should rebind $_ to the 2nd line read?!?
TimToady I think so 21:06
masak and 4th, and 6th, and 8th...
pmichaud how exactly does that work if we aren't re-entering the block?
masak by torturing implementors.
pmichaud since for lines() { slip; .say } is really for lines() <-> $_ { slip; .say }
TimToady normal binding has to have already entered the block in some sense, or there's no lexpad
mauke I propose a 'handwave' primitive
pmichaud more directly: 21:07
masak pmichaud: I can think of a mechanism that does this, but that mechanism breaks the code down using a CPS transform.
pmichaud lines().for( -> $x { slip; say $x; } )
TimToady thinks using CPS to goto where I am already is silly :)
masak pmichaud: that's also what Continuations::Kinda does, by the way.
TimToady but I'm all in favor of pessimizing slip vs normal code 21:08
masak +1
pmichaud so, slip has to know what block has been called, and has to re-bind the parameters to the next set of arguments coming from the iterator, all without leaving the scope.
TimToady otoh, we're still trying to avoid overt requirements for continuations
masak I think if I get macros and Qtrees where I want, a sufficiently motivated macro programmer would be able to do CPS transforms on Perl 6 code.
so no need for actual continuations. 21:09
just arduous code tree rewriting.
lizmat sneaks away to get some sleep before setting up the Perl booth at T-Dose (www.t-dose.org)
pmichaud so, let's start with a more basic question: is there a way for a Routine to rebind its parameters from a new set of arguments, short of doing a lot of introspection? 21:10
or, actually, any Block, not just a Routine 21:11
masak doesn't know the answer, but would also like to know :)
pmichaud reminds me somehow of "callsame", but different.
masak pmichaud: my intuition is that it sounds a bit "wrong", or counter to the original intent of blocks/lambda calculus.
TimToady sig ::= args, for some value of sig and args
masak pmichaud: don't know how strong that objection is/should be, though. 21:12
pmichaud masak: well, that's effectively what 'slip' is saying, I think.
masak maybe :)
pmichaud perhaps slip is really a target LABEL
21:12 raiph left
pmichaud saying "when you do the next iteration, skip forward to this point" 21:12
TimToady
.oO(syntax : sugar :: semantics : ratpoison)
pmichaud but that kind of blows the "continuation line" model out of the water, I think. 21:13
masak pmichaud: in my mental model, it's the start of a new "basic block", in moar's meaning of the word.
pmichaud: so yes, a kind of anonymous label.
dalek kudo/nom: 5b716e8 | (Elizabeth Mattijsen)++ | src/core/Array.pm:
Fix .perl for typed arrays

This is really fixing a symptom rather than the cause, because the real problem is that the iterator on the typed array is returning the wrong thing. Since this gets me into gimme and reify land, I opted for this solution, so that at least .perl roundtrips for typed arrays.
pmichaud I think I want to see a few code examples using 'slip' first. 21:16
masak I have no idea how we ended up discussing the inclusion of `slip` into Perl 6 this seriously :/
TimToady what, we were serious?!? 21:17
masak that was not really ever my intent. at least I don't remember it being so :)
pmichaud well, it got added to S04, which instantly impacts my GLR thinking. :-/
masak pmichaud: I'm sorry it got added to S04.
pmichaud: I'll be happy to remove it, if that makes your life easier.
TimToady well, apparently it's marked conjectural 21:18
pmichaud it only makes my life easier if someone doesn't come back and add it back later :)
masak I remember at many times wishing I could *add* `slip` through sufficiently flexible Perl 6 extension mechanisms.
masak goes ahead and removes `slip` from S04
I don't want to impact pmichaud's thinking.
pmichaud at the moment it feels to me like one of those things that feels nice at first blush but really needs real code examples to figure out what it should do and how it should work 21:19
masak *nod*
dalek ecs: 3be145c | masak++ | S04-control.pod:
Revert addition of 'slip' to S04

  'slip' may (or may not) be a nice+useful feature, but we're not ready to
add it to core just now. In GLR we have more pressing concerns.
This reverts commit 24850d6b665913be797067a5c80e8d3fdfc03c1b. This reverts commit e4c5b10b3bed23d270f50208b9e4c621c18dacba.
21:22
masak phew. 21:24
TimToady but it's still in the history, so we're Not Safe 21:25
:)
PerlJam cry havoc and let slip ... be reverted
colomon more pressing concerns++
raydiak
.oO( slippery slope )
21:26
21:26 woolfy1 joined
pmichaud r: say (1,2,3,Nil,4).flat.perl 21:26
camelia rakudo-{parrot,moar} 315ec6: OUTPUT«(1, 2, 3, 4).list␤»
pmichaud am I correct in believing that in the current spec Nil should not be removed from that list? 21:27
21:27 woolfy left
TimToady that's what current spec says, but nobody's been able to fix it 21:27
21:27 lizmat_ joined
pmichaud okay, I think I'm going to attempt that first. 21:27
(next week)
it feels like a useful ledge, plus we need to figure out how much will break as a result. 21:28
TimToady maybe we need $Nil and @Nil :)
pmichaud s/ledge/plateau/ # or some other thing that means "intermediate step"
it seems to me that fixing Nil ought to be something that can be done w/o full GLR 21:29
21:29 lizmat left
TimToady yeah, it seemed that way to several of us before... 21:29
pmichaud and if it can't, then it's vitally important to know why
TimToady yup
at one point I tried putting in an Empty that meant (), and then started changing Nil to Empty where it wanted () semantics, but that broke pretty quick, don't remember where 21:31
might even have been in niecza
pmichaud adding an Empty is probably the wrong way to go
TimToady I just wanted to detangle the concepts, wasn't intending to make Empty visible to the user
but a lot of places treat Nil as nominal 21:32
and () ain't too nomianl
*inal
again, may be remember niecza here...
pmichaud well, Nil has had a number of meanings added to it since its original () days
TimToady and at least in niecza, there were lots of places where the parser relied heavily on Nil meaning () 21:34
afair, to be fair 21:35
21:36 erkan joined 21:39 immortal left
TimToady but to be sure, I also tried to fix it in rakudo, and was terribly successful :) 21:40
but mostly due to lack of familiarity with internals, which doesn't apply in the current situation :) 21:41
pmichaud indeed. :)
anyway, that'll be my Sunday or Monday activity, I think.
21:42 gamo joined
pmichaud gotta make sure my name keeps showing up in the release announcement credits. :) 21:43
gamo Can a sub be passed as a parameter to another sub in perl6?
TimToady absolutely
pmichaud gamo: yes.
TimToady we love higher-order programming 21:44
gamo as a reference?
pmichaud r: my xyz($x) { say $x; }; (1,5,10).map(&xyz)
camelia rakudo-{parrot,moar} 315ec6: OUTPUT«===SORRY!===␤Type 'xyz' is not declared␤at /tmp/tmpfile:1␤------> my xyz⏏($x) { say $x; }; (1,5,10).map(&xyz)␤Malformed my␤at /tmp/tmpfile:1␤------> my ⏏xyz($x) { say $x; }; (…»
TimToady everything is a reference, to the first approximation
pmichaud errr
r: sub xyz($x) { say $x; }; (1,5,10).map(&xyz)
camelia rakudo-{parrot,moar} 315ec6: OUTPUT«1␤5␤10␤»
pmichaud or, if you prefer something more perl 5-ish: 21:45
r: sub xyz($x) { say $x; }; map &xyz, 1, 5, 10;
camelia rakudo-{parrot,moar} 315ec6: OUTPUT«1␤5␤10␤»
FROGGS m: sub foo($a, $b) {}; say &foo; say &foo.arity
camelia rakudo-moar 315ec6: OUTPUT«sub foo (Any $a, Any $b) { #`(Sub|67371904) ... }␤2␤»
gamo It's ok, very good.
TimToady m: my $xyz = { .say }; (1, 5, 10).map($xyz) 21:46
camelia rakudo-moar 315ec6: OUTPUT«1␤5␤10␤»
TimToady m: my $xyz = *.say; (1, 5, 10).map($xyz)
camelia rakudo-moar 315ec6: OUTPUT«1␤5␤10␤»
FROGGS gamo: every operator in Perl 6 is a subroutine
TimToady m: say 1, 1, &infix:<+> ... *
camelia rakudo-moar 315ec6: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 70140873…»
FROGGS (most a multi subs btw)
are* 21:48
gamo ok, and what VM is better: parrot or moar in terms of speed? 21:50
TimToady these days, moar wins
gamo by a little or...? 21:51
TimToady r: my $start = now; for 1..1000000 {}; say now - $start
camelia rakudo-parrot 315ec6: OUTPUT«3.03667792␤»
..rakudo-moar 315ec6: OUTPUT«0.39324787␤»
TimToady well, not quite an order of magnitude in that case 21:52
of course, it depends on what you are doing
gamo a lot of rand use 21:53
TimToady r: my $start = now; for 1..1000000 { rand }; say now - $start
camelia rakudo-parrot 315ec6: OUTPUT«3.41162567␤»
..rakudo-moar 315ec6: OUTPUT«0.5773421␤»
gamo ok, I need to recompile, then 21:54
21:54 virtualsue joined, immortal joined, immortal left, immortal joined
gamo thank you! 21:54
TimToady don't mention it :) 21:55
21:56 erkan left
raydiak is mildly surprised that an empty loop iterating over a constant list of constants gets executed at all 21:58
TimToady well, obviously the *intent* is a timing loop, so maybe it's out-smarted you :) 22:01
22:02 pierrot left
raydiak heh, indeed, it does do that more than never :) 22:03
22:03 pierrot joined
avuserow .oO( All C++ does is improve C's reputation ) 22:03
22:05 raiph joined 22:24 sftp_ joined 22:26 sftp left, sftp_ is now known as sftp 22:27 raiph left
FROGGS sooo, now panda can create test reports ala gist.github.com/FROGGS/5b25776e1ce3f297cb05 22:28
who fancies writing a service that receives such reports and displays it nicely?
tadzik a builtin emmentaler? Nice! 22:29
I can write a server that gathers these :)
but for the displaying part a frontend wizard is necessary 22:30
dylanwh What sort of frontend would be required? How fancy we talkin' here? :)
FROGGS just something bootstrappy and it will be awesome :o) 22:31
tadzik I've no idea, but my frontend is now going to sleep :)
FROGGS *g*
gnight tadzik
dylanwh I could do something bootsrappy. 22:32
22:34 psch left
FROGGS would be interesting to see a matrix like in here: static.cpantesters.org/distro/S/SDL.html 22:35
though, we also have three backends, and I don't know what is more important, operating system or vm
(or both or nothing or a mix or...)
dylanwh perhaps two different cuts? 22:36
FROGGS probably, yeah
dylanwh "by VM" and "by OS", whichever one you're on has tabs/etc to the others
that is, on the by VM view, you can switch OS
FROGGS yeah
"Perl version" might be "rakudo compiler release version" for now 22:37
I push my stuff to branches now, perhaps somebody likes to try 22:38
though, it only works on moar atm... parrot and jvm need a new op called nqp::closefhi
22:38 erkan joined
dylanwh I'll see if I can through together a fun prototype over the weekend. Sounds like fun. :) 22:38
FROGGS bootstrap is fun.. at least for me :o) 22:39
dylanwh (and something I can actually contribute to perl6 :-D)
FROGGS *g*
dylanwh++
raydiak might also work to have VM & OS lumped together in one series like 'linux/moar', 'win/moar', 'linux/jvm', etc 22:40
dylanwh that may look nicer, a *3 multiplier isn't horrible
22:40 immortal left
raydiak and well-volunteered, dylanwh++ :) 22:41
and tadzik++ 22:42
22:43 erkan left, sqirrel_ left, [particle] left, avuserow left, ggoebel111111110 left, japhb left, gtodd left, japhb joined, avuserow joined, virtualsue left, sqirrel_ joined 22:44 [particle] joined 22:45 gtodd joined, erkan joined
dalek p/closefhi: 9f2b16d | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
map nqp::closefhi on moar (parrot and jvm are TODO)
22:47
kudo/closefhi: 3999da8 | (Tobias Leich)++ | src/core/IO/Handle.pm:
implement IO::Handle.close-pipe, which returns the exit code
22:48
22:48 ggoebel111111110 joined
dalek nda/reporter: 98ea6ec | (Tobias Leich)++ | / (7 files):
implement Panda::Reporter, which saves reports to disk for now

This is WIP. It will create a test report file once a dist installation is attempted. See this example of a FAIL: gist.github.com/FROGGS/5b25776e1ce3f297cb05 Next step is to submit these reports for review to a web service. We also need to ask the user for permission to generate and send these reports.
22:53
FROGGS .tell leont Would it be of any interest for you TAP::Harness that you can now read from a pipe and also get the exit code? 22:58
yoleaux FROGGS: I'll pass your message to leont.
FROGGS gnight #perl6 23:01
raydiak good night FROGGS
23:02 rjt_pl joined 23:07 rjt_pl left 23:09 rjt_pl joined, molaf left 23:11 ajr_ left 23:15 rjt_pl left 23:17 gamo left 23:32 grettis left 23:36 BenGoldberg joined, grettis joined 23:44 gfldex left 23:46 j4jackj left, j4jackj joined 23:50 grettis left
timotimo FROGGS: cpantesters.org is cool, but ... all of the data on a single page 23:52
Tekk_ timotimo: that's nice imo 23:53
lets you use ctrl+f 23:54
all on one page with bookmarks to div is the best way to do it
timotimo hmm. 23:55
it's good that the json button and the rss and yaml buttons are right at the top there
actually i'd find it interesting to have a little angular app like our profiler pages 23:56
because you can't just crunch that data in your browser
i'd also suggest using actual text instead of little images to have 90 degrees rotated headings for tables :P 23:58