Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-08-14

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 rafl it's ok if it's in a 3-way
00:05 rafl there he is. all sorted.
00:10 benabik_ joined #perl6
00:46 crked Hi,
00:46 crked perl
00:50 crked nom: class A{ method b{ say "b" } } A.b=method { say "c" }; my $a=A.new(); $a.b;
00:50 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "class A{ m"␤»
00:53 crked nom: class A{ method b{ say "b" } }; A.b=method { say "c" }; my $a=A.new(); $a.b;
00:53 p6eval nom: OUTPUT«b␤Cannot assign to a non-container␤  in mu <anon> at /tmp/YuaPVFQpBW:1␤  in mu <anon> at /tmp/YuaPVFQpBW:1␤␤»
00:54 crked How to redefine a method?
00:55 Minimiscience joined #perl6
00:57 gfldex crked: http://perlcabal.org/syn/S12​.html#Open_vs_Closed_Classes
01:05 LimitSupremum joined #perl6
01:15 LimitSupremum joined #perl6
01:29 tokuhirom joined #perl6
01:39 fbass joined #perl6
01:41 kst joined #perl6
01:53 woosley joined #perl6
02:15 xinming joined #perl6
02:31 LimitSupremum joined #perl6
02:48 uniejo_in_riga joined #perl6
02:50 thou joined #perl6
02:54 LimitSupremum joined #perl6
03:00 uniejo_in_riga joined #perl6
03:07 soh_cah_toa rakudo: constant FOO = 'bar'
03:07 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= 'bar'"␤»
03:08 soh_cah_toa rakudo: our constant $FOO = 'bar'
03:08 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= 'bar'"␤»
03:08 soh_cah_toa nom: our constant $FOO = 'bar'
03:08 p6eval nom:  ( no output )
03:08 soh_cah_toa nom: our constant $FOO = 'bar'; say 'constant'
03:08 p6eval nom: OUTPUT«constant␤»
03:09 soh_cah_toa when is nom gonna be merged into master? it's soon, right?
03:10 sorear real soon
03:10 sorear if nothing unexpected happenes, 11.08 will be nom-bases
03:12 soh_cah_toa good
03:14 soh_cah_toa and what the heck? why is Configure.pl (on nom branch) telling me that i don't have nqp? even if i use --with-nqp, i get an exception. nom doesn't build w/ parrot-nqp?
03:14 sorear correct
03:14 soh_cah_toa agh
03:14 sorear nom requires nqp-nom
03:14 sorear parrot-nqp is nqp-rx
03:15 soh_cah_toa oh, what's different in nqp-nom?
03:15 sorear more or less everything
03:15 sorear nqp-rx is a thin layer over Parrot with Perl syntax; nqp-nom is a VM abstraction layer
03:16 sorear nqp-nom has definite semantics for objects, primitive types, arithmetic, multiple dispatch, etc
03:16 sorear nqp-rx delegates all that to Parrot
03:16 soh_cah_toa ah neat
03:16 soh_cah_toa can i create hashes w/o using hash() now? ;)
03:16 sorear probably now
03:16 sorear not
03:17 soh_cah_toa egh
03:17 soh_cah_toa well anyway, where's the source for nqp-nom? i need to install it
03:17 sorear one thing that hasn't changed is that nqp wants simplified syntax
03:17 sorear I think it's on github somewhere, too lazy to look, --gen-nqp will DTRT
03:18 woosley joined #perl6
03:18 soh_cah_toa well, i can't find it on github but i'll try --gen-nqp
03:18 sorear maybe perl6/nqp or parrot/nqp or nqp/nqp
03:18 soh_cah_toa oh yeah, right
03:37 kaare_ joined #perl6
03:55 pmichaud nqp is http://github.com/perl6/nqp
03:55 soh_cah_toa yup, i found it
03:55 pmichaud (good morning, #perl6)
03:56 pmichaud in nqp (-nom), one can create hashes using nqp::hash(...)
03:56 pmichaud so far it only understands key, value, pairs... but eventually it'll also support the named syntax.
03:56 soh_cah_toa ok
03:56 pmichaud as well as being able to interpolate arrays and other hashes
03:57 soh_cah_toa is it just me or does nom take *a lot* longer to build than master?
03:57 pmichaud it's currently taking a lot longer, yes.
03:57 pmichaud I finally got a good benchmark on it yesterday, and jnthn and I aren't quite sure why it's so much longer
03:58 pmichaud as soon as we get the features for nom->master in place I'll undoubtedly start looking for the reasons for the slowdown
03:58 soh_cah_toa great
03:59 pmichaud I think the current plan is that nom will become master on Tuesday.
03:59 soh_cah_toa :D
03:59 pmichaud and we'll issue the 2011.08 release of Rakudo (nom-based) on Wednesday.
03:59 soh_cah_toa very awesome
04:00 pmichaud (might do it on Tuesday... it will depend a bit on the timing of the Parrot release)
04:04 soh_cah_toa nom: our constant $FOO, $BAR; say 'done'
04:04 p6eval nom: OUTPUT«===SORRY!===␤Missing initializer on constant declaration at line 1, near ", $BAR; sa"␤»
04:04 soh_cah_toa nom: our constant $FOO = 1, $BAR = 2; say 'done'
04:04 p6eval nom: OUTPUT«===SORRY!===␤Symbol '$BAR' not predeclared in <anonymous> (/tmp/jBXFXEirjY:1)␤»
04:04 pmichaud declarators are lower precedence than ,
04:04 soh_cah_toa i can only declare one constant at a time?
04:05 pmichaud s/lower/tighter/
04:05 TimToady it's usually better for readability to declare them one at a time
04:06 TimToady unless they're related
04:06 TimToady nom: our constant ($x,$y) = 1,2; say $y
04:06 p6eval nom: OUTPUT«===SORRY!===␤Malformed constant at line 1, near "($x,$y) = "␤»
04:06 TimToady that might be supported someday
04:06 pmichaud std: our constant ($x, $y) = 1,2;  # curious
04:07 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed constant at /tmp/ESLfJi_dpt line 1:â�¤------> [32mour constant [33mâ��[31m($x, $y) = 1,2;  # curious[0mâ�¤    expecting any of:â�¤     traitâ�¤  type_declaratorâ�¤Parse failedâ�¤FAILED 00:01 118mâ�¤Â»
04:07 soh_cah_toa i suppose if they're related i should just use an enum anyway
04:07 TimToady I'm a bit biased against multiple declarations; I generally do separate 'my' decls too, even though my supports sigs
04:07 TimToady nom: my ($x,$y) = 1,2; say $y
04:07 p6eval nom: OUTPUT«2␤»
04:08 TimToady but I'd still write those separately
04:08 soh_cah_toa yeah, i usually do that too. just a habit, i guess
04:09 TimToady well, I think it's a good habit
04:10 TimToady nom: our constant @fib = 0, 1, *+* ... *; say @fib[10]
04:10 p6eval nom: OUTPUT«===SORRY!===␤Cannot handle constant @fib with non-literal value yet at line 1, near "= 0, 1, *+"␤»
04:10 TimToady niecza: constant @fib = 0, 1, *+* ... *; say @fib[10]
04:10 p6eval niecza v8-51-g785e335: OUTPUT«55␤»
04:11 TimToady niecza: constant @fib = 0, 1, *+* ... *; @fib[10] = 42; say @fib[10]
04:11 p6eval niecza v8-51-g785e335: OUTPUT«42␤»
04:11 TimToady aha, niecza is cheating :
04:11 TimToady :)
04:12 TimToady nom: constant $x = 42; $x = 43; say $x
04:12 p6eval nom: OUTPUT«Cannot assign to a non-container␤  in mu <anon> at /tmp/5GkHwKYSSf:1␤  in mu <anon> at /tmp/5GkHwKYSSf:1␤␤»
04:24 uniejo_in_riga joined #perl6
04:37 pmichaud TimToady: Where did you get the Perl 6 shirt you were wearing yesterday?  My wife saw it in the P6 hackathon video and wants one.  :-)
04:47 dalek mu: 9dc0e54 | (Kolia Morev)++ | docs/Perl6/Perl5/Differences.pod:
04:47 dalek mu: fix typo: slice parameter should be **@
04:47 dalek mu: review: https://github.com/perl6/mu/commit/9dc0e5417b
04:47 dalek mu: 70e4f1f | (Kolia Morev)++ | docs/Perl6/Perl5/Differences.pod:
04:47 dalek mu: fix broken link
04:47 dalek mu:
04:47 dalek mu: Obsolete section renamed to Obsolete Functions
04:47 dalek mu: review: https://github.com/perl6/mu/commit/70e4f1fba6
04:47 dalek mu: 2b57b00 | (Kolia Morev)++ | docs/Perl6/Perl5/Differences.pod:
04:47 dalek mu: fix code formatting
04:47 dalek mu: review: https://github.com/perl6/mu/commit/2b57b00896
04:47 dalek mu: c5b229c | moritz++ | docs/Perl6/Perl5/Differences.pod:
04:47 dalek mu: Merge pull request #1 from kolyuchiy/misc-doc-fixes
04:47 dalek mu:
04:47 dalek mu: Misc doc fixes
04:47 dalek mu: review: https://github.com/perl6/mu/commit/c5b229c5fa
04:47 moritz good morning
04:48 pmichaud awesome patches
04:48 JimmyZ_ joined #perl6
04:49 JimmyZ_ joined #perl6
04:50 JimmyZ_ pmichaud: is there a video online?
04:51 JimmyZ_ I saw the T-shirt here http://misc.yapceurope.lv/​img/photo/perl6-curve.jpg  but I can't  see the front
04:53 pmichaud there are versions of the shirt available at cafepress.com/pugscode... but I'm not sure that's the source of TimToady++'s shirt.  It seems to me that TimToady's shirt was a bit nicer than the ones on cafepress
04:54 JimmyZ_ pmichaud: yeah, I want to buy one too
04:55 pmichaud video is at http://www.youtube.com/watch?v=OJwlCzW5O_Q
04:56 TimToady It was given to me by audreyt++
04:56 JimmyZ_ sigh...
04:59 JimmyZ_ that may be a long time ago..
05:06 moritz perl6: say 'a.' ~~ /a<.ws>/
05:06 p6eval niecza v8-51-g785e335: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>␤»
05:06 p6eval ..rakudo 922500: OUTPUT«a␤»
05:06 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6​.2.13.16/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped b…
05:21 cotto joined #perl6
05:24 * mberends -> Erlangen o
05:25 pmichaud mberends: o/
05:26 * pmichaud -> breakfast nom
05:27 benabik joined #perl6
05:28 JimmyZ_ joined #perl6
05:41 masak joined #perl6
05:41 masak morning, #perl6
05:42 TimToady o/
05:42 sorear hi
05:42 Trashlord joined #perl6
05:45 takadonet1 nom: my Rat $x; my $a;$a+=$x;
05:45 p6eval nom: OUTPUT«Cannot access attributes in a type object␤  in method denominator at src/gen/CORE.setting:1074␤  in sub infix:<+> at src/gen/CORE.setting:4779␤  in mu <anon> at /tmp/S5CEtQnydb:1␤  in mu <anon> at /tmp/S5CEtQnydb:1␤␤»
05:45 takadonet1 nom: my Rat $x=1.0; my $a;$a+=$x;
05:45 p6eval nom:  ( no output )
05:50 wamba joined #perl6
06:02 dalek roast: d05edc5 | moritz++ | S05-substitution/subst.t:
06:02 dalek roast: unfudge ss/// test for rakudo
06:02 dalek roast: review: https://github.com/perl6/roast/commit/d05edc559a
06:02 drbean joined #perl6
06:05 dalek rakudo/nom: c3be2ce | moritz++ | src/core/Str.pm:
06:05 dalek rakudo/nom: (cheated) Str.samespace
06:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3be2ce707
06:27 * rafl wonders where cotto is
06:27 tadzik good morning #perl6
06:27 tadzik there was a hackathon video?
06:27 moritz tadzik: see backlog, a youtube likn
06:28 moritz 06:55 < pmichaud> video is at http://www.youtube.com/watch?v=OJwlCzW5O_Q
06:28 tadzik oh, thanks
06:31 envi joined #perl6
06:31 moritz nom: say <a b c>.elems
06:31 p6eval nom: OUTPUT«3␤»
06:32 masak morning, tadzik.
06:32 tadzik I is on the video :)
06:34 moritz where? which one are you? :-)
06:34 tadzik :) 0:10 or 0:11, next to Patrick
06:35 moritz ah
06:35 moritz tadzik: do you know who the guy before you is?
06:35 tadzik I must have been working on formattingcode, looking at the facial expression ;)
06:35 tadzik it's baest, isn't he?
06:36 moritz thought so, but wasn't sure
06:36 tadzik next to rafl
06:36 moritz right
06:37 rafl yes, beast.
06:38 moritz nom: say 'FoO bar baz...'.subst(rx/\w+/, -> $_ { .str.lc.ucfirst } )
06:38 p6eval nom: OUTPUT«Method 'str' not found for invocant of class 'Match'␤  in block <anon> at /tmp/3NX7eNTfzk:1␤  in method reify at src/gen/CORE.setting:3208␤  in method reify at src/gen/CORE.setting:3113␤  in method reify at src/gen/CORE.setting:3113␤  in method gimme at src/gen/CORE.setting:…
06:38 benabik .Str?
06:38 moritz nom: say 'FoO bar baz...'.subst(rx/\w+/, -> $_ { .Str.lc.ucfirst } )
06:38 * tadzik off breakfasting
06:38 p6eval nom: OUTPUT«Foo bar baz...␤»
06:38 moritz nom: say 'FoO bar baz...'.subst(rx/\w+/, -> $_ { .Str.lc.ucfirst }, :g )
06:38 p6eval nom: OUTPUT«Foo Bar Baz...␤»
06:38 masak .str ?
06:39 moritz native :-)
06:39 masak o.O
06:41 masak tadzik: did you harbour cotto tonight? if so, tadzik++
06:41 moritz "native typo" :-)
06:44 uniejo_in_riga joined #perl6
06:45 dalek rakudo/nom: 1a442ef | moritz++ | / (5 files):
06:45 dalek rakudo/nom: cosec, acosec
06:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1a442efbd7
06:48 uniejo_in_riga joined #perl6
06:53 * masak delves into reams of C errors/warnings
06:54 moritz dreams? realms?
06:54 moritz both have an edit distance of 1 to 'reams' :-)
06:55 masak moritz: http://dictionary.reference.com/browse/ream
06:55 TiMBuS if you think C spits out a lot of errors, you havent used enough C++
06:55 masak and I don't plan to, either.
06:55 masak I'm generally open towards new impressions and new languages, but C++ is where I draw the line.
06:56 yath heh
07:00 tokuhirom joined #perl6
07:01 Khisanth joined #perl6
07:01 tokuhirom joined #perl6
07:04 tadzik masak: yep :) And I just realized we missed a great Soviet Russia joke opportunity yesterday
07:06 uniejo__ joined #perl6
07:06 masak in Soviet Russia restaurant, waiter orders YOU.
07:07 tadzik also, the dinner comes for you
07:07 jnthn o.O
07:07 tadzik :D
07:11 moritz jnthn: if I add  multi method Int(Parcel:D:) { self.flat.elems}  to Parcel.pm, I get "Method 'instantiate_generic' not found for invocant of class 'Undef'" during compilation
07:12 Khisanth joined #perl6
07:15 cotto joined #perl6
07:16 masak cotto! \o/
07:16 cotto hi masak
07:17 cotto where are you at?
07:17 masak Konventa Seta.
07:18 masak jnthn and pmichaud and I are staying on top of the percelain museum.
07:18 cotto that's the same place as rafl and tadzik
07:19 jnthn No, they're elsewhere
07:19 jnthn moritz: hm, wtf.
07:19 moritz jnthn: just pushed a commit where I've added that method commented out, if you want to play with it
07:19 dalek rakudo/nom: 0447cac | moritz++ | / (4 files):
07:19 dalek rakudo/nom: implement capitalize
07:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0447cac8f7
07:20 cotto jnthn, indeed.  The similar name confused me.
07:20 cotto Languages I don't speak tend to do that. ;)
07:20 sivoais joined #perl6
07:21 mj41 joined #perl6
07:22 tadzik wait til you get to know the street names :0
07:22 tadzik :)
07:22 cotto looks like a couple blocks from my place
07:22 cotto so many bacteria
07:22 tadzik Ukaju, Uneku, Unekalu, Aielu
07:23 cotto Smilsu seems friendly
07:26 tadzik gah, I can't reproduce a bug. It appears only when I parse S26 as a whole
07:27 benabik tadzik: Copy S26 into a new file and start deleting lines until it doesn't occur, then put that one back?
07:27 tadzik benabik: do you know how many lines is S26? :P
07:27 tadzik but I could try that, yes
07:27 benabik tadzik: Details, details.
07:27 benabik tadzik: You could delete sections at a time instead…  Bisection like.
07:28 tadzik yeah, I know what you mean
07:28 benabik sections until it works, put it back, paragraphs, lines, etc.
07:28 tadzik well, I tracked down the section in which it crashes, but when I isolated it, it works
07:28 tadzik I'll just do a full 'make' instead of 'make perl6' all the time
07:28 c1sung joined #perl6
07:29 tadzik the worse thing is that I made it segfault once or twice :/
07:30 tadzik so it may be all related to that gc bug we have :/
07:30 benabik It might be something about the way it parses things up to it… ends up in an inconsistent state...
07:30 benabik Ugh, GC bugs.
07:30 tadzik but if I parse S26 with gc turned off... gah, my rams :(
07:31 tadzik benabik: it's about a data structure, twine, having even number of elements, which is quite forbidden. And I checked every compiler methods that constructs them, and they all construct odd-elmented lists
07:32 benabik So one's getting dropped somewhere or something.  Not good.
07:32 tadzik oh, you should've seen this old one :)
07:32 tadzik You attach a .WHY to a Sub object, and then you get "Method .WHY not found for invocant of class NQPLexPad"
07:33 tadzik or CallContext, depending on the memory layout
07:33 tadzik or a full-blown segfault ;)
07:33 rafl cotto: you alright, mate? didn't even notice you leaving?
07:33 jnthn pmichaud: Any idea why regex_coderef gives "Method 'push' not found for invocant of class 'Undef'"
07:33 jnthn ?
07:33 c1sung joined #perl6
07:33 pmichaud jnthn: on what regex?
07:33 cotto rafl, I'm fine.  I got a few hours of sleep.  Should be enough to run on.
07:34 jnthn pmichaud: A smallish grammar, lemme paste
07:34 cotto Anyone in Riga interested in lunch in a couple hours?
07:34 tadzik probably
07:34 rafl good!
07:34 jnthn pmichaud: https://gist.github.com/1144673
07:34 rafl also, yes
07:35 pmichaud jnthn: let me update my build and I'll work on it
07:36 jnthn Thanks!
07:37 cotto Which restaurants are good around here?
07:40 masak cotto: what type food?
07:41 cotto masak, I'm fine if it's cooked.  Preferably someplace with beer though.
07:41 masak so far, we haven't had any spectacular failures re food.
07:41 masak there are lots of eateries here in Old Town.
07:42 cotto that's promising.  Should I just go outside, spin around and pick whichever place I end up pointing at?
07:42 jnthn Yes, provided it's not McDonalds ;)
07:42 tadzik does anyone have a machine with, like, enourmous amount of ram? I'd like to try parsing S26 with GC turned off, and my 2 GBs fill up in like a few seconds...
07:43 tadzik oh, I can still try ms2
07:43 cotto tadzik, I have a bunch though some of it's known-bad.
07:43 cotto not a lot, but it doesn't take a lot
07:44 tadzik cotto: what do you mean by known-bad?
07:44 cotto tadzik, produces errors in memtest86
07:45 tadzik oh, ok
07:45 pmichaud "Bad Memory!  No refresh for you!"
07:45 tadzik ok, it still fails on ms2
07:45 tadzik so it's probably not write bareers
07:45 jnthn tadzik: OK, that means it's not a missing wb and thus is likely a missing mark.
07:46 tadzik oh, so still bad?
07:46 tadzik crap
07:46 jnthn yeah
07:46 tadzik I'd like to make sure, I don't want to declare it a blocker until I'm sure it is
07:46 tadzik well, it still is for Declarator blocks
07:47 moritz nom: my @a; @a.push: 1
07:47 p6eval nom:  ( no output )
07:47 moritz nom: my @a; @a.push: 1; say "alive"
07:47 p6eval nom: OUTPUT«alive␤»
07:47 tadzik and parrot -g ms just segfaults
07:48 * moritz also gets the "Method 'push' not found for invocant of class 'Undef'", this time while compiling t/spec/S05-capture/caps.t
07:48 tadzik but it segfaults on bare perl6.pbc too, so that's, ehm, ok
07:49 pmichaud wtf?  I just got the error when trying to build rakudo.
07:50 moritz nom: 'aa' ~~ /(.)+/; say $0.WHAT
07:50 p6eval nom: OUTPUT«Parcel()␤»
07:50 moritz pmichaud: yesterday I got one too. Rerunning 'make' seemed to clear up everything
07:50 moritz I questioned my sanity back then, mostly because I was rather tired :-)
07:50 pmichaud that's... worrisome.
07:51 * pmichaud does "make clean" and "make"
07:51 moritz nom: say Parcel  ~~ Capture
07:51 p6eval nom: OUTPUT«Bool::False␤»
07:53 c1sung joined #perl6
07:53 Khisanth joined #perl6
07:55 * jnthn got setting compiled
07:55 jnthn didn't make clean, though
07:56 pmichaud yeah, mine compiled the second time around
07:56 pmichaud I'm not sure what changed, though -- even the tests I ran yesterday are failing with the same error today.
07:56 pmichaud (i.e., the "'push' not found for invocant..." error)
07:57 pmichaud and they fail even if I roll back to the previou commit
07:57 pmichaud *previous commits
07:57 pmichaud (i.e., the version that I tested them with originally)
07:57 pmichaud I wonder if I forgot to push something somewhere... although I can't seem to find it.
07:58 jnthn pmichaud: Assume nqp version bump(s) needed have happened?
07:58 chadadavis joined #perl6
07:58 pmichaud jnthn: appears they're there, yes.
08:00 jnthn pmichaud: Doing a totally fresh clone and build in a different directory
08:02 pmichaud okay, 51eb0f8 is able to handle a grammar okay, including the one you nopasted.  So the problem is somewhere after that.
08:02 pmichaud I guess I can bisect
08:03 lumi_ joined #perl6
08:03 c1sung joined #perl6
08:04 jnthn pmichaud: 6ac303d added the lines of code that crash.
08:05 * masak exhales
08:05 masak I think that's enough C programming for a while.
08:06 pmichaud must be that some blocks don't have a .[1] entry yet.
08:08 pmichaud I suppose I could put the decls into .[0]
08:08 * pmichaud tries that
08:10 pmichaud I still wish I knew what is causing nom to compile so much slower than master
08:10 tadzik we have memory issues too, don't we?
08:11 tadzik I mean, master didn't need 1.5 Gbs
08:11 tadzik * GBs
08:11 moritz I wonder if it's because we do more things in the setting
08:11 pmichaud actually, nom's setting is smaller (loc) than masters
08:11 pmichaud so I suspect that isn't it.
08:12 pmichaud pmichaud@kiwi:~/nom$ wc src/gen/CORE.setting 6984  23853 210955 src/gen/CORE.setting
08:12 pmichaud pmichaud@kiwi:~/rakudo$ wc -l src/gen/core.pm
08:12 pmichaud 7910 src/gen/core.pm
08:13 moritz I wonder if we could compile each statementlist as soon as it's parsed, and then discard the PAST tree
08:13 moritz or something like that
08:15 pmichaud changing .[1] to .[0] seems to have fixed the problem.. spectesting
08:16 pmichaud I've gone ahead and pushed without waiting for the spectest
08:16 dalek rakudo/nom: 884dc50 | pmichaud++ | src/Perl6/Actions.pm:
08:16 dalek rakudo/nom: Push regex lexical declarations into $block[0] instead of $block[1]
08:16 dalek rakudo/nom: (the latter might not exist in all cases).  jnthn++
08:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/884dc5094a
08:17 mj41 compilers' features ... rakudo/nom is winning ... http://bit.ly/perl6feat
08:17 pmichaud anyway, nom's setting is smaller than masters, yet nom takes 2+ times longer to compile
08:17 pmichaud *not* including the increased time of the parrot .pir -> .pbc step
08:17 pmichaud (if that's included, it's an even greater difference)
08:17 moritz mj41++ # that's some way cool visualization
08:18 tadzik it's not a gc bug! \o
08:18 tadzik so it's my fault somewhere :/
08:18 tadzik mj41: woo, awesome!
08:18 pmichaud mj41: can the colors match the colors of the features table somehow...?
08:19 moritz mj41: is that updated regularly (or automatically)?
08:20 pmichaud jnthn/others:  let me know if 884dc50 fixes your issue(s).  kthx
08:20 mj41 working to have that automatically from cron
08:20 jnthn pmichaud: pulling
08:20 pmichaud I'd like "implemented" to be green, "missing" to be red, "partial" to be yellow, etc.  :)
08:20 mj41 not sure our platform can do that
08:21 masak do you have the source code? :P
08:22 pmichaud spectests passed with 884dc50
08:22 mj41 yes, have some spagethi code ... but working on it
08:23 pmichaud afk for a bit
08:24 cotto For those in Riga, how about lunch at Victory Pub on Tirgonu iela at 11:45?
08:25 chadadavis nom: loop (my $i=0;$i<1;$i++){}; # say 'abc' ~~ /<&nonexistant>/
08:25 p6eval nom: OUTPUT«===SORRY!===␤Missing block at line 1, near "(my $i=0;$"␤»
08:25 tadzik the speakers training is on 12
08:25 masak cotto: that's like, in 20 mintes?
08:25 cotto masak, yes.  tadzik, I missed that.
08:25 c1sung joined #perl6
08:26 masak cotto: feels slightly early, but sounds kinda nice otherwise.
08:26 chadadavis I'd like to call that ^ a bug, but can't understand why that seems to confuse the parser. Expert opinions?
08:26 moritz std: loop (my $i=0;$i<1;$i++){};
08:26 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Whitespace required before < operator at /tmp/74KwR7R_CD line 1:â�¤------> [32mloop (my $i=0;$i<[33mâ��[31m1;$i++){};[0mâ�¤    expecting escapeâ�¤Parse failedâ�¤FAILED 00:01 121mâ�¤Â»
08:26 cotto actually, I'm going to do the speaker's training.
08:27 masak chadadavis: maybe nqp doesn't have loop (;;)?
08:27 cotto I don't see anything about lunch.  Anyone want to grab a quick bite before the speaker training?
08:27 tadzik okay, win. S26 has a broken Pod
08:27 chadadavis masak, each statement is fine alone.
08:27 chadadavis nom: loop (my $i=0;$i<1;$i++) {};
08:27 dalek features: 61e9558 | moritz++ | template.html:
08:27 dalek features: link to overview chart by mj41++
08:27 dalek features: review: https://github.com/perl6/f​eatures/commit/61e95585e5
08:27 p6eval nom:  ( no output )
08:27 * cotto would go just to see damian, not having done so before
08:28 chadadavis nom: # say 'abc' ~~ / <&nonexistant> /
08:28 benabik tadzik: Error messages are preferable to segfaults though.
08:28 p6eval nom:  ( no output )
08:28 moritz look at that output from STD
08:28 tadzik benabik: yeah, I know that
08:28 moritz std: loop (my $i=0;$i<1;$i++) {};
08:28 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Whitespace required before < operator at /tmp/duyYcGEJQT line 1:â�¤------> [32mloop (my $i=0;$i<[33mâ��[31m1;$i++) {};[0mâ�¤    expecting escapeâ�¤Parse failedâ�¤FAILED 00:01 121mâ�¤Â»
08:28 moritz chadadavis: see above. It's really a syntax error
08:28 cotto masak, sorry I didn't realize that was today.
08:28 tadzik benabik: it's just a breakthrough, when something that you thought of as an Ultimate Wisdom turns out to be wrong :0
08:28 tadzik :)
08:28 chadadavis moritz: got it now. Thanks.
08:29 moritz chadadavis: without whitespace, the $i< is parsed as a $hash<...> index
08:29 benabik tadzik: And that is an excellent summation of debugging.
08:29 fbass joined #perl6
08:29 tadzik true
08:29 tadzik I now wonder how on earth did it even parse...
08:30 tadzik S26 is now one, big, hundreds of lines long formatting code
08:30 masak o.O
08:30 tadzik or maybe not
08:30 tadzik no, I'm just blind. Huh
08:32 tadzik hehe, the failing case is just L<C<=item>|#Lists> L<C<=item>|#Lists>
08:33 benabik tadzik: Duplicated?
08:34 ZaphrodZenovka joined #perl6
08:36 tadzik benabik: cutting out the whole paragraphs didn't end up that bad :)
08:36 tadzik benabik: seems so, =pod L<C<b>|a> L<C<b>|a> fails too
08:37 tadzik I wonder if that's related to the fact that it gets serialized only once, and then just looked up
08:46 moritz nom: multi infix:<+>(int $a, int $b) { nqp::add_i($a, $b) }; say 1 + 2
08:46 p6eval nom: OUTPUT«3␤»
08:46 moritz nom: multi infix:<+>(int $a, int $b) {say "native!"; nqp::add_i($a, $b) }; say 1 + 2
08:46 p6eval nom: OUTPUT«3␤»
09:03 cogno_ joined #perl6
09:03 cognominal_ joined #perl6
09:05 drbean joined #perl6
09:11 Mowah joined #perl6
09:11 * moritz often wants a substr of the form $str.subst($from, $to), not ($from, $chars)
09:15 TimToady with StrPos you can have that
09:21 ]]MTEm[[alhzen joined #perl6
09:21 ]]MTEm[[alhzen Hello
09:21 hanekomu joined #perl6
09:21 ]]MTEm[[alhzen ‏♥♥♥♥♥
09:22 masak ]]MTEm[[alhzen: hi! ♥♥♥♥♥♥♥♥
09:22 ]]MTEm[[alhzen Helpmy
09:22 masak ok.
09:22 masak how?
09:23 ]]MTEm[[alhzen I want register in frendo
09:23 moritz ]]MTEm[[alhzen: try #freenode then
09:24 ]]MTEm[[alhzen Speak arabic
09:24 ]]MTEm[[alhzen I
09:24 ]]MTEm[[alhzen Rry
09:24 ]]MTEm[[alhzen Try
09:24 masak ]]MTEm[[alhzen: try #freenode channel.
09:25 ]]MTEm[[alhzen I am tem from syria
09:25 ]]MTEm[[alhzen And you?
09:25 masak I'm from #perl6.
09:25 masak :D
09:25 moritz ]]MTEm[[alhzen: please stop being off-topic here. If you want to get help, ask in #freenode
09:26 ]]MTEm[[alhzen Ok
09:26 ]]MTEm[[alhzen Thanks
09:26 masak if you want to get help with Perl 6, feel free to be on-topic :)
09:26 ]]MTEm[[alhzen What the channel
09:26 masak #freenode
09:28 REPLeffect joined #perl6
09:30 dalek roast: 37f29cd | moritz++ | S05-capture/caps.t:
09:30 dalek roast: fudge caps.t for rakudo
09:30 dalek roast: review: https://github.com/perl6/roast/commit/37f29cd539
09:31 dalek rakudo/nom: e77d1cb | moritz++ | src/core/ (2 files):
09:31 dalek rakudo/nom: Capture.{pairs,kv,values,keys} and Match.caps
09:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e77d1cb126
09:31 dalek rakudo/nom: 2e824dd | moritz++ | / (2 files):
09:31 dalek rakudo/nom: Match.chunks
09:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e824dd923
09:32 wamba joined #perl6
09:32 ]]MTEm[[alhzen Thankyou
09:33 ]]MTEm[[alhzen left #perl6
09:34 mishin joined #perl6
09:46 xinming joined #perl6
10:00 daniel-s joined #perl6
10:04 thelazydeveloper joined #perl6
10:08 wtw joined #perl6
10:08 uniejo_in_riga joined #perl6
10:11 Alias joined #perl6
10:19 wtw left #perl6
10:56 agentzh joined #perl6
10:57 am0c joined #perl6
11:00 donri joined #perl6
11:06 DarthGandalf joined #perl6
11:16 moritz nom spectest count: 11914 pass, 0 fail, 521 todo, 1638 skip
11:18 MayDaniel joined #perl6
11:21 whiteknight joined #perl6
11:23 JimmyZ joined #perl6
11:41 JimmyZ good evening, #perl6
11:43 woosley joined #perl6
11:47 pmichaud about the link to the summary chart... how will that be kept up to date?
11:47 pmichaud (on perl6.org/compilers/features)
11:48 pmichaud even the chart that is there now says "August 9", which is pretty far out of date :-|
11:53 jnthn Afternoon, #perl6
11:53 jnthn Leffe! \o/
11:54 masak Kvass! ø/
11:54 jnthn oh de e kvass :P
11:55 masak :)
11:57 araujo joined #perl6
11:57 araujo joined #perl6
12:07 tadzik o/
12:12 JimmyZ \o
12:13 whiteknight joined #perl6
12:13 tadzik ...that was one of the weirdest bugs I did
12:13 jnthn tadzik: Found it? :)
12:13 tadzik so a subroutine takes an array, shifts an element, then does something recursively on the rest of the elements
12:14 tadzik so the recursive call shifts the element to, so when you're back to the outer one, the thing you worked on is shifted
12:14 tadzik modified. Broken
12:14 jnthn oh shift...
12:14 tadzik aye
12:14 * jnthn had a bug like that in SymbolTable a couple of weeks ago
12:14 jnthn Not at all fun to find.
12:19 bbkr joined #perl6
12:20 bbkr rakudo: [].[0..*]
12:20 p6eval rakudo 922500: OUTPUT«(timeout)»
12:21 JimmyZ nom: [].[0..*]
12:21 p6eval nom:  ( no output )
12:21 bbkr what is "nom"?
12:21 tadzik nom branch of Rakudo
12:22 moritz pmichaud: re summary chart, mj41++ said he was working on a cron job
12:22 masak Holy Dancing Links Batman!
12:23 masak pmichaud, tadzik: the p5 moose pentominoes solver takes 90 minutes on my laptop. any guess as to how long the C solver takes with the same problem?
12:24 JimmyZ aloha: nom?
12:25 tadzik masak: I know almost nothing about the complexity of the algorithm you're using
12:26 masak tadzik: the exact cover problem is NP-complete.
12:27 tadzik o-ho
12:27 masak tadzik: the DLX algorithm does recursion to the level of rows participating in the solution, and is set apart from other algorithms by not cloning any data structures.
12:27 masak it's just links being re-pointed back and forth. hence the name.
12:28 masak anyway, I figgere there could be some overhead from the Perl 5 runloop and stuff, but probably no more than 70%-80%.
12:28 masak I... was wrong :D
12:28 JimmyZ nom: say [].[0..10]
12:28 masak the Perl 5 run takes 90 minutes. the C run takes 8 SECONDS.
12:28 p6eval nom: OUTPUT«Any() Any() Any() Any() Any() Any() Any() Any() Any() Any() Any()␤»
12:29 masak that's between two and three orders of magnitude speedup.
12:30 tadzik yep
12:30 tadzik did you try NYTProf on the Perl 5 one?
12:31 masak no, I didn't. interesting idea.
12:31 masak sadly, I have to build slides now, not try interesting side-tracks :/
12:32 masak phenny: tell mberends that I'd be delighted if he could have a look at my noobish C and tell me what I could improve. https://github.com/masak/dl​x-simple/tree/master/c/src
12:32 phenny masak: I'll pass that on when mberends is around.
12:34 moritz .u A
12:34 phenny U+0041 LATIN CAPITAL LETTER A (A)
12:34 moritz nom: say 'A' ~~ /<[\c[LATIN CAPITAL LETTER A]>/
12:34 p6eval nom: OUTPUT«A␤»
12:34 moritz nom: say 'T' ~~ /<[\c[LATIN CAPITAL LETTER A]>/
12:34 cogno joined #perl6
12:34 p6eval nom: OUTPUT«T␤»
12:34 moritz still NYI, ok
12:35 dalek roast: 0a66a58 | moritz++ | / (5 files):
12:35 dalek roast: rakudo unfudges
12:35 dalek roast: review: https://github.com/perl6/roast/commit/0a66a58975
12:39 * JimmyZ just see another POD6 parser https://github.com/perl6/perl6​-examples/tree/master/lib/Pod
12:40 masak JimmyZ: that's mberends', I believe.
12:40 JimmyZ masak: yeah
12:40 masak JimmyZ: it was abandoned because it hit speed limits at the time.
12:41 JimmyZ masak:  there is HTTP example, https://github.com/eric256/perl6-exampl​es-moved-to-perl6/tree/master/lib/HTTP
12:41 JimmyZ masak:   https://github.com/perl6/perl6-examples/ doesn't have one
12:42 JimmyZ masak: could I push one?
12:42 moritz JimmyZ: probably because there's LWP::Simple now
12:42 JimmyZ looks like 2009 is pretty old
12:43 dalek features: 526ced2 | moritz++ | template.html:
12:43 dalek features: add missing </a>
12:43 dalek features: review: https://github.com/perl6/f​eatures/commit/526ced2a99
12:44 JimmyZ joined #perl6
12:45 masak 2009 is so last decade.
12:57 uniejo_in_riga joined #perl6
13:00 * moritz picks up mberends++ from the station
13:17 hanekomu joined #perl6
13:20 zby_home_ joined #perl6
13:20 orafu joined #perl6
13:24 crked joined #perl6
13:25 cotto joined #perl6
13:45 kaare_ joined #perl6
13:50 crked joined #perl6
13:51 jaldhar joined #perl6
13:54 perlhack joined #perl6
14:03 woosley left #perl6
14:06 ZaphrodZenovka joined #perl6
14:08 masak quiet today...
14:12 sbp yeah...
14:12 flussence my computer's fans suddenly went quiet the same time you said that :/
14:13 flussence I think you just killed my PSU fan, masak :(
14:13 hanekomu joined #perl6
14:14 masak flussence: you could give it some work again by running my pentominoes solver.
14:14 flussence hah, I've been running my spectest graph thing all day :)
14:15 masak ah :)
14:15 masak flussence++
14:17 Khisanth joined #perl6
14:23 wamba joined #perl6
14:23 Aridai joined #perl6
14:30 [Coke] msg pmichaud (timing of parrot release) - do you have a preferred time? let me know.
14:30 [Coke] phenny, tell pmichaud (timing of parrot release) - do you have a preferred time? let me know.
14:30 phenny [Coke]: I'll pass that on when pmichaud is around.
14:31 masak $ ./perl6 t/spec/S32-trig/pi.t
14:31 masak ===SORRY!===
14:31 masak no bigint lib loaded
14:31 masak pi.t shows up as a failing test file in my spectest runs because of this.
14:32 jnthn sejm here
14:32 jnthn For a bunch of others too
14:32 masak lejm.
14:32 masak for me, only that one.
14:32 jnthn oh
14:32 jnthn lucky you :P
14:32 masak yeah.
14:34 [Coke] -
14:36 JimmyZ_ joined #perl6
14:36 ponbiki joined #perl6
14:50 kboga joined #perl6
14:55 masak today's mini-challenge: write a small, idiomatic, nice, self-explanatory permutation generator in Perl 6.
14:55 masak input: [1, 2, 3, 4, 5], for example.
14:56 masak output: [[1, 2, 3, 4, 5], [1, 2, 3, 5, 4], [1, 2, 4, 3, 5], ...] in some order.
14:56 * masak is struck by the thought that maybe there is one already on RC
14:59 araujo joined #perl6
15:01 jaldhar joined #perl6
15:01 masak yep: http://rosettacode.org/wiki/Permutations#Perl_6
15:02 jnthn nom: say [X] [1,2,3,4,5] xx 5
15:03 p6eval nom: OUTPUT«(timeout)»
15:03 jnthn nom: say [X] [1,2,3] xx 3
15:03 p6eval nom: OUTPUT«1 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 2 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 1 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 2 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 2 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 1 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 2 3 2 3 1 3 2 3 3 3 2 3 1 3 2 3 2 3 2 3 1 3 2 3 3 3…
15:03 jnthn ah, no, not that :)
15:03 masak :)
15:03 masak would've been nice.
15:04 masak I always feel when I'm implementing permutations that there's one primitive missing to make it real easy.
15:04 masak but I can never figure out what that primitive is.
15:04 masak unless it's &perms, that is :P
15:04 masak but it feels more like something like [X], as jnthn suggested.
15:06 jnthn nom: grammar Foo { token TOP { <x> { say "oh hai" } }; token x { a } }; Foo.parse('a')
15:06 p6eval nom: OUTPUT«Method 'nqpattr' not found for invocant of class 'Undef'␤  in mu <anon> at src/stage2/QRegex.nqp:484␤  in mu CAPHASH at src/stage2/QRegex.nqp:483␤  in method MATCH at src/gen/CORE.setting:5546␤  in regex TOP at /tmp/Jv6WZdmWZA:1␤  in method parse at src/gen/CORE.setting:5570…
15:06 jnthn pmichaud: ^^
15:21 cottoo joined #perl6
15:22 MayDaniel joined #perl6
15:22 masak nom: grammar Foo { token TOP { <x> }; token x { a } }; Foo.parse('a'); say "alive"
15:23 p6eval nom: OUTPUT«alive␤»
15:23 masak hm.
15:24 sbp rakudo: say '🐹'
15:24 p6eval rakudo 922500: OUTPUT«🐹␤»
15:24 sbp rakudo: say '💗💜💛💚💜'
15:25 p6eval rakudo 922500: OUTPUT«💗💜💛💚💜␤»
15:25 benabik .u 💗
15:25 phenny U+1F497 (No name found)
15:26 sbp .o unicode 💗
15:26 phenny GROWING HEART - http://www.fileformat.info​/info/unicode/char/1F497/
15:27 sbp just testing the astral plane; with the side effect of notifying any OS X users present of a certain Lion feature...
15:27 benabik ?
15:27 benabik Extra colorful fonts?
15:27 sbp the astral plane is a jolloquialism for characters outside of the BMP
15:27 sbp yeah. Apple Color Emoji, they call it
15:32 cogno_ joined #perl6
15:45 dalek rakudo/nom: e6ed5e6 | Coke++ | t/spectest.data:
15:45 dalek rakudo/nom: run another test, track failure modes.
15:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6ed5e6d90
15:52 takadonet hey all
16:11 daniel-s joined #perl6
16:20 fbass joined #perl6
17:20 worr joined #perl6
17:25 thou joined #perl6
17:27 protalis joined #perl6
17:27 tokuhirom joined #perl6
17:31 protalis anyone used Perl6 for web development, yet?
17:34 tadzik I'm quite sure some people do
17:36 whiteknight joined #perl6
17:37 protalis ok, great.  is there a cpan for Perl6, where I could find out what modules have been ported?  I would need the basics, CGI::FAST, DBI, DBD::Pg, to get started.  Any ideas where I could begin to assemble an Apache, FASTCGI, Postgres, Perl6 stack?
17:37 flussence modules.perl6.org
17:43 anbz joined #perl6
17:45 anbz left #perl6
17:47 anbz joined #perl6
17:53 protalis thanks, flussence., I'll check it out.
17:57 arnsholt masak's blog (strangelyconsistent.org) is published with Perl 6
17:57 arnsholt But it's static, so the HTML is generated off-line and uploaded
18:15 djanatyn_ joined #perl6
18:16 abercrombie nom: my @arr[2;3]=[1,2,3,4,5,6]; say @arr[1;1];
18:16 p6eval nom: OUTPUT«===SORRY!===␤Shaped variable declarations are not yet implemented at line 1, near "=[1,2,3,4,"␤»
18:23 Searle3 joined #perl6
18:29 birdwindupbird joined #perl6
18:49 Searle joined #perl6
19:05 uniejo_in_riga joined #perl6
19:09 sorear good * #perl6
19:12 [Coke] sorear: ho
19:16 ponbiki joined #perl6
19:18 uniejo_in_riga nom: say <Good>, *
19:18 p6eval nom: OUTPUT«Good*␤»
19:18 fbass joined #perl6
19:20 uniejo_in_riga nom: say <Good>, *++
19:20 p6eval nom: OUTPUT«Good_block1010␤»
19:23 uniejo_in_riga ;-)
19:42 tokuhirom joined #perl6
19:44 pmichaud oh hi
19:44 phenny pmichaud: 14:30Z <[Coke]> tell pmichaud (timing of parrot release) - do you have a preferred time? let me know.
19:44 pmichaud [Coke]: anytime is fine... earlier is possibly better for us
19:45 pmichaud I'd like to get the nom release out sometime late Tuesday or early Wednesday... but since Europe is several hours advanced from US EST that means an earlier Parrot release is helpful if that can be done.
19:46 masak joined #perl6
19:46 masak oh hai
19:47 pmichaud 12:28 <masak> the Perl 5 run takes 90 minutes. the C run takes 8 SECONDS.
19:48 awwaiid_ joined #perl6
19:48 pmichaud "Why is Perl 5 so slow?!?  It'll never be successful if it can't perform as fast as C!"   (s/C/Perl 5/; s/5/6;)
19:49 jnthn evenin'
19:49 masak pmichaud: right.
19:50 moritz "the trick is to play to perl's strengths, not weaknesses"
19:50 masak I think the actual takeaway lesson is that it also takes 3-4 times longer to author that code. and it's about as long. and contains about as many more bugs.
19:51 masak and it wasn't as enjoyable :)
19:52 orphu joined #perl6
19:52 masak moritz: well, to be honest I was surprised at the difference being that great. maybe I'm doing something horribly unoptimized with Moose or something.
19:52 masak orphu: greetings.
19:53 orphu hi masak
19:54 bbkr joined #perl6
19:55 moritz masak: I'm sure a profile would show up insteresting results
19:55 masak oh, ok.
19:56 masak tadzik++ suggested one too.
19:56 masak I don't have time to make one before my talk, though :/
19:58 masak if someone here on the channel decided to do it before lunch tomorrow, I'd make sure they'd get a very heartfelt mention in the talk...
20:00 noganex joined #perl6
20:00 mj41 joined #perl6
20:00 moritz masak: where's the code?
20:03 masak https://github.com/masak/dlx-simple
20:03 mberends joined #perl6
20:03 masak the Perl 5 code is under the perl5/ directory.
20:03 mberends \o/
20:03 phenny mberends: 12:32Z <masak> tell mberends that I'd be delighted if he could have a look at my noobish C and tell me what I could improve. https://github.com/masak/dl​x-simple/tree/master/c/src
20:04 masak mberends: it's noobish but really really fast :P
20:05 moritz \o mberends
20:05 [Coke] pmichaud: I can stay up late monday night and cut it midnight eastern time.
20:06 * [Coke] sees that most of the failure modes that changed yesterday changed back. ;)
20:08 moritz [Coke]: pmichaud and jnthn tracked that one down
20:08 pmichaud [Coke]: whatever works for you will be fine here.
20:08 moritz masak: are nongrams even Exact Cover?
20:09 [Coke] moritz: but, one of them started passing instead of failing the old way, so yay.
20:09 worr joined #perl6
20:09 pmichaud The absolute earliest I would cut the release is Tuesday evening here, around 20h00, which would be 13h00 where you are.  Wednesday morning might be a bit more likely.
20:10 jnthn pmichaud: Note conf dinner is on Tue evening.
20:10 uniejo_in_riga joined #perl6
20:10 pmichaud jnthn: yes, I'm taking that into account :)
20:10 jnthn ok :)
20:10 pmichaud I did say "earliest", as in meaning "absolutely not before..."
20:12 masak moritz: surprising, isn't it? :)
20:13 masak moritz: I wasn't sure before working it out, but yes, they are.
20:13 moritz masak: the "obvious" mapping didn't seem like "exact" cover, but maybe there's a not-quite-so-obvious mapping
20:13 masak yes, there is.
20:13 masak I'll let you work it out on your own. you'll like finding the solution.
20:21 MayDaniel joined #perl6
20:26 moritz :-)
20:27 jnthn oh...turns out my second talk is on Wednesday, not Tuesday!
20:27 pmichaud \o/ ?
20:27 * masak mumbles inaudibly
20:28 * moritz thinks all speakers should be told that their talks are one day earlier than they actually are :-)
20:28 jnthn heh :)
20:28 moritz at least most speakers from the #perl6 crowd :-)
20:28 jnthn I actually got things prep'd in time for tue :)
20:28 masak how can a talk be one day earlier than it actually is? that doesn't make any sense.
20:29 moritz masak: no, but people can tell you that it's one day earlier
20:29 moritz masak: so that you have some preparation backup time
20:29 mberends masak: I'll really enjoy studying your code in the morning, when my brain is more functional ;)
20:29 masak moritz: yes, I'm just trying to creatively misunderstand you. :)
20:29 jnthn masak: I'm looking forward to your talks today :P
20:29 masak mberends: cool. no rush. I'm not blocking on the review. :)
20:30 masak jnthn: aaaugh
20:30 * masak starts throwing slides around the room
20:30 moritz gotta catch 'em all!
20:34 masak Slidémon
20:35 pmichaud be sure to play by the slide rules
20:35 masak dåligt. :)
20:36 cotto joined #perl6
20:37 lue hello Earth o/
20:37 * moritz aborts the Devel::NYTProf run after ~20 minutes and hopes that the HTML reports works out for a partial nytprof.out too
20:37 moritz nope, did not :(
20:37 * moritz too tired to do the full thing today
20:39 * lue wonders what dåligt means (and what language it is)...
20:40 jnthn lue: Swedish. "bad"
20:41 felher tominoes (see Knuth's paper above)
20:41 felher * Sudoku
20:41 felher sorry for the noise. copy-paste misclick
20:41 dalek nqp: 0e60187 | pmichaud++ | src/ (4 files):
20:41 dalek nqp: Refactor handling of $¢ in subs, make sure that match objects can
20:41 dalek nqp: be created in closures.
20:41 dalek nqp: review: https://github.com/perl6/nqp/commit/0e60187b66
20:44 TimToady can I give my talk on Tuesday?
20:45 masak TimToady said what I was thinking...
20:45 pmichaud won't it be easier then, after you've given it on Monday?  ;-)
20:46 pmichaud I'm sure many of us would enjoy an encore presentation, yes.  :-P
20:46 TimToady easier, but more boring, since you'll already know all the jokes
20:46 pmichaud is this talk separate from SOTO?  If so, you could re-give SOTO on Tuesday :-) :-)
20:46 * pmichaud missed OSCON + SOTO this year :(
20:47 TimToady yes, it's a new talk
20:47 TimToady though there will be bits of it
20:47 TimToady bits of soto in the new talk
20:48 masak once upon a time people actually made transcripts of the SOTOs. I don't know if that is done anymore.
20:48 masak but it was back around 2000, so I guess people had lots of time on their hands after the bubble had burst...
20:48 TimToady no, they're trying to get me used to the notion of being a dead white male
20:49 * masak read that as 'dead white whale'
20:49 pmichaud jnthn: locally I now have
20:49 pmichaud > grammar Foo { token TOP { <x> { say 'oh hai' } }; token x { a }; }; say Foo.parse('a')
20:49 pmichaud oh hai
20:49 pmichaud a
20:49 pmichaud spectesting and pushing
20:49 TimToady well, I'd better get back to work, sigh...
20:50 dalek rakudo/nom: 1820f2e | pmichaud++ | tools/build/NQP_REVISION:
20:50 dalek rakudo/nom: Bump NQP_REVISION to get latest qregex cursor and closure fixes.  jnthn++
20:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1820f2eb72
20:52 jnthn \o/
20:52 jnthn pmichaud: Does say $<x> in that closure work?
20:54 TimToady is there a fast way to reduce the resolution of a whole dirctory of jpegs?  my odp file is 300MB at the moment...
20:55 flussence mogrify -resize 75% *.jpg (or something like that...)
20:55 dorlamm joined #perl6
20:55 pmichaud > grammar Foo { token TOP { <x> { say $<x> } }; token x { a }; }; Foo.parse('a')
20:55 pmichaud a
20:56 TimToady flussence: thanks!
20:57 pmichaud jnthn: ^^
20:57 flussence .oO( I actually got something right first time?! :D )
20:58 jnthn pmichaud++
20:59 whiteknight joined #perl6
21:00 bbkr joined #perl6
21:15 lue ooc, is there any other way besides eval to call a module whose name you'll only know at run-time?
21:19 daniel-s joined #perl6
21:23 masak lue: what does "call a module" mean in that question?
21:25 lue To be more specific, how can I C<use> a module whose name I only know at run time?
21:26 pmichaud jnthn: http://gist.github.com/1145328   # stage timings, 2011.07 vs nom -- very interesting
21:26 jnthn pmichaud: looking
21:26 jnthn I did a C level profile too
21:26 pmichaud looks like we're losing a bunch of time in post and pir stages
21:27 jnthn hm
21:27 jnthn The profile at C level showed what seemed to be elevated levels of GC activity
21:27 pmichaud elapsed time is 74s (2011.07) vs 155s (nom)
21:27 pmichaud increases are in parse +24s, post +40s, and pir +14s
21:28 jnthn parse really means parse + past, of course.
21:28 pmichaud correct
21:28 jnthn Well, that's not really true...
21:28 pmichaud but the bulk of the increase (54s out of 81s) isn't in the parsing or in the past
21:28 jnthn We're also building a much more detailed model.
21:29 jnthn But yeah, the losses in later stages are high.
21:29 jnthn Especially past to post.
21:30 pmichaud I don't quite understand why that's 3x longer, tbh.
21:30 jnthn I can believe we're building more PAST nodes.
21:30 jnthn I find it much harder to believe we'd be building 3 times as many though.
21:31 jnthn Is the master profile also using the new register alloc stuff that went into PAST?
21:31 pmichaud yes.
21:31 jnthn OK, good. So we needn't consider that.
21:32 pmichaud the pir we generate is a fair bit bigger
21:32 pmichaud pmichaud@kiwi:~/rakudo$ wc src/gen/core.pir 193150  572697 5738277 src/gen/core.pir
21:32 pmichaud pmichaud@kiwi:~/nom$ wc src/gen/CORE.setting.pir  248375   868844 10555580 src/gen/CORE.setting.pir
21:33 masak lue: 'use' is a parse-time operation. if you only know the name at run time, by definition you can't do 'use' on it.
21:33 pmichaud jnthn: I'm not quite sure why that would be the case.
21:34 pmichaud (it's not wrong for that to be the case.. I'm just not certain of the reasons why)
21:34 lue oh, ok. (Using custom output modules for Pod6 will be... interesting, then)
21:34 dorlamm joined #perl6
21:34 pmichaud importing at runtime is done with 'require'
21:35 pmichaud http://perlcabal.org/syn/S1​1.html#Runtime_Importation
21:35 jnthn I guess it's hard to do, but my suspicion is that if we removed the stuff that built classes in the loadinits in master, and removed the deserialization sub in nom, we'd be looking at more level numbers.
21:36 pmichaud well, the real question is "how do we improve this?"   making the parser faster won't help so much
21:36 masak hm. if importation is now to lexpads, and 'require' is done at runtime, doesn't that mean we actually change the lexpad at runtime? isn't that impossible?
21:36 pmichaud masak: require declares lexicals
21:36 pmichaud (I think.)
21:37 pmichaud yes, that's what the "means something like" section says.
21:38 masak ok.
21:39 pmichaud jnthn: even assuming that the regex engine became 2x as fast as master, overall compilation will still be longer than master
21:39 jnthn pmichaud: The :load :init sub is the obvius lace for improvements.
21:39 jnthn *place
21:39 jnthn In the setting it's 160,000 lines long.
21:39 pmichaud yes, I noticed that
21:39 pmichaud oh
21:39 pmichaud I bet we go quadratic on generating the pir for that sub, for one.
21:40 pmichaud since it's a bunch of concatenations
21:40 jnthn ouch.
21:40 jnthn I can look at splitting it up
21:41 jnthn Thing is that it's really meant to "go away" in favor of serialization.
21:41 jnthn But that's a medium-term solution and we could kinda use something sooner I guess.
21:42 pmichaud well, I'm fine with saying that it's something we'll solve in the medium term, as long as we know why it exists and how we'll fix it
21:42 jnthn Looking through the generated code, I suspect various other improvements are possible too.
21:42 jnthn as in, short-term ones
21:43 jnthn Yeah, that :load :init is the thing that's tiding us over until we do the full serialization.
21:43 buubot_backup joined #perl6
21:45 jnthn OK, tomorrow I can spend a couple of hours trying to reduce that somewhat.
21:45 pmichaud that's fine, either way.  I just wanted to get a preliminary look at where the slowdown seems to be occuring, so that we can start thinking about it.
21:46 pmichaud and I'm a bit glad to know that it's not all in parse+past
21:46 pmichaud because I think we have more options there for improvement
21:46 jnthn Oh, for sure we do.
21:47 jnthn How do I run the stage timings, btw?
21:47 pmichaud just a sec, let me make a couple of commits
21:47 pmichaud I had to patch things in nqp and nom to get them
21:47 jnthn ok, no hurry...I need to rest soon. :)
21:48 dalek nqp: 00c8b11 | pmichaud++ | src/HLL/Compiler.pm:
21:48 dalek nqp: Restore --stagestats option for HLL::Compiler.
21:48 dalek nqp: review: https://github.com/perl6/nqp/commit/00c8b117c3
21:49 pmichaud okay, pushed both nqp and nom
21:49 pmichaud yes, I'm going to take a nap also here shortly.
21:49 Psyche^ joined #perl6
21:49 dalek rakudo/nom: 534bd3f | pmichaud++ | tools/build/Makefile.in:
21:49 dalek rakudo/nom: Re-enable stagestats option for setting compilation.
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/534bd3fc9a
21:49 dalek rakudo/nom: 7c76168 | pmichaud++ | tools/build/NQP_REVISION:
21:49 dalek rakudo/nom: Bump NQP_REVISION to get latest stagestats fixes.
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c76168952
21:50 pmichaud actually, I'll do it now.  bbiaw
21:50 pmichaud (stagestats will now show whenever --makefile-timings is given on the Configure.pl line)
21:50 pmichaud bbiaw
21:51 jnthn excellent, thanks
21:52 * jnthn gets some sleep
21:57 lue blog post!    https://rdstar.wordpress.com/2011/08/14​/thoughts-on-module-distribution-in-p6/
21:59 masak lue: "The split between Perl 5 and Perl 6 is well known."?
22:00 lue Shoot, I knew I forgot to do something to that post. [Editing...]
22:00 masak I wouldn't rule out Perl 6 module on CPAN that fast if I were you.
22:01 masak s/module/modules/
22:02 masak lue: also, the problem isn't that there isn't a discussion about this. the problem is that there isn't anything better/more concrete than modules.perl6.org so far.
22:03 masak sure, that needs discussion, but what it needs most is someone who (like you) decides to do something.
22:03 masak personally, I believe a modules archiving solution will be mostly pain-driven, and I don't believe modules.perl6.org hurts enough yet.
22:05 felher lue++ . Just two things: first "er, object inhertance chain?" -- missing an 'i' here? || second: "when I get started one explaining the module system" -- do you mean 'on' instead of 'one'?
22:06 lue felher: thanks for spotting the typos. Fixing those as well.
22:07 felher lue: you're welcome :)
22:08 lue post updated, hopefully that first item is clearer now.
22:09 lue masak: if the problem isn't lack of discussion then I must be missing them :)
22:10 masak lue: yes.
22:10 * lue notes to himself considering a more european sleep/awake cycle, except for that lousy "school" business
22:11 masak the discussions about something CPAN-like seem to ebb and flow a bit.
22:11 masak it's been a while since we had one on a bigger-ish scale.
22:12 masak lue: but rest assured that the topic does come up. jnthn, pmichaud and I last discussed it in a cafe here in Riga yesterday.
22:17 lue I would agree that development on the module archiving front would be pain driven (the only alternative is I'm-going-to-fix-it-and-you-can't-stop-me driven, which I haven't the webspace to do)
22:18 masak we have the latter variety too.
22:18 masak here's what wouldn't be useful: someone coming along and saying "hey, I wrote these PDFs about the design about a CPAN system for Perl 6. they're about 120 pages of text. I will now go and implement it. see you in X years."
22:18 lue As long as simple things, like splitting the list of modules into multiple pages and categorization (click here for all Acme:: modules), are easy to implement when need, there won't be any groundbreaking changes to the system.
22:19 masak here's what *would* be useful: someone coming along saying "look. I built this. it works better than modules.perl6.org and Panda together. [here's why.] also, it conforms better to what Perl 6 needs. [here's why.]"
22:20 lue I've always been a bit frustrated with the module system, and I just know I'll be less frustrated when I annotate and summarize the revelant parts of the spec. That'll be the first step.
22:22 [Coke] joined #perl6
22:24 masak fair enough.
22:24 bs338 joined #perl6
22:24 bs338 joined #perl6
22:31 flussence I like the idea of decentralised packages - the top level is just a set of metadata describing known module repositories. It works pretty well for gentoo/things based on it.
22:35 [Coke] joined #perl6
22:36 lue I was thinking more of a mix. Packages can be stored on the system, however it also has the ability to use off-site things. Not sure how good that would work out though.
22:39 felher Is there a good way to export some data-structure ( some nested hashes and arrays with just strings and numbers in them) to a file at runtime and load it later on?
22:39 flussence sounds like a good fit for json...
22:40 ruz felher: https://github.com/moritz/json/
22:42 felher flussence: Hm, yeah, i think i didn't specify my problem clear enough. The problem is that i have some text-file i want to parse. But parsing takes like two hours. I would like to parse only once, store the parsed data in some format one can import really fast (instead of reparsing it - what json would do), and load it later on instaed of reparsing the text-file.
22:43 felher how fast ist .perl it once and then eval the output later on?
22:44 flussence well, building rakudo has to compile a few thousand lines of perl6 and that takes about 10 minutes on a fast machine...
22:45 felher flussence: hm, agreed. :)
22:45 [Coke] joined #perl6
22:45 felher i give .perl and eval a try.
22:45 felher thnx. :)
22:47 wolfman2000 joined #perl6
22:50 masak felher: way back then, we used .perl and &eval for storing things to file in November the wiki engine.
22:51 masak felher: of course, we were aware already at the time that it was a security hazard and the wrong tool for the job.
22:51 masak but it worked, and we were building everything from stop-gap measures anyway.
22:51 masak 'night, #perl6
22:51 masak //gq tests rock!
22:52 [Coke] joined #perl6
22:52 flussence he writes that quit message manually every time? that's some dedication :)
22:54 felher :D
22:54 sbp and yet I'm not surprised, are you? :-)
22:59 [Coke] joined #perl6
23:01 lue .oO(when I'm reading the specs, it feels like it was written by an expert in.... well, LUE)
23:09 drbean joined #perl6
23:16 molaf__ joined #perl6
23:28 wolfman2000 joined #perl6
23:55 worr joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo