»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
gtodd | yoleaux: tell bartolin successfully built parrot aond perl6-p on two FreeBSD 9.2 | 00:04 | |
oops | |||
avuserow | .tell gtodd try it like this? | 00:06 | |
yoleaux | avuserow: I'll pass your message to gtodd. | ||
gtodd | ggoebel11111111: would be convenient for when an entire script is perl5 | 00:07 | |
yoleaux | 00:06Z <avuserow> gtodd: try it like this? | ||
gtodd | avuserow: that's what I did right after that message ;-) | 00:08 | |
00:15
cognominal joined
00:21
AndChat-188244 joined
00:24
cognominal left
00:27
AndChat-188244 left
00:33
BenGoldberg joined
00:35
colomon joined
00:47
Akagi201 joined
00:51
Akagi201 left
|
|||
BenGoldberg | .seen lambdabot | 01:02 | |
yoleaux | I haven't seen lambdabot around. | ||
BenGoldberg | .seen mubot | ||
yoleaux | I haven't seen mubot around. | ||
01:10
slmult0_z_q joined
01:12
FROGGS_ joined
01:14
yeahnoob joined
|
|||
BenGoldberg | Just randomly browsing through some of the perl6 modules, and I came across Compress::Zlib, and noticed an odd logic error. | 01:17 | |
Specifically, in class Compress::Zlib::Wrap, method get(), $i is assigned the result of Str.index, then used as an argument to Buf.subbuf, which is only gauranteed to work if the encoding is single-bytes. | 01:19 | ||
01:25
raiph joined
01:37
dayangkun joined,
dayangkun left
01:47
Akagi201 joined
01:50
slmult0_z_q left
01:52
Akagi201 left
|
|||
gtodd | BenGoldberg: why only then? | 02:01 | |
02:02
rindolf joined,
Akagi201 joined
|
|||
BenGoldberg | Suppose that the string's encoding is 2 bytes per letter. Then you'd need to multiply $i by two before using it as an index into the Buf for it to be right. | 02:03 | |
And if the encoding is unknown, or variable-width.... | |||
gtodd | oh because a Str index is assigned and then used for the Buf | 02:04 | |
BenGoldberg | Right. | 02:05 | |
gtodd | so the index into the Buf would work but ... not always | ||
I wonder if an easy failing test could be written and how easy that would be to fix by just multiplying by bytes per character (i.e. a hack) :-) | 02:06 | ||
there's probably a more correct way | 02:07 | ||
BenGoldberg | Add a an input-Str buffer to the class, and when reading, append the Str which results from decoding the Buf to the buffer, and discard the Buf; then play with the Str. | 02:14 | |
02:17
aborazmeh joined
|
|||
gtodd | I was going to say why does it decode into a Str and not just directly deal with the Buf :) | 02:19 | |
but that is just me wondering about Str and Buf | |||
github.com/retupmoca/P6-Compress-Zlib/issues yours'll be the first PR :) | 02:20 | ||
02:23
anaeem1 joined
02:28
anaeem1 left
02:32
jerrycheung joined
02:36
raiph left
02:39
chenryn joined
02:44
noganex_ joined
02:53
xenoterracide joined
03:06
immortal joined
03:07
erkan left
03:16
jerrycheung left
03:29
jerrycheung joined
03:55
aborazmeh left
04:02
MikeFair joined
04:04
kaare_ joined,
BenGoldberg left
04:13
[Sno] left
04:34
chenryn left
04:46
kaare_ left
04:49
chenryn joined
05:01
anaeem1 joined
05:03
mberends joined
05:06
anaeem1 left
05:13
colomon left,
colomon joined
05:17
xenoterracide left
05:18
kaare_ joined
05:39
Ven joined
05:40
[Sno] joined
05:43
u-ou joined
05:44
u-ou is now known as Guest16580
05:49
ponbiki_ joined
05:51
darutoko joined
05:54
Ven left
06:11
mr-foobar joined
06:30
xragnar left,
kaare_ left,
kaare_ joined
06:32
xragnar joined
06:33
telex left
06:34
brrt joined,
telex joined
06:36
mr-foobar left
06:43
mr-foobar joined
07:04
zakharyas joined
07:08
virtualsue joined
|
|||
sergot | hi o/ | 07:15 | |
nwc10 | \o | 07:16 | |
07:17
FROGGS_ left
|
|||
sergot | hi nwc10 | 07:18 | |
07:18
virtualsue left
07:25
anaeem1_ joined
|
|||
dalek | ecs: 5265a40 | (L. Grondin)++ | S99-glossary.pod: lc for statement to unbreak links |
07:28 | |
07:29
FROGGS_ joined
|
|||
grondilu tries to count the most occuring unresolved link in S99 and fails: | 07:32 | ||
podchecker -nowarnings S99-glossary.pod 2>&1 |perl6 -e 'say lines.map(~*.match(/'"\'.*?\'/"'))...*.value))' | |||
^ unexpectidly returns "'variadic'" => 1 | |||
m: say <foo foo bar>.Bag.pairs.max(:by(*.value)); | 07:33 | ||
camelia | rakudo-moar 36bada: OUTPUT«"foo" => 2» | ||
grondilu | ^ that's more as expected | ||
07:36
khisanth_ joined
07:37
khisanth_ is now known as Guest5359,
MikeFair left
07:45
virtualsue joined
|
|||
grondilu tries to get a smaller example | 07:47 | ||
m: say ("grep" => 1, "operands" => 1, "cursor" => 1, "arity" => 2, "category" => 2).max(:by(*.value)); | |||
camelia | rakudo-moar 36bada: OUTPUT«"operands" => 1» | ||
grondilu | n: say ("grep" => 1, "operands" => 1, "cursor" => 1, "arity" => 2, "category" => 2).max(:by(*.value)); | 07:48 | |
camelia | niecza : OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | ||
grondilu | p6: say ("grep" => 1, "operands" => 1, "cursor" => 1, "arity" => 2, "category" => 2).max(:by(*.value)); | ||
camelia | rakudo-jvm 36bada: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | ||
..niecza: OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | |||
..rakudo-{parrot,moar} 36bada: OUTPUT«"operands" => 1» | |||
grondilu | m: 'say ("cursor" => 1, "arity" => 2).max(:by(*.value)); | ||
camelia | rakudo-moar 36bada: OUTPUT«===SORRY!=== Error while compiling /tmp/WzA1IhJmNAUnable to parse expression in single quotes; couldn't find final "'" at /tmp/WzA1IhJmNA:1------> " => 1, "arity" => 2).max(:by(*.value));⏏<EOL> expectin…» | ||
grondilu | m: say ("cursor" => 1, "arity" => 2).max(:by(*.value)); | ||
camelia | rakudo-moar 36bada: OUTPUT«"cursor" => 1» | ||
grondilu | am I missing something here? | 07:49 | |
sergot | m: say ("cursor" => 1, "arity" => 2).max(:by({ .value })); | 07:50 | |
camelia | rakudo-moar 36bada: OUTPUT«"cursor" => 1» | ||
grondilu | m: say max :by(*.value), "cursor" => 1, "arity" => 2 | ||
camelia | rakudo-moar 36bada: OUTPUT«"arity" => 2» | ||
itz | anyone near London, UK might be interested in | 07:51 | |
london.pm.org/pipermail/london.pm/W...25393.html | |||
dalek | ecs: 1a1dc4d | (L. Grondin)++ | S99-glossary.pod: add an entry for object |
07:53 | |
ecs: d82d22a | (L. Grondin)++ | S99-glossary.pod: lcfirst for Machine code to unbreak links |
07:55 | ||
FROGGS_ | itz++ # though, I'm travelling around germany tomorrow, so I can't even support you guys :( | 07:56 | |
dalek | ecs: fa5d124 | (L. Grondin)++ | S99-glossary.pod: add entry for argument |
07:57 | |
ecs: 59858ca | (L. Grondin)++ | S99-glossary.pod: lcfirst for oopcode to unbreak links |
07:58 | ||
ecs: 3f14910 | (L. Grondin)++ | S99-glossary.pod: unbreak links to symbol |
08:00 | ||
ecs: c0f9b26 | (L. Grondin)++ | S99-glossary.pod: lcfirst for arity |
08:01 | ||
ecs: 55e2fd6 | (L. Grondin)++ | S99-glossary.pod: lcfirst for category |
08:03 | ||
08:14
sqirrel joined
08:31
zakharyas left
08:33
slmult0_z joined
08:37
zakharyas joined
08:42
fhelmberger joined
|
|||
dalek | kudo/nom: 13b9595 | (Elizabeth Mattijsen)++ | src/core/Cool.pm: .words also Cool, like .lines, pass any parameters |
08:47 | |
lizmat wonders what travis will think of this | |||
and good *, #perl6! | |||
08:48
Woodi joined,
virtualsue left
08:54
travis-ci joined
|
|||
travis-ci | [travis-ci] Rakudo build passed. Elizabeth Mattijsen '.words also Cool, like .lines, pass any parameters' | 08:54 | |
[travis-ci] travis-ci.org/rakudo/rakudo/builds/35711737 github.com/rakudo/rakudo/compare/3...b9595409f4 | |||
08:54
travis-ci left
09:02
MagicalShrub joined
|
|||
lizmat | I guess there's disk space again :-) | 09:02 | |
FROGGS_ | lizmat: travis had issues? | 09:03 | |
09:04
jerrycheung left
|
|||
lizmat | morning FROGGS_! | 09:04 | |
yes: irclog.perlgeek.de/perl6/2014-09-18#i_9380178 | |||
FROGGS_ | hi lizmat | 09:05 | |
lizmat: travis is an online service connected to github... it's not on one of our servers | 09:06 | ||
lizmat | ah, ok :-) | ||
then github had issues :-) | |||
or whatever, it solved itself | |||
09:18
bjz joined
|
|||
sergot | I have a question, can I somehow break a Promise.in(10) before it goes to 10? :) | 09:21 | |
lizmat | no | 09:22 | |
but you can create an Promise.anyof( breakablePromise, InPromise ) | |||
that would break as soon as you break the breakablePromise | |||
sergot | this may help, thank you lizmat++ ! :) | 09:23 | |
yeah, it works, thanks again! | 09:24 | ||
09:25
slmult0_z left
09:40
virtualsue joined,
yeahnoob left
|
|||
dalek | kudo/nom: 44b3e14 | (Elizabeth Mattijsen)++ | src/core/S (2 files): Code esthetics Make all .lines methods use same sane variable scheme and use fewer calculations. |
09:42 | |
09:49
chenryn left
|
|||
sergot | m: try EVAL "nqp::is_bindable(1)"; | 09:51 | |
camelia | ( no output ) | ||
sergot | m: nqp::is_bindable(1); | ||
camelia | rakudo-moar 13b959: OUTPUT«===SORRY!===No registered operation handler for 'is_bindable'» | ||
lizmat | sergot: I don't see that nqp:: op in the doc | 09:56 | |
sergot | would "try EVAL" ignore MoarVM fail? | ||
lizmat | github.com/perl6/nqp/blob/master/d...s.markdown | ||
quite possibly | |||
sergot | lizmat: I'm "try EVAL"ing some rosettacode codes and from time to time I get this: | 09:57 | |
Unhandled exception: When invoking is_bindable, Provided outer frame 0x1842f10 (MVMStaticFrame bind_one_param) does not match expected static frame type 0x1842cb0 (MVMStaticFrame ) | |||
lizmat | if you can reproduce this, you should probably rakudobug or make a MoarVM issue | 09:58 | |
sergot | and it stops after this, so looks like try EVAL doesn't ignore MoarVM exceptions | ||
lizmat | MoarVM exceptions are a bit like segfaults in that respect | 09:59 | |
the HLL doesn't know about them | |||
10:01
sqirrel left
|
|||
sergot | lizmat: I'm writing a script to test all rosettacode codes, here it is : github.com/sergot/p6-rosettacode-t...er/test.p6 | 10:01 | |
lizmat | cool! | 10:02 | |
sergot | it fails sometimes (dont know why yet) | ||
lizmat | would be a nice travis like service :-) | ||
sergot | if you have so time, maybe can you run it and see what happens. | 10:03 | |
some | |||
lizmat | sergot: will do so later today (maybe much later) | 10:08 | |
sergot | lizmat: would be great, nothing important tho :) | 10:09 | |
10:18
virtualsue left
10:20
chenryn joined
10:24
chenryn left
10:26
virtualsue joined,
brrt left
10:33
anaeem1_ left,
anaeem1 joined
|
|||
lizmat | FROGGS_: can I ask you a QAST question? | 10:35 | |
sergot | m: for 1..10 { my $tout = Promise.in(2); my $p = Promise.new; start { loop {} }; await Promise.anyof($p, $tout); } | ||
camelia | rakudo-moar 44b3e1: OUTPUT«(signal )» | ||
timotimo | maybe i can answer qast questions, too | ||
sergot | m: for 1..10 { my $tout = Promise.in(2); my $p = Promise.new; start { loop {} }; await Promise.anyof($p, $tout); } say "alive"; | ||
camelia | rakudo-moar 44b3e1: OUTPUT«===SORRY!=== Error while compiling /tmp/q4QjBk38xtMissing semicolon.at /tmp/q4QjBk38xt:1------> {} }; await Promise.anyof($p, $tout); } ⏏say "alive"; expecting any of: postfix statem…» | ||
sergot | m: for 1..10 { my $tout = Promise.in(2); my $p = Promise.new; start { loop {} }; await Promise.anyof($p, $tout); }; say "alive"; | 10:36 | |
camelia | rakudo-moar 44b3e1: OUTPUT«(signal )» | ||
lizmat | timotimo: I'm working on making .words lazy and according to spec (and faster) | ||
timotimo | oh, neat :) | ||
lizmat | the spec doesn't say that if there is only one word found, it should just return that word | ||
timotimo | oh, something i remember just now: if you have some time and mindspace, you could try to fix << >> and < > with escaped spaces and stuff | 10:37 | |
lizmat | however, if I always return a list, there is one problem with interpolating variables in <<$x>> | ||
timotimo | m: say <<foo\ bar>>.perl | ||
camelia | rakudo-moar 44b3e1: OUTPUT«("foo", "bar")» | ||
sergot | m: for 1..10 { my $tout = Promise.in(2); my $p = Promise.new; start { loop {}; }; await Promise.anyof($p, $tout); }; say "alive"; | ||
camelia | rakudo-moar 44b3e1: OUTPUT«(signal )» | ||
sergot | why does it not print alive?? | ||
:) | |||
timotimo | :o | 10:38 | |
lizmat | timotimo: I think I traced it down to Actions postprocess_words | ||
$past := QAST::Op.new( :op('callmethod'), :name('words'), :node($/), $past ); | |||
timotimo | oh, AFK | ||
lizmat | so I think I need to change the $past to only return the 0-element of the returned value | 10:39 | |
sergot | m: for 1..2 { my $tout = Promise.in(2); my $p = Promise.new; start { loop {}; }; await Promise.anyof($p, $tout); }; say "alive"; | 10:40 | |
camelia | rakudo-moar 44b3e1: OUTPUT«alive» | ||
10:45
virtualsue left
|
|||
dalek | kudo/nom: ec3b836 | (Elizabeth Mattijsen)++ | src/core/Str.pm: Make Str.words lazy and according to spec The spec does *not* mention that the first word should be returned instead of the list, if there is only one word found. This causes a problem with << >> interpolation at the moment, which is under investigation. Also add add :eager / :count parameters. The :eager version is about 10% faster than before. The :count version is about 30% faster than the equivalent (:eager).elems. |
10:46 | |
FROGGS_ | lizmat: don't ask ti ask, just qast! | ||
to* | |||
damn | |||
lizmat | :-) | ||
any suggestion as how to change '$past := QAST::Op.new( :op('callmethod'), :name('words'), :node($/), $past );' | 10:47 | ||
FROGGS_ | you want to return .words[0]? | ||
lizmat | yup | ||
sergot | m: for 1..2 { my $tout = Promise.in(2); my $p = Promise.new; start { lines }; await Promise.anyof($p, $tout); }; say "alive"; | ||
camelia | rakudo-moar 44b3e1: OUTPUT«Unhandled exception in code scheduled on thread 140451512297216Cannot assign to an immutable value in method break at src/gen/m-CORE.setting:19361 in method break at src/gen/m-CORE.setting:19316 in block at src/gen/m-CORE.setting:19432 …» | ||
FROGGS_ | +$past := QAST::Op.new( :op('call'), :name('&postcircumfix:<[ ]>'), :node($/), $past, QAST::IVal.new( :value(0) ) ) | 10:48 | |
lizmat | hmm.... thinking about this, maybe we need a 'words(:first) | ||
FROGGS_ | or so | ||
sergot | m: for 1..2 { my $tout = Promise.in(2); my $p = Promise.new; start { $p.keep(lines()) }; await Promise.anyof($p, $tout); }; say "alive"; | ||
camelia | rakudo-moar 44b3e1: OUTPUT«Unhandled exception in code scheduled on thread 140412203292416alive» | ||
sergot | m: for 1..2 { my $tout = Promise.in(2); my $p = Promise.new; start { $p.keep(try EVAL "lines") }; await Promise.anyof($p, $tout); }; say "alive"; | ||
camelia | rakudo-moar 44b3e1: OUTPUT«alive» | ||
lizmat | FROGGS_: trying that now | 10:49 | |
hmmm... it compiles, but causes more errors: wil investigate further | 10:51 | ||
FROGGS_ | hmmm :/ | ||
lizmat | I guess it assumes the previous behaviour of automatic dereferencing | 10:52 | |
only when there is 1 element | |||
10:55
MagicalShrub left
|
|||
lizmat | FROGGS_: what if I add a :first named parameter to the call to 'words' | 10:55 | |
how would the past then look ? | |||
FROGGS_ | $past := QAST::Op.new( :op('callmethod'), :name('words'), :node($/), $past, QAST::IVal.new( :value(1), :named('first') ) ) | 10:56 | |
lizmat | FROGGS_++ :-) | ||
FROGGS_ | :o) | ||
dalek | kudo/nom: fbf229c | (Elizabeth Mattijsen)++ | src/ (2 files): Fix problem with << >> interpolation, FROGGS++ |
11:07 | |
11:21
chenryn joined
11:26
chenryn left
11:41
_rubio_terra_ joined
11:43
pat_js joined
11:53
bartolin joined
11:58
virtualsue joined
|
|||
bartolin | .tell rurban I was able to build parrot and perl6-p an OpenBSD 5.5. On NetBSD 6.1.4 I had two problems with dyncall. I just created a pull request which should fix these issues. | 12:02 | |
yoleaux | 00:05Z <gtodd> bartolin: /me successfully built parrot aond perl6-p on two FreeBSD 9.2 | ||
bartolin: I'll pass your message to rurban. | |||
dalek | kudo/nom: ec65b9d | (Elizabeth Mattijsen)++ | src/core/Str.pm: Prevent minor issues Str.lines |
||
12:02
leont joined
|
|||
lizmat | cycling& | 12:02 | |
bartolin | gtodd: \o/ | 12:03 | |
.tell rurban (The pull request is for nqp: github.com/perl6/nqp/pull/183) | 12:04 | ||
yoleaux | bartolin: I'll pass your message to rurban. | ||
nwc10 | tadzik: your t-shirt may be at risk if you don't register: act.useperl.at/apw2014/stats | 12:14 | |
dalek | p: dabdfa4 | usev6++ | Configure.pl: Fix build problem on NetBSD, BSDmakefile no longer used |
||
p: 008f60c | usev6++ | 3rdparty/dyncall/configure: compile dyncall with -fPIC on NetBSD It's the same fix as in commit 5ed99d26b3c3ac2d65bc622afdbd987a547046f5 for FreeBSD. OpenBSD does not need CFLAGS=-fPIC (was able to build parrot and perl6-p on OpenBSD 5.5). |
|||
p: 4c831a3 | (Tobias Leich)++ | / (2 files): Merge pull request #183 from usev6/master Fix parrot build problem on NetBSD (building of dyncall failed) |
|||
tadzik | nwc10: right, right | 12:15 | |
nwc10: thing is, I'm still not sure when my bachelor's defense would be, and so if I'll be able to come at all :/ | |||
nwc10 | ah OK | ||
12:17
Guest5359 left,
Khisanth joined,
Khisanth is now known as Guest73498,
Guest73498 left
|
|||
FROGGS_ | nwc10: I put in my shirt size right now and did the payment | 12:18 | |
12:18
khisanth_ joined
12:19
khisanth_ is now known as Khisanth
12:22
chenryn joined,
rindolf left
12:25
rindolf joined
12:26
chenryn left
12:29
raiph joined
12:46
mr-foobar left
|
|||
jnthn | evening, #pelr6 | 12:46 | |
oh wow, I typo it again... | |||
12:46
mr-foobar joined,
guru joined
|
|||
masak | maybe we should just rename the language to Pelr 6. | 12:47 | |
12:47
guru is now known as ajr_
|
|||
masak | it would solve so many problems, like the language squatting on the Perl name. | 12:47 | |
:P | |||
also, jnthn's typos would become correct. | 12:48 | ||
12:48
mr-foobar left
12:49
mr-foobar joined
|
|||
daxim__ | I typo oerk all the time | 12:50 | |
12:50
mr-foobar left,
mr-foobar joined
|
|||
jnthn | sergot: If you do loop { } inside of a start, it won't stop 'cus it was used in a Promise.anyof with a timeout. There's no magical cancellation. | 12:52 | |
12:52
kaare_ left
|
|||
arnsholt | At some point, I'd like to experiment with the Rakudo grammar and implement a loop construct along the lines of Common Lisp's loop() macro | 12:53 | |
'Cuz loop() is awesome (and ridiculous) | |||
jnthn | sergot: 10 of them isn't enough to saturate the thread pool, though. Here, "for 1..10 { my $tout = Promise.in(2); my $p = Promise.new; start { loop {} }; await Promise.anyof($p, $tout); }; say 'alive'" swallows my CPU for 20s before printing alive. | ||
12:54
mr-foobar left,
mr-foobar joined
12:55
anaeem1 left
12:56
mr-foobar left,
mr-foobar joined
|
|||
masak | arnsholt: I've never seen the charm of Lisp's loop construct. | 12:57 | |
arnsholt: maybe you know something about it that I don't, though. | |||
arnsholt: if I get the history of it right, it was put in as a thing that would make imperative folks feel safer, and FP folks generally used other constructs, like recursion. | 12:58 | ||
13:00
robinsmidsrod joined
|
|||
arnsholt | I quite like it | 13:00 | |
But yeah, it breaks completely with the rest of the language | |||
It's just such a versatile and powerful looping construct | 13:01 | ||
Especially the with clause is a nice addition | |||
Essentially lets you handle the "my $used-in-loop; for @stuff { ... }" idiom with $used-in-loop hacing the same scope extent as the loop | 13:02 | ||
dalek | rl6-roast-data: 8f37227 | coke++ | bin/doit: temporarily disable niecza & jvm |
||
arnsholt | s/hacing/having/ | 13:03 | |
[Coke] | ^^ hopefully that will let us at least get some parrot & moar numbers flowing again, until I have time to fix the jvm/host08 issue. | 13:06 | |
(niecza's not doing well on mono3) | |||
13:15
tinyblak joined
13:21
bartolin left
|
|||
Timbus | arnsholt ? for @stuff { state $used-in-loop; ... } | 13:23 | |
13:24
immortal left
|
|||
arnsholt | Timbus: Oh, that works. Didn't realize that | 13:24 | |
jnthn | timotimo: I highly suspect 3ce25eccf1 is to blame for the push performance drops in perl6-bench | 13:25 | |
arnsholt | Makes sense now that I do know, though | ||
Timbus | :> | ||
FROGGS_ | jnthn: but we proved that to be slower... here on irc | ||
jnthn: TimToady has several witnesses :o) | 13:26 | ||
jnthn | FROGGS_: Uhm. On what benchmark, exactly? | ||
FROGGS_ | jnthn: as user came and reported a regression in his code (about five times slower) | 13:27 | |
jnthn | Well, lemme do some measurements here. | ||
FROGGS_ | then it got golfed down... in the end it was just a loop and a push to an array with one element | ||
that was our "microbenchmark" | |||
jnthn | OK, well, something is wrong then | 13:29 | |
Because | |||
FROGGS_ | see irclog.perlgeek.de/perl6/2014-08-28#i_9260375 | ||
jnthn | I just reverted the commit TimToady made, and | ||
perl6-m -e "my @a; my $i = 0; while (++$i <= 1000000) { push @a, 1 }" | |||
Before revert: 27.309s | |||
After revert: 7.509s | 13:30 | ||
So it looks to me - and to timotimo's benchmark runs - that the "pessimization" wasn't so pessimal after all in some cases. :) | |||
FROGGS_ | m: my $now = now; my @a; for ^20_000 {@a.push: $('1,2,3,4,5,6,7'.split(','))}; say now - $now; | 13:31 | |
camelia | rakudo-moar ec65b9: OUTPUT«6.1487728» | ||
FROGGS_ | jnthn: can you run that please? | ||
jnthn | Ah, the benchmark is quite different. | ||
*that* | |||
13:31
mr-foobar left
|
|||
jnthn | OK, removing the "pessiaml" single itme push did indeed speed up that one. | 13:33 | |
FROGGS_ | now we need a third option :o) | 13:34 | |
jnthn | yeah... | 13:35 | |
ah, I think I see the difference... | 13:37 | ||
Somehow, the single arg candidate got this: | 13:38 | ||
value.gimme(*) if nqp::istype(value, List); # fixes #121994 | |||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121994 | ||
jnthn | That has gotta be a hack...but it also means that the split iteration is run in that case | ||
Whereas in the other caes it's not | |||
And I bet that's where the extra cost comes from. | |||
masak | retupmoca: looking at github.com/retupmoca/markdown/comm...7331a72342 now | 13:42 | |
I missed the part where that stopped working in Rakudo. | 13:43 | ||
FROGGS_ | ahhh | ||
masak | what's the background, ooc? | ||
13:44
dalek left
|
|||
retupmoca | background? | 13:45 | |
FROGGS_ | m: my $text = "abc"; $text ~~ s:g[a] = "z"; say $text | 13:47 | |
camelia | rakudo-moar ec65b9: OUTPUT«zbc» | ||
retupmoca | masak: that stopped working because of the new LoL stuff in rakudo, iirc. It was taking (...;...;...) as a list construct | ||
FROGGS_ | ahh | ||
that part | |||
retupmoca | m: my $text = "abc"; $text ~~ s:g[a] = ( my $tmp = 'z'; $tmp; ); say $text | ||
camelia | rakudo-moar ec65b9: OUTPUT«z zbc» | ||
jnthn | I now have a patch that seems to not re-introduce #121994, gets the perl6-bench one in 6.793s (better than before the revert and WAY better than now) and actually gets the case TimToady pulled out the sinlge candidate case for faster too (2.727s, dwon from 3.320s). | 13:48 | |
So providd this spectests OK, we get wins on both benchmarks over their previous bests. | |||
13:53
masak left,
Util left,
leedo joined,
sergot left
13:56
denis_boyun joined
|
|||
gtodd | retupmoca: did you see BenGoldberg's comments about Compress::Zlib in the scrollback? | 13:57 | |
jnthn | Seems it's good. :) | 13:58 | |
gtodd | retupmoca: does it matter that the get() method doing encode decode with Str and Buf that way? | 13:59 | |
14:01
cognome_ joined,
lizmat_ joined
14:02
liztormato joined,
virtualsue_ joined
|
|||
retupmoca | gtodd: I did not see that, thank you for the ping :) | 14:02 | |
14:02
ggoebel11111112 joined
|
|||
retupmoca | gtodd: and yeah, it looks like that get() method won't work with multi-byte characters | 14:02 | |
14:03
guru joined,
guru is now known as Guest95789
14:04
bonsaikitten joined
|
|||
gtodd | reading code helps you get good at critically reading code I guess ... I assumed perl6 had super powers and could just index into a Buf or a Str and just automunge something :-) | 14:05 | |
that's because I'm still young at mind (I have shoshin) and all computers are still magical :) | 14:06 | ||
14:08
eternaleye_ joined
14:10
leedo left,
ajr_ left,
virtualsue left,
FROGGS_ left,
apejens left,
eternaleye_ is now known as eternaleye,
virtualsue_ is now known as virtualsue,
leedo joined
14:16
FROGGS_ joined,
muraiki joined
14:17
apejens joined
14:19
bowtie joined,
bowtie is now known as Guest8332
14:20
SamuraiJack joined
14:21
synopsebot joined,
Juerd joined,
sergot joined,
PerlJam joined,
dalek joined,
ChanServ sets mode: +v dalek
14:22
hugme joined,
pmichaud joined,
ChanServ sets mode: +v hugme,
tadzik joined,
ilbot3 joined
14:23
Util joined
14:25
[Coke] joined,
masak joined
14:26
masak is now known as Guest40075
|
|||
Guest40075 | retupmoca: that makes sense. | 14:26 | |
14:27
Guest40075 is now known as masak_grr
|
|||
masak_grr | anyway, pull requests merged. | 14:28 | |
retupmoca++ # especially for the Data::Pretty one | |||
retupmoca | masak_grr++ | ||
14:29
SamuraiJack left
|
|||
timotimo | masak_grr: what are you grr about today? :) | 14:33 | |
jnthn | Probably having paired with me all day :P | 14:34 | |
timotimo | hah, ouch ;) | ||
14:34
fhelmberger left
|
|||
timotimo | .tell brrt when we have proper jit code production for invoking NativeCall stuff .. that could be super amazingly cool :) | 14:35 | |
yoleaux | timotimo: I'll pass your message to brrt. | ||
timotimo | .tell brrt i'm not sure if that'd end up super easy because we already have the code that emits regular calls to MVM_* functions, or if it's going to be harder because we have to be converting data types back and forth? | 14:36 | |
yoleaux | timotimo: I'll pass your message to brrt. | ||
14:38
tinyblak left
|
|||
jnthn | really good JIT of native calling is probably hard but worth it. | 14:38 | |
It's enough work for an whole GSoC project... ) | 14:39 | ||
masak_grr | pairing up with jnthn all day is fine, and not grr-inducing. the quality+quantity of it all is pretty astounding when you look back. | ||
jnthn | :) | 14:40 | |
masak_grr | no, the _grr is because when IRC storms enough (probably because of snotty script kiddie jerks or something), I get kicked off my own account for ~30 minutes because I miss connecting with NickServ in time. | 14:41 | |
timotimo | OK :) | 14:42 | |
masak_grr | ...but that's still better than someone else grabbing my account and squatting on it for an indefinite time, which happened once. | ||
retupmoca | gtodd: Compress::Zlib HEAD now has tests and a fix for that issue | ||
gtodd++ # for pointing it out | 14:43 | ||
14:44
d4l3k_ joined,
grondilu_ joined
14:45
mls_ joined
14:47
ajr joined,
ajr left,
Guest95789 left,
denis_boyun__ joined
14:48
dalek left,
denis_boyun left,
pat_js left,
camelia left,
hugme left,
d4l3k_ is now known as dalek,
flussence joined
14:49
tadzik left
14:50
hugme joined
|
|||
gtodd | retupmoca: yay and BenGoldberg++ for reading/thinking so clearly ;-) | 14:50 | |
14:50
ChanServ sets mode: +v hugme
14:51
telex left,
anocelot joined
14:53
anaeem1 joined
14:58
anaeem1 left,
telex joined
15:02
tadzik joined,
apejens_ joined,
jlaire_ joined
15:03
rurban joined
15:04
robins joined,
perlpilot joined,
camelia joined,
mr-foobar joined
|
|||
dalek | kudo/nom: abc97db | jonathan++ | src/core/List.pm: Further optimizations of push. This cuts the perl6-bench while_push benchmark in half again, and provides a further small improvement for the push/split benchmark. |
15:04 | |
15:05
rlilja joined,
apejens left,
PerlJam left,
liztormato left,
jlaire left,
robinsmidsrod left,
Larre_the_cow left,
xinming_ joined,
ChanServ sets mode: +v camelia,
liztormato_ joined
15:06
SamuraiJack joined
15:08
FROGGS[mobile] joined
15:09
perlpilot is now known as PerlJam
15:13
FROGGS_ left
|
|||
jnthn | timotimo: At your convenience, feel free to do a perl6-bench run and see if we're looking better on the push benchmarks. :) | 15:13 | |
15:16
_rubio_terra_ left
15:18
liztormato_ left
|
|||
masak_grr | 'night, #perl6 | 15:19 | |
15:20
anaeem1 joined,
ponbiki_ is now known as ponbiki
15:27
aindilis joined
|
|||
gtodd | I think it was masak that "6golfed" this word counter: perl6 -e `.say for (bag slurp.words).pairs.sort(*.value).reverse[^10]' ... I have 6017 line unicode text version of Maria Chapdelaine | 15:27 | |
15:27
zacts joined
|
|||
gtodd | couints the top 10 most frequent words in 7 seconds | 15:27 | |
Ibut a 6294 line unucode text of La_psychologie_des_foules.txt croaks with | 15:28 | ||
15:28
[Sno] left
|
|||
gtodd | "Arg has not been flattened in slurpy_positional" | 15:28 | |
15:28
denis_boyun__ left
|
|||
gtodd | in method new at src/gen/m-CORE.setting:17249 | 15:29 | |
in sub bag at src/gen/m-CORE.setting:17906 | |||
15:30
nickpatc1 joined,
sftp_ joined,
risou_ joined
|
|||
gtodd | but if I shorten it to 6100 lines it works | 15:30 | |
15:31
atta_ joined,
retupmoc1 joined,
rhr_ joined,
cxreg2 joined,
grep0r joined,
Gothmog_1 joined,
_rubio_terra_ joined,
atta left,
wtw left,
Gothmog_ left,
felipe left,
risou left,
mtj__ left,
retupmoca left,
nickpatch left,
sftp left,
wtw joined,
wtw left,
wtw joined,
avar joined,
avar left,
avar joined,
sftp_ is now known as sftp,
Gothmog_1 is now known as Gothmog_,
danaj_ joined,
mtj joined
15:32
sunnavy left,
sunnavy joined,
SHODAN joined,
jepeway joined,
raiph left,
woshty joined,
stux|RC-only joined
15:33
ggherdov___ joined,
ntln joined,
mathw joined
15:34
shachaf joined
15:37
retupmoc1 is now known as retupmoca
15:39
shachaf left,
shachaf joined
15:41
tinyblak joined
15:44
raiph joined,
jtpalmer joined
15:45
shachaf left
15:46
woshty left,
avar left,
eMBee left,
wtw left,
wtw joined,
yoleaux joined,
avar joined,
molaf joined,
cotto- joined,
wtw left,
wtw joined,
avar left,
avar joined,
ChanServ sets mode: +v yoleaux,
cotto- is now known as cotto
|
|||
gtodd | oops I meant 5654 lines ... ;-) ie reducing the length/size of the file to equal the one that is working is not helping ... suggesting that something bag or Baggy is doing after grabbing the slurped words is causing p6 to exit with the error that Arg is not flattened in slurpy_positional | 15:47 | |
15:48
FROGGS[mobile] left
15:50
raiph left,
leont left,
raiph joined,
woshty joined
|
|||
gtodd | but what would not get be getting flattened ? the error sends me to look at at src/gen/m-CORE.setting:17249 | 15:50 | |
15:50
eMBee joined
15:51
leont joined
|
|||
dalek | kudo-star-daily: c881109 | coke++ | log/ (14 files): today (automated commit) |
15:54 | |
rl6-roast-data: 76f34df | coke++ | / (4 files): today (automated commit) |
|||
15:56
robins is now known as robinsmidsrod
|
|||
gtodd | that I guess comes from src/core/Baggy.pm github.com/rakudo/rakudo/blob/nom/...ggy.pm#L24 | 15:56 | |
15:57
FROGGS[mobile] joined
15:58
zakharyas left
|
|||
gtodd | which refers to rt.perl.org/Public/Bug/Display.html?id=119609 :-) | 15:58 | |
15:59
apejens_ is now known as apejens
16:01
FROGGS joined
16:03
BenGoldberg joined
16:04
cognome_ left
|
|||
dalek | rl6-roast-data: 7b55a1e | coke++ | perl6_pass_rates.csv: These 2 were not run today. |
16:07 | |
16:09
Akagi201 left
16:11
SamuraiJack left
16:13
tinyblak left
|
|||
gtodd | anyway I thought it might be simple, but what ever is? | 16:16 | |
masak_grr: I have alias="perl6 -e '.say for (bag slurp.words).pairs.sort(*.value).reverse[^10]' " and use it at least once a month ;-) | |||
16:21
kaleem joined
16:28
kaleem left
16:29
PZt joined,
virtualsue left
16:33
johnreed joined
16:40
mls_ is now known as mls,
Akagi201 joined
|
|||
TimToady | so, in perl6-bench, after I did a fetch, I didn't expect a build to rebuild the entire world, including the all the "stable" old versions of everything; how can I just rebuild the things that changed? | 16:42 | |
16:43
raiph left
|
|||
TimToady | japhb: ^^ | 16:44 | |
or do I have to cd down and do such builds by hand? | 16:45 | ||
16:45
Akagi201 left,
johnreed left
|
|||
TimToady | it's doubly irritating because all the old builds take twice as long... | 16:45 | |
16:48
raiph joined
|
|||
gtodd | maybe it will only do that once? | 16:49 | |
TimToady | and all I want to do is to see if my new test of push @a, @a comes out scaled correctly | ||
I already did it once last night | |||
now it's doing it again | |||
gtodd | that seems .... suboptimal for a large set of situations | 16:50 | |
TimToady | of course, when it's not busy overheating my lap, it's sitting there trying to update submodules on old version, which presumably are tagged anyway | ||
anywya, it seems that 'bench build' reconfigs everything, which is no fun at all | 16:51 | ||
gtodd | sounds like " bench build " needs more cowbell | 16:54 | |
... or cloud | |||
16:55
guru joined,
guru is now known as ajr_
16:57
ajr_ left
|
|||
TimToady | at least I thought to rebuild before I started backlogging rather than after... | 17:01 | |
17:02
treehug88 joined
|
|||
TimToady | oh lovely, now it's starting in on rebuilding all the old P5 versions...no lap heater breaks for submodules now... | 17:08 | |
17:08
leont left
|
|||
TimToady | at least it doesn't do 'make test' | 17:09 | |
lizmat_ is back, but still tired :-) | 17:10 | ||
17:16
lizmat_ is now known as lizmat
17:20
[Sno] joined,
FROGGS[mobile] left
|
|||
lizmat | FWIW, after jnthn's latest pull, the spectest seems a little slower to me (and more CPU, 1200+ for the first time in a long time) | 17:23 | |
TimToady | my informal run of bench last night had current (as of yesterday) rakudo decreasing to 3.3% of P5, with a peak of 4% on 2014-08 | 17:27 | |
so that tends to confirm that things have got slower | 17:28 | ||
TimToady also provides a grain of salt with that | |||
17:29
anaeem1 left
|
|||
TimToady | dunno how much of that is just the "push" effect | 17:29 | |
17:30
zakharyas joined
|
|||
TimToady would like to rerun the tests today, but for Some Reason he can't, possibly related to all the rakudo-jvm rebuilds that just started now :/ | 17:31 | ||
lizmat | :-( | ||
but today still has at least 4.5 hours, even here :-) | |||
TimToady | 'bench build' should come with a big fat "ARE YOU ABSOLUTELY SURE?" confirmation | ||
17:32
molaf left
|
|||
TimToady | s/SURE/INSANE/ | 17:32 | |
timotimo | t.h8.lv/p6bench/2014-09-19-post_rel...akudo.html t.h8.lv/p6bench/2014-09-19-history_rakudo.html | 17:33 | |
the parse json benchmarks both suffered a bit :( | 17:36 | ||
TimToady | is that before or after jnthn's push patch? | 17:37 | |
timotimo | after | ||
it's nice to see the improvement in zero and hello | 17:38 | ||
17:40
tinyblak joined
17:41
slmult0_z joined,
Akagi201 joined,
raiph left
17:43
bartolin joined
17:45
Akagi201 left
|
|||
dalek | kudo/nom: a874439 | (Elizabeth Mattijsen)++ | src/core/Supply.pm: Implement Supply.words, according to spec |
17:46 | |
ast: 1aa3c11 | (Elizabeth Mattijsen)++ | S17-supply/words.t: Add tests for Supply.words |
17:47 | ||
kudo/nom: 197d0a5 | (Elizabeth Mattijsen)++ | t/spectest.data: Add Supply.words tests to spectest |
17:53 | ||
kudo/nom: 7a381fd | (Elizabeth Mattijsen)++ | docs/ChangeLog: Some initial ChangeLog entries for 2014.10 |
|||
17:57
tinyblak left
|
|||
grondilu_ | so, this GRL thing you guys keep talking about, is it coming soon? I can't wait now :P | 18:01 | |
18:01
pmurias joined
|
|||
dalek | p-js: 1a083d0 | (Pawel Murias)++ | src/vm/js/bin/run_tests: Add passing test 46. |
18:01 | |
p-js: a3cf6e7 | (Pawel Murias)++ | src/vm/js/ (2 files): Emit partial data required for deserialization (code refs are missing). And stubs for ops required for deserialization. |
|||
p-js: baf2612 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js: Fix coding standard violations. |
|||
nqp-js: c02577e | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (2 files): | |||
18:01
grondilu_ is now known as grondilu
18:02
grondilu left,
grondilu joined
|
|||
lizmat hopes pmichaud will be able to make it to the APW, so we can get clarity about the GLR | 18:02 | ||
grondilu | (oops, misspelled that. was GLR I guess) | ||
PerlJam | .seen pmichaud | 18:03 | |
yoleaux | I saw pmichaud 30 Aug 2014 16:52Z in #perl6: <pmichaud> lunchtime -- bbl | ||
PerlJam | That's one long lunch ;) | 18:04 | |
grondilu | hopefully if there's a talk about it we'll get videos quicker than what we did for YAPC::EU :/ | ||
PerlJam | Did the videos from the third room ever go up? | 18:05 | |
18:05
cognome joined
|
|||
lizmat | PerlJam: I think all but the main room videos are up | 18:06 | |
check it out at www.youtube.com/user/yapceu | 18:07 | ||
pmurias | hmm, with a high quality live stream it should be possible to add talk started/ended and crowdsource the editing of videos | ||
PerlJam | yeah, it's the Vitosha videos that are still missing. | ||
lizmat | just pinged #yacpeu, but no news there yet either | 18:08 | |
18:09
virtualsue joined
18:11
Akagi201 joined
|
|||
timotimo | aaw | 18:15 | |
pmurias | ? | ||
18:15
Akagi201 left
|
|||
dalek | ar: ec742d5 | (Tobias Leich)++ | modules/zavolaj: update NativeCall's revsion, pmakholm++ |
18:16 | |
timotimo | i'm still somewhat eagerly waiting for the vitosha videos | 18:17 | |
checking almost every day ... | |||
lizmat wonders whether Integral isn't a fossil (e.g. S02:754) | 18:19 | ||
synopsebot Link: perlcabal.org/syn/S02.html#line_754 | |||
18:19
guru joined
18:20
guru is now known as Guest76244
|
|||
lizmat | it *is* most definitely NYI and underspecced | 18:20 | |
18:20
Guest76244 is now known as ajr_
|
|||
TimToady | well, the question is, what would belong in a role for integers, and will this get more important as more integer types are used? | 18:21 | |
18:21
slmult0_z left
|
|||
lizmat | ah, good point... | 18:23 | |
18:23
slmult0_z joined
|
|||
TimToady | timotimo: I made the mistake of typing 'bench build' this morning, and am still awaiting the results; do you have any secrets for building just latest without rebuilding everything? | 18:27 | |
or do you just do it by hand in the subdir? | |||
timotimo | "bench build rakudo-moar/2014.09 rakudo-parrot/2014.09 nqp-moar/2014.09 nqp-parrot/2014.09 etc etc" will do that for you | 18:28 | |
TimToady | thanks | ||
timotimo | until now i didn't know you could leave the arguments out | ||
i thought it only did that when you use "bench quickstart" | |||
TimToady | seems like there oughta be a way to say just rebuild the things that git pull modified | 18:30 | |
or 'fetch' | |||
timotimo | mhh yes | ||
seems like the user interface portion of p6bench just got a new hacker :P | 18:31 | ||
TimToady | well, so much for the GLR :) | ||
lizmat | m: my $a = nqp::box_s("foo",ObjAt); say $a; say $a.WHAT # is there a better way to make an ObjAt string? | 18:33 | |
camelia | rakudo-moar 7a381f: OUTPUT«foo(ObjAt)» | ||
timotimo | TimToady: after only a bit of hacking on p6bench, you'll want to get back to making things faster real quick :P | ||
lizmat | m: say ObjAt.new(:value<foo>) # LTA error, very LTA | 18:34 | |
camelia | rakudo-moar 7a381f: OUTPUT«(signal )» | ||
lizmat | m: say <a b c>.Set.WHICH.WHAT # should be ObjAt according to spec | 18:35 | |
camelia | rakudo-moar 7a381f: OUTPUT«(Str)» | 18:36 | |
18:36
ivanshmakov is now known as ivanshmakov|
|
|||
timotimo | i don't really know what we need ObjAt for :\ | 18:36 | |
lizmat | S02:652 "So C<WHICH> still returns a value rather than another object, but that value must be of a special C<ObjAt> type that prevents accidental confusion with normal value types, and at least discourages trivial pointer arithmetic." | 18:37 | |
synopsebot | Link: perlcabal.org/syn/S02.html#line_652 | ||
18:39
ivanshmakov joined
|
|||
gtodd | and it's not yak shaving if p6bench needs to be faster for the GLR to happen :-) | 18:40 | |
18:42
ivanshmakov left,
ivanshmakov joined
18:45
darutoko left
|
|||
itz | GLT? | 18:47 | |
errr | |||
GLR? | |||
lizmat | "The Great List Refactor: a refactoring of the reification of lazy lists, so that lazy evaluation is only done when it is really needed. Expected to provide a performance benefit of several factors in certain, loop-like situations." | ||
itz | ah | 18:49 | |
18:49
ivanshmakov| left
|
|||
nwc10 is so glad that GLR isn't en.wikipedia.org/wiki/BBC_London_94....80.932000 | 18:50 | ||
itz | I thought it was a pre-nationalisation railway company :) | 18:53 | |
dalek | ecs: 364a50a | (Elizabeth Mattijsen)++ | S02-bits.pod: Fix typo |
||
18:56
xinming_ left
|
|||
gtodd | itz: hehe | 18:58 | |
18:58
xinming joined
|
|||
gtodd | wasn't that GNR ? | 18:58 | |
ajr_ | GWR | 18:59 | |
Great West | |||
gtodd | TGTIMTOWTMIGFR the great there is more than one way to make it go faster refactor | 19:00 | |
but really ... TGIF | |||
nwc10 | en.wikipedia.org/wiki/Great_Western_Railway en.wikipedia.org/wiki/Great_Norther...Britain%29 en.wikipedia.org/wiki/Great_Eastern_Railway en.wikipedia.org/wiki/Great_Southern_Railways | 19:01 | |
take your pick | |||
but if you really want a fun railway, see en.wikipedia.org/wiki/Lartigue_Monorail | 19:03 | ||
19:04
slmult0_z left,
slmult0_z_y joined
|
|||
gtodd | lizmat: btw an error I described above when using masak's "6golfed" wordcount script sent me digging around and I found a bug of yours mentioned .. | 19:05 | |
lizmat: rt.perl.org/Public/Bug/Display.html?id=119609 <-- is that "fixed" ? | |||
lizmat looks | 19:06 | ||
I think it is worked around in the Set implementation | 19:07 | ||
gtodd | ok good | 19:08 | |
lizmat | but the underlying issue still exists | ||
m: my %e; -> $_ { (%e{$_.WHICH} //= ($_ => 0)).value++ } for <a b b c c c>; say %e.perl | |||
camelia | rakudo-moar 7a381f: OUTPUT«("Str|a" => "a" => 1, "Str|c" => "c" => 3, "Str|b" => "b" => 2).hash» | ||
lizmat | p: my %e; -> $_ { (%e{$_.WHICH} //= ($_ => 0)).value++ } for <a b b c c c>; say %e.perl | ||
camelia | rakudo-parrot 7a381f: OUTPUT«("Str|b" => "b" => 2, "Str|c" => "c" => 3, "Str|a" => "a" => 1).hash» | ||
lizmat | hmmm... underlying issue seems fixed as well | ||
gtodd | oh good! anyway it did not seem to explain the error I described ... which I think is moar related | ||
lizmat: jnthn: hmm not sure if I should file it --> paste.scsys.co.uk/424473 but I think it is a more accurate source of the error I encountered ... I don't know if it is a bug or just an "unimplemented" bit ... | 19:09 | ||
jnthn: are moar bugs on rt or ...github? | 19:11 | ||
19:11
Akagi201 joined
|
|||
lizmat | gtodd: I'm getting 'Malformed UTF-8' ? | 19:13 | |
gtodd | hmm | ||
I don't get anything from perl6-m | |||
19:14
Isp-sec joined
|
|||
gtodd | after running iconv to make it into utf-8 | 19:14 | |
I get the error unless I shrink the file down ... | |||
lizmat | ok, after running it through iconv, it is accepted | 19:16 | |
ah, but only 23 lines left | 19:17 | ||
19:17
Akagi201 left
|
|||
gtodd | iconv -f ISO-8859-1 -t UTF-8 24007-8.txt > La_psychologie_des_foules.txt | 19:18 | |
wc La_psychologie_des_foules.txt | |||
6295 53934 369256 La_psychologie_des_foules.txt | |||
lizmat | (bag slurp.words).pairs' <text2 | 19:20 | |
is enough for a segfault for me | |||
gtodd | with perl6-m -e '.say for (bag slurp.words).pairs.sort(*.value).reverse[^10]' aliased wordcount I did to a bunch of txt files thus: | 19:21 | |
for i in *txt; do echo ""; wc $i ; wordcount $i; done | |||
lizmat | (bag slurp.words) <text2 | ||
actually | |||
gtodd | so is it the moar backend's slurpy_positional doing that? | ||
lizmat | no idea: | 19:23 | |
$ time perl6 -e 'my @w := slurp.words; .say for @w.Bag.pairs.sort({$^b.value cmp $^a.value})[^10]' <text2 # works for me and takes ~ 5.5 seconds | |||
gtodd | there's a case MVM_CALLSITE_ARG_DEFAULT or something that throws that error but at the top of the while loop I think there's a check of some kind | 19:24 | |
if (arg_info.flags & MVM_CALLSITE_ARG_FLAT) nqp/MoarVM/src/core/args.c line 517 | |||
lizmat | $ time perl6 -e 'my @w := slurp.words; .say for @w.Bag.pairs.sort(*.value).reverse[^10]' <text2 # this version takes 6.5 seconds | ||
gtodd | heh yeah it's faster to count words than to match words in a logfile ... anyway just wondered if it was effecting anyone else ... my p6-p and p6-j work - only perl6-m crashes | 19:27 | |
lizmat: it works if I use your approach ... time perl6 -e 'my @w := slurp.words; .say for @w.Bag.pairs.sort(*.value).reverse[^10]' <La_psychologie_des_foules.txt | 19:30 | ||
but takes 14 seconds (it's my disks I'm sure) | |||
someone smarter than me must poinder why masak's elegant code doesn't work ... :-) I can't really say when it started | 19:32 | ||
lizmat | it's probably something Moarish, indeed | 19:33 | |
gtodd | can say when it started to break since I only use it sporadically and not always on large files | ||
lizmat | TimToady: I just wondered how [ * - ^10 ] could be taken to mean "give me the last 10 elements" | ||
BenGoldberg | m: say( * - ^10 ); | 19:34 | |
camelia | rakudo-moar 7a381f: OUTPUT«WhateverCode.new()» | ||
BenGoldberg | m: (^20)[ * - ^10 ].say; | 19:35 | |
camelia | rakudo-moar 7a381f: OUTPUT«10» | ||
gtodd | leaving aside the dot on "say" (and maybe the pairs bit) a total non programmer could quite well understand the wordcount "p6 phrase"--> | 19:36 | |
.say for (bag slurp.words).pairs.sort(*.value).reverse[^10] | |||
BenGoldberg | m: (bag slurp.words).pairs.sort(*.value).reverse[^10].say | 19:39 | |
camelia | rakudo-moar 7a381f: OUTPUT«"mo" => 9 "a" => 8 "le" => 5 "is" => 5 "Ghaoth" => 4 "an" => 4 "ag" => 4 "gach" => 3 "gan" => 3 "Dobhair." => 3» | ||
gtodd | Alba an aigh! | ||
19:41
Isp-sec left
|
|||
gtodd tries to make it only count wors with > 5 chars | 19:41 | ||
words | |||
lizmat | grep( *.value > 5 ) | ||
gtodd | :-) | 19:42 | |
yay | |||
that's what I thought to try ... perl6 is working for my brain ! | 19:43 | ||
19:45
sqirrel joined,
Psyche^ joined
|
|||
lizmat | gtodd: seems the segfault doesn't happen if the file is truncated to the first 5655 lines | 19:46 | |
if it has 5656 lines, it segfaults | |||
gtodd | yesh .. for me it was 5654 lines and then a few more chars | ||
TimToady | you can't implicitly hyper a - like that | 19:47 | |
gtodd | !! | ||
lizmat | TimToady: do we have another way to say "the last 10 elements" ? | 19:48 | |
TimToady | [ *-10 .. * ] maybe | ||
lizmat | gtodd: 5654 lines, indeed | 19:49 | |
TimToady | [ * X- ^10 ] maybe | ||
[ * «-« ^10 ] maybe | |||
19:49
Psyche^_ left
|
|||
TimToady | but you can't automatically assume a - will distribute over a range | 19:49 | |
lizmat | [*-10 .. *] works | 19:50 | |
TimToady | or course the X and hyper, if they work, will be in reverse order | ||
lizmat | ah, yes, reverse order... hmmm.. | 19:51 | |
TimToady | and * - 0 will be off the end in any case | ||
gtodd | in vim it's 10$ :-) | ||
or maybe {10}$ | 19:52 | ||
TimToady | different languages make different things easy | 19:53 | |
lizmat | gtodd: did you rakudobug it already ? | ||
gtodd | no ... wondered if I should file it under moar repo on github or on rt.perl.org ... | 19:55 | |
lizmat | rakudobug for now, with the indication that it's a moar specific rakudo problem | ||
gtodd | ok so just mail it to [email@hidden.address] and it's all good or ...? | 19:56 | |
lizmat | yup | ||
gtodd | ok good I forgot my rt login .... trying to sign up again today | 19:57 | |
lizmat | S02:900 "A Str is a Unicode string object. There is no corresponding native str type." | 20:02 | |
synopsebot | Link: perlcabal.org/syn/S02.html#line_900 | ||
lizmat | TimToady: is that a fossil? or is rakudo using str in a Buf way ? | ||
20:05
xragnar_ joined,
xragnar is now known as Guest35084,
Guest35084 left,
xragnar_ is now known as xragnar
|
|||
dalek | rl6-bench: 1754bab | TimToady++ | microbenchmarks.pl: add a pushme benchmark |
20:06 | |
TimToady | lizmat: depends on how things work out under NFG | 20:07 | |
lizmat | ah, the other big thing we still need :-) | 20:08 | |
TimToady | late lunch & | ||
20:09
fuad joined
20:12
Akagi201 joined
20:15
sqirrel left
|
|||
TimToady never managed to get plots out of that benchmark, but suspects it's a config issue | 20:16 | ||
20:17
Akagi201 left
20:23
zakharyas left
|
|||
bartolin | while building perl6-p on different BSD systems I repeatedly stumbled over dyncall. AFAIK dyncall is an external library included in nqp. for FreeBSD (10.0), OpenBSD (5.5) and DragonFly BSD (3.8.2) I had to add -fPIC as a compiler flag for building dyncall. for OpenBSD (5.5) this was not necessary, since Position Independent Code is enabled per default. (I googled that one :-) | 20:26 | |
since I'm not familiar with dyncall: do you think I should report this issues upstream (to the dyncall developers)? I'm not sure I'm able to describe the problem properly. I *think* we run into trou | |||
20:26
virtualsue left
|
|||
bartolin | ble because we build shared libraries of dyncall which we use later in our build process. | 20:26 | |
erm | 20:27 | ||
20:28
cxreg2 is now known as cxreg
|
|||
timotimo | oh btw | 20:29 | |
is rakudo vulnerable to that real number that causes double parsers to loop infinitely? | |||
gtodd | bartolin: I might be wrong but did Chohag find different versions of dyncall being used in nqp parrot etc. ? | 20:30 | |
oh wait ChoHag is here :-) | |||
PerlJam | timotimo: sounds like a good test to write anyway, just in case :) | ||
ChoHag | Sort of here. | ||
gtodd | anyway bartolin++ for chasing this down ... I got perl6-p to build (finally) but it is very slow and the repl is strange (I need to press return twice to get into it or exec lines of code?) ... rebuilding on some more machines again now :) | 20:32 | |
timotimo | perl6: say +"2.2250738585072012e-308" | ||
camelia | rakudo-jvm 7a381f: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | ||
..rakudo-{parrot,moar} 7a381f: OUTPUT«2.2250738585072e-308» | |||
..niecza: OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | |||
timotimo | perl6: say 2.2250738585072012e-308 | ||
camelia | rakudo-{parrot,moar} 7a381f: OUTPUT«2.2250738585072e-308» | ||
..niecza: OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | |||
..rakudo-jvm 7a381f: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | |||
gtodd | bartolin: do you have hardware or vm's for your BSDs ? ... if they are bare vm's can you share ;-) | 20:33 | |
bartolin | gtodd: I installed some KVM guests. At the moment they are definitely not ready for sharing :-/ | 20:34 | |
gtodd: But sounds like a nice idea. | |||
gtodd | heh ok I have some VBox VMs ... contemplating 11-CURRENT and bhyve :-) | 20:35 | |
20:35
[Sno]_ joined
|
|||
bartolin | gtodd: regarding dyncall: I found only dyncall v0.8 included at github.com/perl6/nqp/tree/master/3...ty/dyncall | 20:35 | |
20:36
[Sno] left,
[Sno]_ is now known as [Sno]
|
|||
gtodd | I think I will "down tools" and update netbsd and openbsd and various 9 and 10 series VMs before trying any more weekly builds | 20:36 | |
bartolin: ok I must have mis-remembered that discrepancy | 20:37 | ||
bartolin | gtodd: And adding -fPIC as a compiler flag enabled me to build perl6-p for different BSD variants (as above). | ||
20:38
slmult0_z_y left,
slmult0_z_y_h joined
|
|||
bartolin | gtodd: I saw yesterday, that upstream added -fPIC for FreeBSD as well: dyncall.org/svn/dyncall/trunk/dyncall/ChangeLog | 20:38 | |
gtodd | bartolin: ye nice I grabbed head/master with --gen-parrot=master | ||
bartolin | gtodd: But only in trunk (yet) and not for NetBSD or DragonFly BSD | ||
gtodd | since I'm bleeding edge for parrot that might explain other slowness ... is the patch now in the parrot 6.8.0 release ? | 20:39 | |
oh only trunk | |||
ok | |||
bartolin | gtodd: It's not in parrot 6.8.0. IIRC rurban++ said, it should probably go in 6.8.1 | 20:40 | |
gtodd | I shouldn't think of parrot as upstream but it is kind of upstream to rakudo ;-) dyncall is double upstream :) | 20:42 | |
bartolin | Well, for the moment I'll patch nqp's version of dyncall, so that perl6-p is buildable on DragonFly BSD | ||
gtodd | have not used DFly for some time ... needed hardware to do so back then | ||
bartolin | gtodd: then I was referring to double upstream ;-) | 20:43 | |
gtodd | will DFly run in a kvm? | ||
bartolin | I just installed it | ||
But did not a lot more than building parrot and perl6-p ;-) | 20:44 | ||
tony-o | timotimo: i don't know if you've pulled http-server-async recently but i have the tests messed up | 20:45 | |
gtodd | I should try ... sometime next my little "farm" will end up with: netbsd openbsd and freebsd 9.3R 10.0.1R | ||
s/next/nest week/ | |||
s/nest/next/ | 20:46 | ||
20:46
virtualsue joined
|
|||
bartolin | on a related note: do you think it is useful to support systems like DragonFly BSD? or should I better try to look for LHF in tickets or tests? | 20:47 | |
20:48
cognome left,
cognome joined
20:52
[Sno] left,
[Sno] joined
20:53
cognome left
|
|||
timotimo | tony-o: didn't test it thoroughly ... or at all :( | 20:56 | |
20:57
fuad left
|
|||
tony-o | timotimo: it should be fixed in the repo | 20:59 | |
timotimo | cool | 21:00 | |
bartolin | gtodd: regarding different versions of dyncall: I just saw that MoarVM has it's own dyncall (looks like pre 0.8): github.com/MoarVM/dyncall | 21:12 | |
21:13
Akagi201 joined
|
|||
gtodd | ok that was it :-) | 21:13 | |
21:17
Akagi201 left
21:19
telex left
21:20
telex joined
21:27
virtualsue left
21:33
rurban left
|
|||
lizmat | good night, #perl6! | 21:34 | |
PerlJam | good night lizmat! | 21:35 | |
sleep well. | |||
21:40
bartolin left
21:42
[Sno] left,
[Sno] joined
21:43
virtualsue joined
21:45
cognome joined
21:46
sunny joined,
sunny left,
cognome left
21:47
cognome joined
21:51
cognome left
21:59
treehug88 left
22:00
virtualsue left
22:05
leont joined
22:14
Akagi201 joined
22:16
virtualsue joined
22:19
Akagi201 left
22:23
xinming left
22:24
xinming joined
22:31
ajr_ left
22:33
kurahaupo joined
22:38
slmult0_z_y_h_g joined,
slmult0_z_y_h left
22:50
pmurias left
22:54
molaf joined
22:56
raiph joined
22:57
colomon left
22:58
virtualsue left
|
|||
dalek | kudo/better-errors-for-roles: a15c440 | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Give a clearer error message when trying "does UnknownRole" |
23:01 | |
23:14
Akagi201 joined
23:15
slmult0_z_y_h_g left,
slmult0_z_y_h_g joined
23:19
Akagi201 left
23:31
xenoterracide joined
23:33
raiph left
23:49
xenoterracide left
|