»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
cotto left
|
|||
rafl | it's ok if it's in a 3-way | 00:01 | |
there he is. all sorted. | 00:05 | ||
00:10
benabik_ joined,
benabik left,
benabik_ is now known as benabik
00:25
kst left
|
|||
crked | Hi, | 00:46 | |
perl | |||
00:46
wooden left
|
|||
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"» | ||
crked | nom: class A{ method b{ say "b" } }; A.b=method { say "c" }; my $a=A.new(); $a.b; | 00:53 | |
p6eval | nom: OUTPUT«bCannot assign to a non-container in mu <anon> at /tmp/YuaPVFQpBW:1 in mu <anon> at /tmp/YuaPVFQpBW:1» | ||
crked | How to redefine a method? | 00:54 | |
00:55
Minimiscience joined
|
|||
gfldex | crked: perlcabal.org/syn/S12.html#Open_vs_...ed_Classes | 00:57 | |
01:01
LimitSupremum left
01:05
wamba left,
LimitSupremum joined
01:15
LimitSupremum left,
LimitSupremum joined
01:22
whiteknight left
01:29
tokuhirom joined
01:35
Minimiscience left
01:39
fbass joined
01:41
kst joined
01:44
benabik left
01:47
fbass left
01:53
woosley joined
01:54
woosley left
02:02
xinming left
02:07
jevin left
02:15
xinming joined
02:30
LimitSupremum left
02:31
LimitSupremum joined
02:38
LimitSupremum left
02:48
uniejo_in_riga joined
02:50
thou joined
02:54
LimitSupremum joined
02:58
uniejo_in_riga left
03:00
uniejo_in_riga joined
03:02
tokuhirom left
|
|||
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'"» | ||
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'"» | ||
soh_cah_toa | nom: our constant $FOO = 'bar' | ||
p6eval | nom: ( no output ) | ||
soh_cah_toa | nom: our constant $FOO = 'bar'; say 'constant' | ||
p6eval | nom: OUTPUT«constant» | ||
soh_cah_toa | when is nom gonna be merged into master? it's soon, right? | 03:09 | |
sorear | real soon | 03:10 | |
if nothing unexpected happenes, 11.08 will be nom-bases | |||
soh_cah_toa | good | 03:12 | |
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 | ||
soh_cah_toa | agh | ||
03:14
kboga left
|
|||
sorear | nom requires nqp-nom | 03:14 | |
parrot-nqp is nqp-rx | |||
soh_cah_toa | oh, what's different in nqp-nom? | 03:15 | |
sorear | more or less everything | ||
nqp-rx is a thin layer over Parrot with Perl syntax; nqp-nom is a VM abstraction layer | |||
nqp-nom has definite semantics for objects, primitive types, arithmetic, multiple dispatch, etc | 03:16 | ||
nqp-rx delegates all that to Parrot | |||
soh_cah_toa | ah neat | ||
can i create hashes w/o using hash() now? ;) | |||
sorear | probably now | ||
not | |||
soh_cah_toa | egh | 03:17 | |
well anyway, where's the source for nqp-nom? i need to install it | |||
sorear | one thing that hasn't changed is that nqp wants simplified syntax | ||
I think it's on github somewhere, too lazy to look, --gen-nqp will DTRT | |||
03:18
woosley joined
|
|||
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 | ||
soh_cah_toa | oh yeah, right | ||
03:37
kaare_ joined
03:38
uniejo_in_riga left
03:54
woosley left
|
|||
pmichaud | nqp is github.com/perl6/nqp | 03:55 | |
soh_cah_toa | yup, i found it | ||
pmichaud | (good morning, #perl6) | ||
in nqp (-nom), one can create hashes using nqp::hash(...) | 03:56 | ||
so far it only understands key, value, pairs... but eventually it'll also support the named syntax. | |||
soh_cah_toa | ok | ||
pmichaud | as well as being able to interpolate arrays and other hashes | ||
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. | ||
I finally got a good benchmark on it yesterday, and jnthn and I aren't quite sure why it's so much longer | |||
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 | ||
pmichaud | I think the current plan is that nom will become master on Tuesday. | 03:59 | |
soh_cah_toa | :D | ||
pmichaud | and we'll issue the 2011.08 release of Rakudo (nom-based) on Wednesday. | ||
soh_cah_toa | very awesome | ||
pmichaud | (might do it on Tuesday... it will depend a bit on the timing of the Parrot release) | 04:00 | |
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"» | ||
soh_cah_toa | nom: our constant $FOO = 1, $BAR = 2; say 'done' | ||
p6eval | nom: OUTPUT«===SORRY!===Symbol '$BAR' not predeclared in <anonymous> (/tmp/jBXFXEirjY:1)» | ||
pmichaud | declarators are lower precedence than , | ||
soh_cah_toa | i can only declare one constant at a time? | ||
pmichaud | s/lower/tighter/ | 04:05 | |
TimToady | it's usually better for readability to declare them one at a time | ||
unless they're related | 04:06 | ||
nom: our constant ($x,$y) = 1,2; say $y | |||
p6eval | nom: OUTPUT«===SORRY!===Malformed constant at line 1, near "($x,$y) = "» | ||
TimToady | that might be supported someday | ||
pmichaud | std: our constant ($x, $y) = 1,2; # curious | ||
p6eval | std 516268a: OUTPUT«===SORRY!===Malformed constant at /tmp/ESLfJi_dpt line 1:------> our constant ⏏($x, $y) = 1,2; # curious expecting any of: trait type_declaratorParse failedFAILED 00:01 118m» | 04:07 | |
soh_cah_toa | i suppose if they're related i should just use an enum anyway | ||
TimToady | I'm a bit biased against multiple declarations; I generally do separate 'my' decls too, even though my supports sigs | ||
nom: my ($x,$y) = 1,2; say $y | |||
p6eval | nom: OUTPUT«2» | ||
TimToady | but I'd still write those separately | 04:08 | |
soh_cah_toa | yeah, i usually do that too. just a habit, i guess | ||
TimToady | well, I think it's a good habit | 04:09 | |
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
drbean left
|
|||
TimToady | niecza: constant @fib = 0, 1, *+* ... *; say @fib[10] | 04:10 | |
p6eval | niecza v8-51-g785e335: OUTPUT«55» | ||
TimToady | niecza: constant @fib = 0, 1, *+* ... *; @fib[10] = 42; say @fib[10] | 04:11 | |
p6eval | niecza v8-51-g785e335: OUTPUT«42» | ||
TimToady | aha, niecza is cheating : | ||
:) | |||
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:18
crked left
04:24
uniejo_in_riga joined
|
|||
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:37 | |
dalek | : 9dc0e54 | (Kolia Morev)++ | docs/Perl6/Perl5/Differences.pod: fix typo: slice parameter should be **@ |
04:47 | |
: 70e4f1f | (Kolia Morev)++ | docs/Perl6/Perl5/Differences.pod: fix broken link Obsolete section renamed to Obsolete Functions |
|||
: 2b57b00 | (Kolia Morev)++ | docs/Perl6/Perl5/Differences.pod: fix code formatting |
|||
: c5b229c | moritz++ | docs/Perl6/Perl5/Differences.pod: Merge pull request #1 from kolyuchiy/misc-doc-fixes Misc doc fixes |
|||
moritz | good morning | ||
pmichaud | awesome patches | 04:48 | |
04:48
JimmyZ_ joined
04:49
JimmyZ_ left,
JimmyZ_ joined
|
|||
JimmyZ_ | pmichaud: is there a video online? | 04:50 | |
I saw the T-shirt here misc.yapceurope.lv/img/photo/perl6-curve.jpg but I can't see the front | 04:51 | ||
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:53 | |
04:54
uniejo_in_riga left
|
|||
JimmyZ_ | pmichaud: yeah, I want to buy one too | 04:54 | |
pmichaud | video is at www.youtube.com/watch?v=OJwlCzW5O_Q | 04:55 | |
TimToady | It was given to me by audreyt++ | 04:56 | |
JimmyZ_ | sigh... | ||
that may be a long time ago.. | 04:59 | ||
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)>» | ||
..rakudo 922500: OUTPUT«a» | |||
..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:10
soh_cah_toa left
05:16
sivoais left
05:21
cotto joined
|
|||
mberends -> Erlangen o | 05:24 | ||
pmichaud | mberends: o/ | 05:25 | |
05:26
mberends left
|
|||
pmichaud -> breakfast nom | 05:26 | ||
05:27
JimmyZ_ left,
benabik joined
05:28
JimmyZ_ joined
05:41
Trashlord left,
masak joined
|
|||
masak | morning, #perl6 | 05:41 | |
TimToady | o/ | 05:42 | |
sorear | hi | ||
05:42
Trashlord joined
|
|||
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» | ||
takadonet1 | nom: my Rat $x=1.0; my $a;$a+=$x; | ||
p6eval | nom: ( no output ) | ||
05:50
wamba joined
|
|||
dalek | ast: d05edc5 | moritz++ | S05-substitution/subst.t: unfudge ss/// test for rakudo |
06:02 | |
06:02
drbean joined
|
|||
dalek | kudo/nom: c3be2ce | moritz++ | src/core/Str.pm: (cheated) Str.samespace |
06:05 | |
06:11
cotto left
06:21
JimmyZ_ left
|
|||
rafl wonders where cotto is | 06:27 | ||
tadzik | good morning #perl6 | ||
there was a hackathon video? | |||
moritz | tadzik: see backlog, a youtube likn | 06:28 | |
06:55 < pmichaud> video is at www.youtube.com/watch?v=OJwlCzW5O_Q | |||
tadzik | oh, thanks | ||
06:29
LimitSupremum left
06:31
envi joined
|
|||
moritz | nom: say <a b c>.elems | 06:31 | |
p6eval | nom: OUTPUT«3» | ||
masak | morning, tadzik. | 06:32 | |
tadzik | I is on the video :) | ||
moritz | where? which one are you? :-) | 06:34 | |
tadzik | :) 0:10 or 0:11, next to Patrick | ||
moritz | ah | 06:35 | |
tadzik: do you know who the guy before you is? | |||
tadzik | I must have been working on formattingcode, looking at the facial expression ;) | ||
it's baest, isn't he? | |||
moritz | thought so, but wasn't sure | 06:36 | |
tadzik | next to rafl | ||
moritz | right | ||
rafl | yes, beast. | 06:37 | |
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:… | ||
benabik | .Str? | ||
moritz | nom: say 'FoO bar baz...'.subst(rx/\w+/, -> $_ { .Str.lc.ucfirst } ) | ||
tadzik off breakfasting | |||
p6eval | nom: OUTPUT«Foo bar baz...» | ||
06:38
ZaphrodZenovka left
|
|||
moritz | nom: say 'FoO bar baz...'.subst(rx/\w+/, -> $_ { .Str.lc.ucfirst }, :g ) | 06:38 | |
p6eval | nom: OUTPUT«Foo Bar Baz...» | ||
masak | .str ? | ||
moritz | native :-) | 06:39 | |
masak | o.O | ||
tadzik: did you harbour cotto tonight? if so, tadzik++ | 06:41 | ||
moritz | "native typo" :-) | ||
06:44
uniejo_in_riga joined
|
|||
dalek | kudo/nom: 1a442ef | moritz++ | / (5 files): cosec, acosec |
06:45 | |
06:47
Khisanth left,
uniejo_in_riga left
06:48
uniejo_in_riga joined
|
|||
masak delves into reams of C errors/warnings | 06:53 | ||
moritz | dreams? realms? | 06:54 | |
both have an edit distance of 1 to 'reams' :-) | |||
masak | moritz: dictionary.reference.com/browse/ream | 06:55 | |
TiMBuS | if you think C spits out a lot of errors, you havent used enough C++ | ||
masak | and I don't plan to, either. | ||
I'm generally open towards new impressions and new languages, but C++ is where I draw the line. | |||
yath | heh | 06:56 | |
07:00
tokuhirom joined
07:01
Khisanth joined,
tokuhirom left,
tokuhirom joined
|
|||
tadzik | masak: yep :) And I just realized we missed a great Soviet Russia joke opportunity yesterday | 07:04 | |
07:06
uniejo__ joined,
uniejo_in_riga left
|
|||
masak | in Soviet Russia restaurant, waiter orders YOU. | 07:06 | |
tadzik | also, the dinner comes for you | 07:07 | |
jnthn | o.O | ||
tadzik | :D | ||
07:08
Khisanth left
|
|||
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:11 | |
07:12
Khisanth joined
07:15
cotto joined
|
|||
masak | cotto! \o/ | 07:16 | |
cotto | hi masak | ||
where are you at? | 07:17 | ||
masak | Konventa Seta. | ||
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 | ||
jnthn | No, they're elsewhere | 07:19 | |
moritz: hm, wtf. | |||
moritz | jnthn: just pushed a commit where I've added that method commented out, if you want to play with it | ||
dalek | kudo/nom: 0447cac | moritz++ | / (4 files): implement capitalize |
||
cotto | jnthn, indeed. The similar name confused me. | 07:20 | |
Languages I don't speak tend to do that. ;) | |||
07:20
sivoais joined
07:21
mj41 joined
07:22
uniejo__ left
|
|||
tadzik | wait til you get to know the street names :0 | 07:22 | |
:) | |||
cotto | looks like a couple blocks from my place | ||
so many bacteria | |||
tadzik | Ukaju, Uneku, Unekalu, Aielu | ||
cotto | Smilsu seems friendly | 07:23 | |
tadzik | gah, I can't reproduce a bug. It appears only when I parse S26 as a whole | 07:26 | |
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 | ||
but I could try that, yes | |||
benabik | tadzik: Details, details. | ||
tadzik: You could delete sections at a time instead… Bisection like. | |||
tadzik | yeah, I know what you mean | 07:28 | |
07:28
c1sung left
|
|||
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 | ||
I'll just do a full 'make' instead of 'make perl6' all the time | |||
07:28
c1sung joined
|
|||
tadzik | the worse thing is that I made it segfault once or twice :/ | 07:29 | |
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... | ||
Ugh, GC bugs. | |||
tadzik | but if I parse S26 with gc turned off... gah, my rams :( | ||
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:31 | ||
benabik | So one's getting dropped somewhere or something. Not good. | 07:32 | |
tadzik | oh, you should've seen this old one :) | ||
You attach a .WHY to a Sub object, and then you get "Method .WHY not found for invocant of class NQPLexPad" | |||
or CallContext, depending on the memory layout | 07:33 | ||
or a full-blown segfault ;) | |||
07:33
c1sung left
|
|||
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
c1sung joined
|
|||
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. | ||
jnthn | pmichaud: A smallish grammar, lemme paste | 07:34 | |
cotto | Anyone in Riga interested in lunch in a couple hours? | ||
tadzik | probably | ||
rafl | good! | ||
jnthn | pmichaud: gist.github.com/1144673 | ||
rafl | also, yes | ||
pmichaud | jnthn: let me update my build and I'll work on it | 07:35 | |
jnthn | Thanks! | 07:36 | |
07:37
Khisanth left
|
|||
cotto | Which restaurants are good around here? | 07:37 | |
masak | cotto: what type food? | 07:40 | |
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. | ||
there are lots of eateries here in Old Town. | |||
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 ;) | ||
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... | ||
oh, I can still try ms2 | 07:43 | ||
cotto | tadzik, I have a bunch though some of it's known-bad. | ||
not a lot, but it doesn't take a lot | |||
tadzik | cotto: what do you mean by known-bad? | 07:44 | |
07:44
jaldhar left
|
|||
cotto | tadzik, produces errors in memtest86 | 07:44 | |
tadzik | oh, ok | 07:45 | |
pmichaud | "Bad Memory! No refresh for you!" | ||
tadzik | ok, it still fails on ms2 | ||
so it's probably not write bareers | |||
jnthn | tadzik: OK, that means it's not a missing wb and thus is likely a missing mark. | ||
tadzik | oh, so still bad? | 07:46 | |
crap | |||
jnthn | yeah | ||
tadzik | I'd like to make sure, I don't want to declare it a blocker until I'm sure it is | ||
well, it still is for Declarator blocks | |||
moritz | nom: my @a; @a.push: 1 | 07:47 | |
p6eval | nom: ( no output ) | ||
moritz | nom: my @a; @a.push: 1; say "alive" | ||
p6eval | nom: OUTPUT«alive» | ||
tadzik | and parrot -g ms just segfaults | ||
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 | ||
pmichaud | wtf? I just got the error when trying to build rakudo. | 07:49 | |
moritz | nom: 'aa' ~~ /(.)+/; say $0.WHAT | 07:50 | |
p6eval | nom: OUTPUT«Parcel()» | ||
moritz | pmichaud: yesterday I got one too. Rerunning 'make' seemed to clear up everything | ||
I questioned my sanity back then, mostly because I was rather tired :-) | |||
pmichaud | that's... worrisome. | ||
pmichaud does "make clean" and "make" | 07:51 | ||
moritz | nom: say Parcel ~~ Capture | ||
p6eval | nom: OUTPUT«Bool::False» | ||
07:52
c1sung left
07:53
c1sung joined,
Khisanth joined
|
|||
jnthn got setting compiled | 07:55 | ||
didn't make clean, though | |||
pmichaud | yeah, mine compiled the second time around | 07:56 | |
I'm not sure what changed, though -- even the tests I ran yesterday are failing with the same error today. | |||
(i.e., the "'push' not found for invocant..." error) | |||
and they fail even if I roll back to the previou commit | 07:57 | ||
*previous commits | |||
(i.e., the version that I tested them with originally) | |||
I wonder if I forgot to push something somewhere... although I can't seem to find it. | |||
jnthn | pmichaud: Assume nqp version bump(s) needed have happened? | 07:58 | |
07:58
chadadavis joined
|
|||
pmichaud | jnthn: appears they're there, yes. | 07:58 | |
jnthn | pmichaud: Doing a totally fresh clone and build in a different directory | 08:00 | |
pmichaud | okay, 51eb0f8 is able to handle a grammar okay, including the one you nopasted. So the problem is somewhere after that. | 08:02 | |
I guess I can bisect | |||
08:03
c1sung left,
lumi_ joined,
c1sung joined
|
|||
jnthn | pmichaud: 6ac303d added the lines of code that crash. | 08:04 | |
08:04
wamba left
|
|||
masak exhales | 08:05 | ||
I think that's enough C programming for a while. | |||
pmichaud | must be that some blocks don't have a .[1] entry yet. | 08:06 | |
I suppose I could put the decls into .[0] | 08:08 | ||
08:08
drbean left
|
|||
pmichaud tries that | 08:08 | ||
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? | ||
I mean, master didn't need 1.5 Gbs | 08:11 | ||
* GBs | |||
moritz | I wonder if it's because we do more things in the setting | ||
pmichaud | actually, nom's setting is smaller (loc) than masters | ||
so I suspect that isn't it. | |||
pmichaud@kiwi:~/nom$ wc src/gen/CORE.setting 6984 23853 210955 src/gen/CORE.setting | 08:12 | ||
pmichaud@kiwi:~/rakudo$ wc -l src/gen/core.pm | |||
7910 src/gen/core.pm | |||
moritz | I wonder if we could compile each statementlist as soon as it's parsed, and then discard the PAST tree | 08:13 | |
or something like that | |||
pmichaud | changing .[1] to .[0] seems to have fixed the problem.. spectesting | 08:15 | |
I've gone ahead and pushed without waiting for the spectest | 08:16 | ||
dalek | kudo/nom: 884dc50 | pmichaud++ | src/Perl6/Actions.pm: Push regex lexical declarations into $block[0] instead of $block[1] |
||
mj41 | compilers' features ... rakudo/nom is winning ... bit.ly/perl6feat | 08:17 | |
pmichaud | anyway, nom's setting is smaller than masters, yet nom takes 2+ times longer to compile | ||
*not* including the increased time of the parrot .pir -> .pbc step | |||
(if that's included, it's an even greater difference) | |||
moritz | mj41++ # that's some way cool visualization | ||
tadzik | it's not a gc bug! \o | 08:18 | |
so it's my fault somewhere :/ | |||
mj41: woo, awesome! | |||
pmichaud | mj41: can the colors match the colors of the features table somehow...? | ||
moritz | mj41: is that updated regularly (or automatically)? | 08:19 | |
pmichaud | jnthn/others: let me know if 884dc50 fixes your issue(s). kthx | 08:20 | |
mj41 | working to have that automatically from cron | ||
jnthn | pmichaud: pulling | ||
pmichaud | I'd like "implemented" to be green, "missing" to be red, "partial" to be yellow, etc. :) | ||
mj41 | not sure our platform can do that | ||
masak | do you have the source code? :P | 08:21 | |
pmichaud | spectests passed with 884dc50 | 08:22 | |
mj41 | yes, have some spagethi code ... but working on it | ||
pmichaud | afk for a bit | 08:23 | |
cotto | For those in Riga, how about lunch at Victory Pub on Tirgonu iela at 11:45? | 08:24 | |
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;$"» | ||
tadzik | the speakers training is on 12 | ||
masak | cotto: that's like, in 20 mintes? | ||
08:25
c1sung left
|
|||
cotto | masak, yes. tadzik, I missed that. | 08:25 | |
08:25
c1sung joined
|
|||
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? | ||
moritz | std: loop (my $i=0;$i<1;$i++){}; | ||
p6eval | std 516268a: OUTPUT«===SORRY!===Whitespace required before < operator at /tmp/74KwR7R_CD line 1:------> loop (my $i=0;$i<⏏1;$i++){}; expecting escapeParse failedFAILED 00:01 121m» | ||
cotto | actually, I'm going to do the speaker's training. | ||
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? | ||
tadzik | okay, win. S26 has a broken Pod | ||
chadadavis | masak, each statement is fine alone. | ||
nom: loop (my $i=0;$i<1;$i++) {}; | |||
dalek | atures: 61e9558 | moritz++ | template.html: link to overview chart by mj41++ |
||
p6eval | nom: ( no output ) | ||
cotto would go just to see damian, not having done so before | |||
chadadavis | nom: # say 'abc' ~~ / <&nonexistant> / | 08:28 | |
benabik | tadzik: Error messages are preferable to segfaults though. | ||
p6eval | nom: ( no output ) | ||
moritz | look at that output from STD | ||
tadzik | benabik: yeah, I know that | ||
moritz | std: loop (my $i=0;$i<1;$i++) {}; | ||
p6eval | std 516268a: OUTPUT«===SORRY!===Whitespace required before < operator at /tmp/duyYcGEJQT line 1:------> loop (my $i=0;$i<⏏1;$i++) {}; expecting escapeParse failedFAILED 00:01 121m» | ||
moritz | chadadavis: see above. It's really a syntax error | ||
cotto | masak, sorry I didn't realize that was today. | ||
tadzik | benabik: it's just a breakthrough, when something that you thought of as an Ultimate Wisdom turns out to be wrong :0 | ||
:) | |||
chadadavis | moritz: got it now. Thanks. | ||
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
|
|||
tadzik | true | 08:29 | |
I now wonder how on earth did it even parse... | |||
S26 is now one, big, hundreds of lines long formatting code | 08:30 | ||
masak | o.O | ||
tadzik | or maybe not | ||
no, I'm just blind. Huh | |||
hehe, the failing case is just L<C<=item>|#Lists> L<C<=item>|#Lists> | 08:32 | ||
benabik | tadzik: Duplicated? | 08:33 | |
08:34
ZaphrodZenovka joined
|
|||
tadzik | benabik: cutting out the whole paragraphs didn't end up that bad :) | 08:36 | |
08:36
cotto left
|
|||
tadzik | benabik: seems so, =pod L<C<b>|a> L<C<b>|a> fails too | 08:36 | |
I wonder if that's related to the fact that it gets serialized only once, and then just looked up | 08:37 | ||
moritz | nom: multi infix:<+>(int $a, int $b) { nqp::add_i($a, $b) }; say 1 + 2 | 08:46 | |
p6eval | nom: OUTPUT«3» | ||
moritz | nom: multi infix:<+>(int $a, int $b) {say "native!"; nqp::add_i($a, $b) }; say 1 + 2 | ||
p6eval | nom: OUTPUT«3» | ||
09:03
cogno_ joined,
cognominal_ joined
09:05
drbean joined,
cogno left
09:06
cognominal left
09:11
Mowah joined
|
|||
moritz often wants a substr of the form $str.subst($from, $to), not ($from, $chars) | 09:11 | ||
09:13
araujo left
09:14
REPLeffect left
|
|||
TimToady | with StrPos you can have that | 09:15 | |
09:21
]]MTEm[[alhzen joined
|
|||
]]MTEm[[alhzen | Hello | 09:21 | |
09:21
hanekomu joined
|
|||
]]MTEm[[alhzen | ♥♥♥♥♥ | 09:21 | |
masak | ]]MTEm[[alhzen: hi! ♥♥♥♥♥♥♥♥ | 09:22 | |
]]MTEm[[alhzen | Helpmy | ||
masak | ok. | ||
how? | |||
]]MTEm[[alhzen | I want register in frendo | 09:23 | |
moritz | ]]MTEm[[alhzen: try #freenode then | ||
]]MTEm[[alhzen | Speak arabic | 09:24 | |
I | |||
Rry | |||
Try | |||
masak | ]]MTEm[[alhzen: try #freenode channel. | ||
]]MTEm[[alhzen | I am tem from syria | 09:25 | |
And you? | |||
masak | I'm from #perl6. | ||
:D | |||
moritz | ]]MTEm[[alhzen: please stop being off-topic here. If you want to get help, ask in #freenode | ||
]]MTEm[[alhzen | Ok | 09:26 | |
Thanks | |||
masak | if you want to get help with Perl 6, feel free to be on-topic :) | ||
]]MTEm[[alhzen | What the channel | ||
masak | #freenode | ||
09:28
REPLeffect joined
|
|||
dalek | ast: 37f29cd | moritz++ | S05-capture/caps.t: fudge caps.t for rakudo |
09:30 | |
kudo/nom: e77d1cb | moritz++ | src/core/ (2 files): Capture.{pairs,kv,values,keys} and Match.caps |
09:31 | ||
kudo/nom: 2e824dd | moritz++ | / (2 files): Match.chunks |
|||
09:32
wamba joined
|
|||
]]MTEm[[alhzen | Thankyou | 09:32 | |
09:33
]]MTEm[[alhzen left
09:34
mishin joined
09:44
thou left
09:46
xinming left,
xinming joined
09:58
Mowah left
10:00
daniel-s joined
10:04
thelazydeveloper joined
10:08
wtw joined,
uniejo_in_riga joined
10:11
Alias joined
10:19
wtw left,
fbass left
10:28
hanekomu left
10:35
LoRe_ is now known as LoRe
10:37
LoRe is now known as LoRe_
10:56
agentzh joined
10:57
am0c joined
11:00
donri joined
11:03
DarthGandalf left
11:06
DarthGandalf joined
|
|||
moritz | nom spectest count: 11914 pass, 0 fail, 521 todo, 1638 skip | 11:16 | |
11:18
MayDaniel joined
11:21
whiteknight joined
11:23
JimmyZ joined
11:30
MayDaniel left
|
|||
JimmyZ | good evening, #perl6 | 11:41 | |
11:43
woosley joined
|
|||
pmichaud | about the link to the summary chart... how will that be kept up to date? | 11:47 | |
(on perl6.org/compilers/features) | |||
even the chart that is there now says "August 9", which is pretty far out of date :-| | 11:48 | ||
jnthn | Afternoon, #perl6 | 11:53 | |
Leffe! \o/ | |||
masak | Kvass! ø/ | 11:54 | |
jnthn | oh de e kvass :P | ||
masak | :) | 11:55 | |
11:57
araujo joined,
araujo left,
araujo joined
|
|||
tadzik | o/ | 12:07 | |
12:10
ZaphrodZenovka left
12:11
whiteknight left
|
|||
JimmyZ | \o | 12:12 | |
12:13
whiteknight joined
|
|||
tadzik | ...that was one of the weirdest bugs I did | 12:13 | |
jnthn | tadzik: Found it? :) | ||
tadzik | so a subroutine takes an array, shifts an element, then does something recursively on the rest of the elements | ||
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 | ||
modified. Broken | |||
jnthn | oh shift... | ||
tadzik | aye | ||
jnthn had a bug like that in SymbolTable a couple of weeks ago | |||
Not at all fun to find. | |||
12:16
kaare_ left
12:19
bbkr joined
|
|||
bbkr | rakudo: [].[0..*] | 12:20 | |
p6eval | rakudo 922500: OUTPUT«(timeout)» | ||
JimmyZ | nom: [].[0..*] | 12:21 | |
p6eval | nom: ( no output ) | ||
bbkr | what is "nom"? | ||
tadzik | nom branch of Rakudo | ||
moritz | pmichaud: re summary chart, mj41++ said he was working on a cron job | 12:22 | |
masak | Holy Dancing Links Batman! | ||
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:23 | ||
JimmyZ | aloha: nom? | 12:24 | |
tadzik | masak: I know almost nothing about the complexity of the algorithm you're using | 12:25 | |
masak | tadzik: the exact cover problem is NP-complete. | 12:26 | |
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. | ||
it's just links being re-pointed back and forth. hence the name. | |||
anyway, I figgere there could be some overhead from the Perl 5 runloop and stuff, but probably no more than 70%-80%. | 12:28 | ||
I... was wrong :D | |||
JimmyZ | nom: say [].[0..10] | ||
masak | the Perl 5 run takes 90 minutes. the C run takes 8 SECONDS. | ||
p6eval | nom: OUTPUT«Any() Any() Any() Any() Any() Any() Any() Any() Any() Any() Any()» | ||
masak | that's between two and three orders of magnitude speedup. | 12:29 | |
tadzik | yep | 12:30 | |
did you try NYTProf on the Perl 5 one? | |||
masak | no, I didn't. interesting idea. | 12:31 | |
sadly, I have to build slides now, not try interesting side-tracks :/ | |||
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. github.com/masak/dlx-simple/tree/master/c/src | 12:32 | ||
phenny | masak: I'll pass that on when mberends is around. | ||
moritz | .u A | 12:34 | |
phenny | U+0041 LATIN CAPITAL LETTER A (A) | ||
12:34
cogno_ left
|
|||
moritz | nom: say 'A' ~~ /<[\c[LATIN CAPITAL LETTER A]>/ | 12:34 | |
p6eval | nom: OUTPUT«A» | ||
moritz | nom: say 'T' ~~ /<[\c[LATIN CAPITAL LETTER A]>/ | ||
12:34
cogno joined
|
|||
p6eval | nom: OUTPUT«T» | 12:34 | |
moritz | still NYI, ok | ||
dalek | ast: 0a66a58 | moritz++ | / (5 files): rakudo unfudges |
12:35 | |
12:37
mishin left
|
|||
JimmyZ just see another POD6 parser github.com/perl6/perl6-examples/tr...er/lib/Pod | 12:39 | ||
masak | JimmyZ: that's mberends', I believe. | 12:40 | |
JimmyZ | masak: yeah | ||
masak | JimmyZ: it was abandoned because it hit speed limits at the time. | ||
JimmyZ | masak: there is HTTP example, github.com/eric256/perl6-examples-...r/lib/HTTP | 12:41 | |
masak: github.com/perl6/perl6-examples/ doesn't have one | |||
masak: could I push one? | 12:42 | ||
moritz | JimmyZ: probably because there's LWP::Simple now | ||
JimmyZ | looks like 2009 is pretty old | ||
dalek | atures: 526ced2 | moritz++ | template.html: add missing </a> |
12:43 | |
12:44
JimmyZ left,
JimmyZ joined
|
|||
masak | 2009 is so last decade. | 12:45 | |
12:56
uniejo_in_riga left
12:57
uniejo_in_riga joined
|
|||
moritz picks up mberends++ from the station | 13:00 | ||
13:01
wamba left
13:17
hanekomu joined
13:20
orafu left,
zby_home_ joined,
orafu joined
13:24
crked joined
13:25
cotto joined
13:45
kaare_ joined
13:49
crked left
13:50
crked joined
13:51
crked is now known as coach,
jaldhar joined,
coach is now known as Guest30000
13:54
perlhack joined
13:55
Guest30000 is now known as couture
13:56
couture is now known as Guest60485,
Guest60485 is now known as abercrombie
13:58
perlhack left
14:00
jaldhar left
14:02
hanekomu left
14:03
woosley left
14:04
Khisanth left,
drbean left
14:06
ZaphrodZenovka joined
|
|||
masak | quiet today... | 14:08 | |
sbp | yeah... | 14:12 | |
flussence | my computer's fans suddenly went quiet the same time you said that :/ | ||
I think you just killed my PSU fan, masak :( | 14:13 | ||
14:13
hanekomu joined
|
|||
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 :) | ||
masak | ah :) | 14:15 | |
flussence++ | |||
14:17
Khisanth joined
14:23
wamba joined,
Aridai joined
|
|||
[Coke] | msg pmichaud (timing of parrot release) - do you have a preferred time? let me know. | 14:30 | |
phenny, tell pmichaud (timing of parrot release) - do you have a preferred time? let me know. | |||
phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
masak | $ ./perl6 t/spec/S32-trig/pi.t | 14:31 | |
===SORRY!=== | |||
no bigint lib loaded | |||
pi.t shows up as a failing test file in my spectest runs because of this. | |||
jnthn | sejm here | 14:32 | |
For a bunch of others too | |||
masak | lejm. | ||
for me, only that one. | |||
jnthn | oh | ||
lucky you :P | |||
masak | yeah. | ||
[Coke] | - | 14:34 | |
14:34
uniejo_in_riga left
14:36
JimmyZ_ joined,
ponbiki joined
14:38
JimmyZ left,
JimmyZ_ is now known as JimmyZ
14:39
hanekomu left
14:50
kboga joined
|
|||
masak | today's mini-challenge: write a small, idiomatic, nice, self-explanatory permutation generator in Perl 6. | 14:55 | |
input: [1, 2, 3, 4, 5], for example. | |||
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:58
araujo left
14:59
araujo joined
15:01
jaldhar joined
|
|||
masak | yep: rosettacode.org/wiki/Permutations#Perl_6 | 15:01 | |
jnthn | nom: say [X] [1,2,3,4,5] xx 5 | 15:02 | |
p6eval | nom: OUTPUT«(timeout)» | 15:03 | |
jnthn | nom: say [X] [1,2,3] xx 3 | ||
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… | ||
jnthn | ah, no, not that :) | ||
masak | :) | ||
would've been nice. | |||
I always feel when I'm implementing permutations that there's one primitive missing to make it real easy. | 15:04 | ||
but I can never figure out what that primitive is. | |||
unless it's &perms, that is :P | |||
but it feels more like something like [X], as jnthn suggested. | |||
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… | ||
jnthn | pmichaud: ^^ | ||
15:14
Aridai left
15:21
cottoo joined
15:22
MayDaniel joined,
cotto left
|
|||
masak | nom: grammar Foo { token TOP { <x> }; token x { a } }; Foo.parse('a'); say "alive" | 15:23 | |
p6eval | nom: OUTPUT«alive» | ||
masak | hm. | ||
sbp | rakudo: say '🐹' | 15:24 | |
p6eval | rakudo 922500: OUTPUT«🐹» | ||
sbp | rakudo: say '💗💜💛💚💜' | 15:25 | |
p6eval | rakudo 922500: OUTPUT«💗💜💛💚💜» | ||
benabik | .u 💗 | ||
phenny | U+1F497 (No name found) | ||
sbp | .o unicode 💗 | 15:26 | |
phenny | GROWING HEART - www.fileformat.info/info/unicode/char/1F497/ | ||
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 | ? | ||
Extra colorful fonts? | |||
sbp | the astral plane is a jolloquialism for characters outside of the BMP | ||
yeah. Apple Color Emoji, they call it | |||
15:32
cogno_ joined
15:35
cogno left
15:36
masak left
15:44
mj41 left
|
|||
dalek | kudo/nom: e6ed5e6 | Coke++ | t/spectest.data: run another test, track failure modes. |
15:45 | |
15:47
agentzh left
|
|||
takadonet | hey all | 15:52 | |
15:54
daniel-s left,
envi left
16:11
daniel-s joined
16:14
whiteknight left
16:20
fbass joined
16:35
daniel-s left
16:59
JimmyZ left
17:20
worr joined
17:25
thou joined
17:27
protalis joined,
tokuhirom left,
tokuhirom joined
|
|||
protalis | anyone used Perl6 for web development, yet? | 17:31 | |
17:32
tokuhirom left
|
|||
tadzik | I'm quite sure some people do | 17:34 | |
17:36
whiteknight joined
|
|||
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
17:44
zby_home_ left
17:45
anbz left
17:47
anbz joined
|
|||
protalis | thanks, flussence., I'll check it out. | 17:53 | |
arnsholt | masak's blog (strangelyconsistent.org) is published with Perl 6 | 17:57 | |
But it's static, so the HTML is generated off-line and uploaded | |||
18:01
donri left
18:04
fbass left
18:15
djanatyn_ joined
|
|||
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:21
MayDaniel left
18:23
Searle3 joined
18:28
djanatyn left,
djanatyn_ is now known as djanatyn
18:29
birdwindupbird joined
18:47
wolfman2000 left
18:49
Searle joined
18:50
Searle left
18:57
ponbiki left
19:03
thou left
19:05
uniejo_in_riga joined
|
|||
sorear | good * #perl6 | 19:09 | |
[Coke] | sorear: ho | 19:12 | |
19:16
ponbiki joined
|
|||
uniejo_in_riga | nom: say <Good>, * | 19:18 | |
p6eval | nom: OUTPUT«Good*» | ||
19:18
fbass joined
|
|||
uniejo_in_riga | nom: say <Good>, *++ | 19:20 | |
p6eval | nom: OUTPUT«Good_block1010» | ||
uniejo_in_riga | ;-) | 19:23 | |
19:27
worr left
19:33
birdwindupbird left
19:42
tokuhirom joined
|
|||
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. | ||
pmichaud | [Coke]: anytime is fine... earlier is possibly better for us | ||
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:45 | ||
19:46
masak joined
|
|||
masak | oh hai | 19:46 | |
pmichaud | 12:28 <masak> the Perl 5 run takes 90 minutes. the C run takes 8 SECONDS. | 19:47 | |
19:48
awwaiid_ joined
|
|||
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:48 | |
jnthn | evenin' | 19:49 | |
masak | pmichaud: right. | ||
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. | ||
and it wasn't as enjoyable :) | 19:51 | ||
19:51
awwaiid left
19:52
orphu joined
|
|||
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 | |
orphu: greetings. | |||
orphu | hi masak | 19:53 | |
19:53
bbkr left
19:54
bbkr joined
|
|||
moritz | masak: I'm sure a profile would show up insteresting results | 19:55 | |
masak | oh, ok. | ||
tadzik++ suggested one too. | 19:56 | ||
I don't have time to make one before my talk, though :/ | |||
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... | 19:58 | ||
20:00
noganex joined,
mj41 joined
|
|||
moritz | masak: where's the code? | 20:00 | |
masak | github.com/masak/dlx-simple | 20:03 | |
20:03
mberends joined,
noganex_ left
|
|||
masak | the Perl 5 code is under the perl5/ directory. | 20:03 | |
mberends | \o/ | ||
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. github.com/masak/dlx-simple/tree/master/c/src | ||
masak | mberends: it's noobish but really really fast :P | 20:04 | |
moritz | \o mberends | 20:05 | |
[Coke] | pmichaud: I can stay up late monday night and cut it midnight eastern time. | ||
[Coke] sees that most of the failure modes that changed yesterday changed back. ;) | 20:06 | ||
moritz | [Coke]: pmichaud and jnthn tracked that one down | 20:08 | |
pmichaud | [Coke]: whatever works for you will be fine here. | ||
moritz | masak: are nongrams even Exact Cover? | ||
[Coke] | moritz: but, one of them started passing instead of failing the old way, so yay. | 20:09 | |
20:09
worr joined,
uniejo_in_riga left
|
|||
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:09 | |
jnthn | pmichaud: Note conf dinner is on Tue evening. | 20:10 | |
20:10
uniejo_in_riga joined
|
|||
pmichaud | jnthn: yes, I'm taking that into account :) | 20:10 | |
jnthn | ok :) | ||
pmichaud | I did say "earliest", as in meaning "absolutely not before..." | ||
masak | moritz: surprising, isn't it? :) | 20:12 | |
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 | ||
masak | yes, there is. | ||
I'll let you work it out on your own. you'll like finding the solution. | |||
20:21
MayDaniel joined
20:25
mj41 left
|
|||
moritz | :-) | 20:26 | |
jnthn | oh...turns out my second talk is on Wednesday, not Tuesday! | 20:27 | |
pmichaud | \o/ ? | ||
masak mumbles inaudibly | |||
20:28
worr left
|
|||
moritz thinks all speakers should be told that their talks are one day earlier than they actually are :-) | 20:28 | ||
jnthn | heh :) | ||
moritz | at least most speakers from the #perl6 crowd :-) | ||
jnthn | I actually got things prep'd in time for tue :) | ||
masak | how can a talk be one day earlier than it actually is? that doesn't make any sense. | ||
moritz | masak: no, but people can tell you that it's one day earlier | 20:29 | |
20:29
uniejo_in_riga left
|
|||
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 ;) | ||
masak | moritz: yes, I'm just trying to creatively misunderstand you. :) | ||
jnthn | masak: I'm looking forward to your talks today :P | ||
masak | mberends: cool. no rush. I'm not blocking on the review. :) | ||
jnthn: aaaugh | 20:30 | ||
masak starts throwing slides around the room | |||
moritz | gotta catch 'em all! | ||
masak | Slidémon | 20:34 | |
pmichaud | be sure to play by the slide rules | 20:35 | |
20:35
cottoo left
|
|||
masak | dåligt. :) | 20:35 | |
20:36
cotto joined
|
|||
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 | |||
nope, did not :( | |||
moritz too tired to do the full thing today | |||
lue wonders what dxE5ligt means (and what language it is)... | 20:39 | ||
jnthn | lue: Swedish. "bad" | 20:40 | |
felher | tominoes (see Knuth's paper above) | 20:41 | |
* Sudoku | |||
sorry for the noise. copy-paste misclick | |||
dalek | p: 0e60187 | pmichaud++ | src/ (4 files): Refactor handling of $¢ in subs, make sure that match objects can |
||
TimToady | can I give my talk on Tuesday? | 20:44 | |
masak | TimToady said what I was thinking... | 20:45 | |
pmichaud | won't it be easier then, after you've given it on Monday? ;-) | ||
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 | ||
pmichaud | is this talk separate from SOTO? If so, you could re-give SOTO on Tuesday :-) :-) | ||
pmichaud missed OSCON + SOTO this year :( | |||
TimToady | yes, it's a new talk | 20:47 | |
though there will be bits of it | |||
bits of soto in the new talk | |||
masak | once upon a time people actually made transcripts of the SOTOs. I don't know if that is done anymore. | 20:48 | |
but it was back around 2000, so I guess people had lots of time on their hands after the bubble had burst... | |||
TimToady | no, they're trying to get me used to the notion of being a dead white male | ||
masak read that as 'dead white whale' | 20:49 | ||
pmichaud | jnthn: locally I now have | ||
> grammar Foo { token TOP { <x> { say 'oh hai' } }; token x { a }; }; say Foo.parse('a') | |||
oh hai | |||
a | |||
spectesting and pushing | |||
TimToady | well, I'd better get back to work, sigh... | ||
dalek | kudo/nom: 1820f2e | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get latest qregex cursor and closure fixes. jnthn++ |
20:50 | |
20:52
MayDaniel left
|
|||
jnthn | \o/ | 20:52 | |
pmichaud: Does say $<x> in that closure work? | |||
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:54 | |
flussence | mogrify -resize 75% *.jpg (or something like that...) | 20:55 | |
20:55
dorlamm joined
|
|||
pmichaud | > grammar Foo { token TOP { <x> { say $<x> } }; token x { a }; }; Foo.parse('a') | 20:55 | |
a | |||
TimToady | flussence: thanks! | 20:56 | |
pmichaud | jnthn: ^^ | 20:57 | |
flussence | .oO( I actually got something right first time?! :D ) |
||
jnthn | pmichaud++ | 20:58 | |
20:59
whiteknight left,
bbkr left,
whiteknight joined
21:00
bbkr joined
21:03
am0c left
21:08
kaare_ left
21:12
dorlamm left
|
|||
lue | ooc, is there any other way besides eval to call a module whose name you'll only know at run-time? | 21:15 | |
21:19
daniel-s joined
|
|||
masak | lue: what does "call a module" mean in that question? | 21:23 | |
21:23
buubot_backup left
|
|||
lue | To be more specific, how can I C<use> a module whose name I only know at run time? | 21:25 | |
pmichaud | jnthn: gist.github.com/1145328 # stage timings, 2011.07 vs nom -- very interesting | 21:26 | |
jnthn | pmichaud: looking | ||
I did a C level profile too | |||
pmichaud | looks like we're losing a bunch of time in post and pir stages | ||
jnthn | hm | 21:27 | |
The profile at C level showed what seemed to be elevated levels of GC activity | |||
pmichaud | elapsed time is 74s (2011.07) vs 155s (nom) | ||
increases are in parse +24s, post +40s, and pir +14s | |||
jnthn | parse really means parse + past, of course. | 21:28 | |
pmichaud | correct | ||
jnthn | Well, that's not really true... | ||
pmichaud | but the bulk of the increase (54s out of 81s) isn't in the parsing or in the past | ||
jnthn | We're also building a much more detailed model. | ||
But yeah, the losses in later stages are high. | 21:29 | ||
Especially past to post. | |||
pmichaud | I don't quite understand why that's 3x longer, tbh. | 21:30 | |
jnthn | I can believe we're building more PAST nodes. | ||
I find it much harder to believe we'd be building 3 times as many though. | |||
Is the master profile also using the new register alloc stuff that went into PAST? | 21:31 | ||
pmichaud | yes. | ||
jnthn | OK, good. So we needn't consider that. | ||
pmichaud | the pir we generate is a fair bit bigger | 21:32 | |
pmichaud@kiwi:~/rakudo$ wc src/gen/core.pir 193150 572697 5738277 src/gen/core.pir | |||
pmichaud@kiwi:~/nom$ wc src/gen/CORE.setting.pir 248375 868844 10555580 src/gen/CORE.setting.pir | |||
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. | ||
(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
|
|||
pmichaud | importing at runtime is done with 'require' | 21:34 | |
perlcabal.org/syn/S11.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. | ||
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? | ||
pmichaud | masak: require declares lexicals | ||
(I think.) | |||
yes, that's what the "means something like" section says. | 21:37 | ||
masak | ok. | 21:38 | |
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. | ||
*place | |||
In the setting it's 160,000 lines long. | |||
pmichaud | yes, I noticed that | ||
oh | |||
I bet we go quadratic on generating the pir for that sub, for one. | |||
since it's a bunch of concatenations | 21:40 | ||
jnthn | ouch. | ||
I can look at splitting it up | |||
Thing is that it's really meant to "go away" in favor of serialization. | 21:41 | ||
But that's a medium-term solution and we could kinda use something sooner I guess. | |||
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. | ||
as in, short-term ones | |||
Yeah, that :load :init is the thing that's tiding us over until we do the full serialization. | 21:43 | ||
21:43
buubot_backup joined
|
|||
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. | ||
and I'm a bit glad to know that it's not all in parse+past | 21:46 | ||
because I think we have more options there for improvement | |||
jnthn | Oh, for sure we do. | ||
How do I run the stage timings, btw? | 21:47 | ||
pmichaud | just a sec, let me make a couple of commits | ||
I had to patch things in nqp and nom to get them | |||
21:47
Patterner left
|
|||
jnthn | ok, no hurry...I need to rest soon. :) | 21:47 | |
dalek | p: 00c8b11 | pmichaud++ | src/HLL/Compiler.pm: Restore --stagestats option for HLL::Compiler. |
21:48 | |
pmichaud | okay, pushed both nqp and nom | 21:49 | |
yes, I'm going to take a nap also here shortly. | |||
21:49
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
dalek | kudo/nom: 534bd3f | pmichaud++ | tools/build/Makefile.in: Re-enable stagestats option for setting compilation. |
21:49 | |
kudo/nom: 7c76168 | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get latest stagestats fixes. |
|||
pmichaud | actually, I'll do it now. bbiaw | 21:50 | |
21:50
Trashlord left
|
|||
pmichaud | (stagestats will now show whenever --makefile-timings is given on the Configure.pl line) | 21:50 | |
bbiaw | |||
jnthn | excellent, thanks | 21:51 | |
jnthn gets some sleep | 21:52 | ||
lue | blog post! rdstar.wordpress.com/2011/08/14/th...ion-in-p6/ | 21:57 | |
masak | lue: "The split between Perl 5 and Perl 6 is well known."? | 21:59 | |
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. | ||
s/module/modules/ | 22:01 | ||
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:02 | ||
sure, that needs discussion, but what it needs most is someone who (like you) decides to do something. | 22:03 | ||
22:03
pernatiy left
|
|||
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:03 | |
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:05 | |
lue | felher: thanks for spotting the typos. Fixing those as well. | 22:06 | |
felher | lue: you're welcome :) | 22:07 | |
lue | post updated, hopefully that first item is clearer now. | 22:08 | |
22:08
bs338 left
|
|||
lue | masak: if the problem isn't lack of discussion then I must be missing them :) | 22:09 | |
masak | lue: yes. | 22:10 | |
lue notes to himself considering a more european sleep/awake cycle, except for that lousy "school" business | |||
masak | the discussions about something CPAN-like seem to ebb and flow a bit. | 22:11 | |
it's been a while since we had one on a bigger-ish scale. | |||
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:12 | ||
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:17 | |
masak | we have the latter variety too. | 22:18 | |
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." | |||
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. | ||
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:19 | |
22:19
[Coke] left
|
|||
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:20 | |
22:22
[Coke] joined
|
|||
masak | fair enough. | 22:24 | |
22:24
bs338 joined,
bs338 left,
bs338 joined
|
|||
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:31 | |
22:31
thelazydeveloper left
22:32
Searle3 left
22:33
[Coke] left
22:35
[Coke] joined
|
|||
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:36 | |
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... | ||
ruz | felher: github.com/moritz/json/ | 22:40 | |
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:42 | |
how fast ist .perl it once and then eval the output later on? | 22:43 | ||
22:43
[Coke] left
|
|||
flussence | well, building rakudo has to compile a few thousand lines of perl6 and that takes about 10 minutes on a fast machine... | 22:44 | |
felher | flussence: hm, agreed. :) | 22:45 | |
22:45
[Coke] joined
|
|||
felher | i give .perl and eval a try. | 22:45 | |
thnx. :) | |||
22:47
wolfman2000 joined
22:50
[Coke] left
|
|||
masak | felher: way back then, we used .perl and &eval for storing things to file in November the wiki engine. | 22:50 | |
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 | ||
but it worked, and we were building everything from stop-gap measures anyway. | |||
'night, #perl6 | |||
//gq tests rock! | |||
22:51
masak left
22:52
[Coke] joined
|
|||
flussence | he writes that quit message manually every time? that's some dedication :) | 22:52 | |
felher | :D | 22:54 | |
sbp | and yet I'm not surprised, are you? :-) | ||
22:56
[Coke] left
22:59
[Coke] joined
|
|||
lue | .oO(when I'm reading the specs, it feels like it was written by an expert in.... well, LUE) |
23:01 | |
23:09
drbean joined
23:12
wolfman2000 left
23:16
molaf__ joined
23:20
molaf_ left
23:28
wolfman2000 joined
23:38
ZaphrodZenovka left
23:55
worr joined
|