»ö« 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. |
|||
FROGGS | Perl5::Terms make use of rakudo's Test.pm, commenting that so that Perl5::Terms has no deps | 00:00 | |
this seems to do the trick | 00:01 | ||
m: sub fail($a?) is export { use Test; ::('&flunk')( $a // '' ) } | |||
camelia | ( no output ) | ||
jnthn | Right, it was the pre-compiled Test.pm that was making an issue in JSON::Tiny too | 00:03 | |
FROGGS | hmmm | ||
00:04
beastd left
|
|||
FROGGS | okay, I can reproduce it | 00:05 | |
I put "sub fail($a?) is export { use Test }" in a file called flunk.pm and compiled it to mbc | |||
and then used it from -e and get the same error | 00:06 | ||
timotimo | is JSON::Tiny only failing due to a test.pm problem? | 00:07 | |
00:07
skids joined
|
|||
jnthn | FROGGS: Like this: gist.github.com/jnthn/8609496 | 00:07 | |
timotimo: Well, I got it working for me... | |||
timotimo: Now trying to work out why FROGGS has bugs I don't.. | 00:08 | ||
FROGGS | jnthn: I copy+pasted your commands, and it fails for me | 00:10 | |
I did a git diff in all repos, and only rakudo has changes (in the grammar, as expected) | |||
dalek | kudo/nom: 9e00a88 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Install method not found handler. Actually receives the invocant object, ready for an improved exception object. Can also add this mechanism to JVM backend, most likely. |
00:11 | |
jnthn | FROGGS: git show 8004501e # you do have this one, yes? | ||
FROGGS: And 080ce0bf2 in NQP? | |||
00:13
FROGGS_ joined
|
|||
FROGGS_ | nqp-m --version | 00:13 | |
This is nqp version 2014.01-3-g080ce0b built on MoarVM version 2014.01-2-g8286436 | |||
perl6-m --version | 00:14 | ||
This is perl6 version 2014.01-25-gfd8316f built on MoarVM version 2014.01-2-g8286436 | |||
git show 8004501e | |||
commit 8004501ef1a7f593def75a71c646727e6f8f0098 | |||
Author: jnthn [email@hidden.address] | |||
yes | |||
00:15
FROGGS left
|
|||
FROGGS_ | compiling on windows now | 00:16 | |
00:17
airdisa joined
00:22
airdisa left
00:25
BenGoldberg joined
|
|||
FROGGS_ | gnight | 00:32 | |
jnthn | 'night, FROGGS_ | 00:33 | |
diakopter | o/ | ||
timotimo | gnight | 00:35 | |
hoelzro | alright! dir() bug fixed on moar! | ||
just gotta test on parrot and jvm... | |||
dalek | ast: fd53e7a | jnthn++ | S02-magicals/UsedEnv.pm6: Make a test Windows-friendly. |
00:38 | |
jnthn | hoelzro: Cool...I did a small dir on Moar Windows patch earlier, but that just got it to only fail the dir.t tests that we do on other platforms, I think. | ||
00:43
jnap left
00:50
mavcunha joined
00:57
jeffreykegler joined
00:58
telex left
01:00
mavcunha left,
telex joined
01:03
stevan_ joined,
btyler joined
01:04
mavcunha joined
01:07
btyler left
|
|||
grondilu | p6: role Foo {}; multi infix:<+>(Foo $, Foo $) { "Foo!" }; say (4 but Foo) + (5 but Foo);' | 01:11 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Bogus statement at /tmp/tmpfile line 1:------> "Foo!" }; say (4 but Foo) + (5 but Foo);⏏'Parse failed» | 01:12 | |
..rakudo-parrot fd8316, rakudo-jvm fd8316, rakudo-moar fd8316: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse expression in single quotes; couldn't find final "'" at /tmp/tmpfile:1------> Foo!" }; say (4 but Foo) + (5 but Foo);'[…» | |||
diakopter | wut | ||
oh | |||
grondilu | p6: role Foo {}; multi prefix:<+>(Foo $x) { $x }; say +(4 but Foo); | ||
camelia | rakudo-parrot fd8316, rakudo-jvm fd8316, rakudo-moar fd8316, niecza v24-109-g48a8de3: OUTPUT«4» | ||
grondilu | I don't see why it works with the prefix and not the infix :/ | 01:13 | |
oh hang on | |||
p6: role Foo {}; multi infix:<+>(Foo $, Foo $) { "Foo!" }; say (4 but Foo) + (5 but Foo); | 01:14 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Foo!» | ||
..rakudo-jvm fd8316: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Int:D \a, Int:D \b --> Int):(Foo, Foo) in any at gen/jvm/BOOTSTRAP.nqp:1225 in any at gen/jvm/BOOTSTRAP.nqp:1218 in any at gen/jvm/BOOTSTRAP.nqp:1202 in sub infix:<+> at ge…» | |||
..rakudo-moar fd8316: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Int:D \a, Int:D \b --> Int):(Foo, Foo) in sub infix:<+> at src/gen/m-CORE.setting:3992 in block at /tmp/tmpfile:1» | |||
..rakudo-parrot fd8316: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match::(Int:D \a, Int:D \b --> Int):(Foo, Foo) in any at gen/parrot/BOOTSTRAP.nqp:1233 in any at gen/parrot/BOOTSTRAP.nqp:1225 in any at gen/parrot/BOOTSTRAP.nqp:1210 in sub inf…» | |||
grondilu | there you go | ||
the candidate using the roles should prevail, shouldn't it? | 01:15 | ||
01:17
airdisa joined
|
|||
lue | p: role Foo {}; my $a = 42 but Foo; say $a ~~ Foo; say $a ~~ Int; | 01:21 | |
camelia | rakudo-parrot fd8316: OUTPUT«TrueTrue» | ||
01:22
airdisa left
01:24
mavcunha left
01:33
varna joined
01:38
mcglk joined
01:40
Exodist left
01:41
Exodist joined
01:43
jnap joined
01:48
jnap left
01:49
stevan_ left
01:50
stevan_ joined
|
|||
grondilu | well, maybe not. I need to read S12 again, one of these days. | 02:02 | |
02:18
airdisa joined
02:23
airdisa left
02:43
aindilis left
02:44
jnap joined
02:49
jnap left
02:59
jnap joined
03:08
grondilu left
03:19
airdisa joined
03:20
jeffreykegler left
|
|||
[Coke] | (bug coke) you can also bug pmichaud++ | 03:21 | |
03:23
airdisa left
03:40
BenGoldberg left
|
|||
lue | good to know :) | 03:44 | |
04:05
regreg joined,
jnap left
04:16
molaf joined
04:19
airdisa joined
04:24
airdisa left
04:29
FROGGS_ left
04:35
jnap joined
04:37
Exodist left
04:40
jnap left
04:42
Exodist joined
04:44
FROGGS joined
04:46
Alula left,
Alula joined
04:58
araujo left
|
|||
raydiak | Str is 3x faster than str under perl6-m in a simple concat test? | 05:08 | |
yoleaux | 24 Jan 2014 17:00Z <japhb> raydiak: re: irclog.perlgeek.de/perl6/2014-01-21#i_8152416 , yes I've done a bit of work on the vector lib, just getting vector-vector and vector-scalar operations in place. The code for similar operators is generated from template to avoid repetition and obscure copy-pasta errors affecting only one variation of one op somewhere. | ||
24 Jan 2014 17:03Z <japhb> raydiak: The code needs some massaging to make it sane to work on together, but if you're up for it, I can find some tuits to throw at that. | |||
05:11
SamuraiJack joined
05:13
Alula left,
Alula joined
05:20
airdisa joined
05:25
airdisa left
05:36
jnap joined
05:41
jnap left
05:42
REPLeffect left
06:08
darutoko joined
06:09
awraa left
06:21
airdisa joined
06:26
airdisa left
06:32
FROGGS left
06:34
zby_home_ joined
06:37
jnap joined
|
|||
dalek | t--IRC/concurrency: 06a4f24 | (Geoffrey Broadwell)++ | lib/Net/IRC/SocketConnection.pm: Don't hardcode the line separator when sending lines |
06:40 | |
t--IRC/concurrency: 2ed14a0 | (Geoffrey Broadwell)++ | lib/Net/IRC/Logger.pm: Support logging to an already-opened handle, as well as to a logfile path |
|||
t--IRC/concurrency: 3516c39 | (Geoffrey Broadwell)++ | lib/Net/IRC/Bot.pm: Convert Net::IRC::Bot core to use concurrency and new logging system |
|||
t--IRC/concurrency: 74f77ca | (Geoffrey Broadwell)++ | / (3 files): Switch sample bot and modules that used to 'say' debug messages to use new logging system instead |
|||
06:41
jnap left
06:50
varna left
06:53
Alina-malina left
06:54
Alina-malina joined
07:22
airdisa joined
07:23
SamuraiJack left
07:27
airdisa left
07:29
atroxaper joined
07:37
jnap joined
07:42
jnap left
08:08
atroxape_ joined
08:11
atroxaper left
08:22
airdisa joined
|
|||
felher | Why was Order::Inc/Dec changed to Order::More/Less? | 08:25 | |
08:27
airdisa left
08:29
FROGGS joined
|
|||
FROGGS | morning | 08:31 | |
felher | o/ froggs | ||
FROGGS | hi felher :o) | ||
moritz | good morning | 08:36 | |
felher: because it was pretty ambiguous. $a cmp $b => Inc. Do you need to increase $a to get $b? or is $b an increased version of $a? | 08:37 | ||
felher: also, Inc < 0 was pretty unintuitive | |||
whereas $a <=> $b => Less it's pretty clear that $a is less than $b, and Less < 0 is also pretty intuitive | 08:38 | ||
08:38
jnap joined
|
|||
felher | moritz: Ah, IC... okay. I just thought more/less is kindy ambigous. a < b < c is increasing, though you have a lot of less-than-signs in between them. :) | 08:38 | |
moritz: but yeah, I see your point. | |||
thanks. :) | |||
moritz | on a completly unrelated note, I now know why I don't like info pages | 08:39 | |
felher | Why's that? | ||
moritz | it's because when the man page doesn't contain enough information, and I follow the 'For more information, please read "info $prog"' | ||
08:39
FROGGS left
|
|||
moritz | and then I often get exactly the same text as the man page, and I'm disappointed | 08:40 | |
felher | yeah, true. | ||
moritz | and the few times that I haven't gotten the same text, it usually wasn't much more helpful | ||
I think I can recall only one occurrence when the info page actually contained something useful for me that the man page didn't contain | 08:41 | ||
m: say 'what revision am I on?' | 08:42 | ||
camelia | rakudo-moar 9e00a8: OUTPUT«what revision am I on?» | ||
moritz | HEAD, great | ||
Mouq | p6: sub &*dynamical {} | ||
camelia | rakudo-parrot 9e00a8, rakudo-jvm 9e00a8, rakudo-moar 9e00a8: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMissing blockat /tmp/tmpfile:1------> sub ⏏&*dynamical {} expecting any of: statement list pre…» | ||
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: &dynamical is declared but not used at /tmp/tmpfile line 1:------> sub &*dynamical ⏏{}» | |||
08:43
daniel-s_ left,
daniel-s__ joined
|
|||
moritz -> afk | 08:43 | ||
08:43
jnap left
08:46
FROGGS joined
08:47
_daniel-s__ joined
|
|||
FROGGS | jnthn: I commented here gist.github.com/jnthn/8609496 | 08:48 | |
jnthn: is it expected to differ in file size? | |||
08:49
daniel-s__ left
08:53
Rotwang joined
08:56
_daniel-s__ left
09:00
_daniel-s__ joined
|
|||
dalek | kudo/nom: 396a2d3 | Mouq++ | src/Perl6/Grammar.nqp: Fix parsing of `sub { 42 }()` and `sub{ 42 }()` Fixes two tests in S02-lexical-conventions/sub-block-parsing.t |
09:01 | |
Mouq | p6: say sub{4}() #works now | 09:02 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«4» | ||
..rakudo-parrot 9e00a8, rakudo-jvm 9e00a8, rakudo-moar 9e00a8: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say sub{4}⏏() #works now expecting any of: postfix …» | |||
FROGGS | Mouq++ | ||
Mouq | I can un-skip those tests, right? | 09:03 | |
09:04
crab2313 joined
|
|||
FROGGS | sure | 09:04 | |
that is the point :o) | |||
Mouq | K :) | 09:06 | |
dalek | ast: 94420d5 | Mouq++ | S02-lexical-conventions/sub-block-parsing.t: Unskip postcircumfix on sub declaration tests |
||
FROGGS | you did a spectest run? | 09:12 | |
nvm, I am doing one anyway | 09:14 | ||
09:21
regreg left
|
|||
Mouq | FROGGS: Yeah, but in hindsight I probably would have had a better chance of seeing any problems that the commit may have caused if I'd have used the Parrot or JVM backend :p :/ | 09:21 | |
09:22
_daniel-s__ left
09:23
airdisa joined
|
|||
FROGGS | true | 09:25 | |
p-spectest should pass, jvm has a handful which can be seen in the perl6_pass_rates repo | |||
err, this github.com/coke/perl6-roast-data/t...master/log | 09:26 | ||
m-spectest is harder to compare atm | |||
Mouq | FROGGS: Yeah, thanks. I'm going to start building JVM again alongside Moar | 09:27 | |
09:28
airdisa left
09:33
xinming_ joined
09:36
xinming left
09:38
xinming joined
09:39
xinming_ left
09:41
odoacre_ joined
09:43
Alina-malina left
09:47
regreg joined
09:48
zacts joined
|
|||
Mouq | Or... I would but perl6-m seems to be overwriting perl6-j? :/ | 09:49 | |
09:50
dmol joined
|
|||
moritz | it shouldn't | 09:51 | |
and it doesn't, usually :-) | |||
Mouq | moritz: I know :) but it is.. it had done it a week or so ago, actually, but I had been configuring my perl6-j so I figured it was my fault. I hadn't built it since | 09:56 | |
09:56
denis_boyun joined,
bjz_ left,
bjz joined
|
|||
Mouq | r: say (-1) ** 10 ** $_ for 1..10 | 10:03 | |
camelia | rakudo-jvm 396a2d: OUTPUT«1111111111» | ||
..rakudo-parrot 396a2d: OUTPUT«111111111-Inf» | |||
..rakudo-moar 396a2d: OUTPUT«1111111110» | |||
Mouq | jvm++ | ||
10:05
molaf left
|
|||
Mouq | Hm, perl6-j only gets overwritten with --backends=moar,jvm. --backends=jvm,moar works fine, though I still get a 'make: write error' at the end of 'make install' | 10:07 | |
hoelzro | morning #perl6 | 10:10 | |
10:15
denis_boyun left
|
|||
moritz | Mouq: that should only overwrite perl6, not perl6-j | 10:18 | |
hoelzro | would someone mind taking a look at my PR from early this morning? github.com/rakudo/rakudo/pull/247 | 10:20 | |
moritz | if it does overwrite perl6-j with perl6-m, please paste your Makefile and a transcript from the build | ||
10:22
Mouq left
10:24
airdisa joined
10:29
airdisa left
|
|||
hoelzro | rakudo.org is a WP install, right? I'd like to make a change to the "how to help" page | 10:30 | |
I was also hoping that since I've written a few patches now, I could look at the CLA and get a commit bit | 10:31 | ||
moritz | hoelzro: /msg me your email address | ||
10:32
crab2313 left
10:33
Mouq joined
|
|||
moritz changes his rakudo.org password, since he doesn't remember if was the same as his blogs.perl.org password | 10:35 | ||
10:38
denis_boyun joined,
Alina-malina joined
|
|||
hoelzro | does anyone know if there's a way to stage changes so that others can review them without making them public? | 10:39 | |
10:40
jnap joined,
denis_boyun left
|
|||
hoelzro | updated rakudo.org/how-to-help/ | 10:42 | |
I added a paragraph to the "wanting to help without learning Parrot" section | 10:43 | ||
10:43
denis_boyun joined
10:45
jnap left
10:49
spider-mario joined
|
|||
masak | good almost-noon, #perl6 | 10:50 | |
colomon | o/ | ||
moritz | \o masak, colomon | ||
hoelzro++ | |||
hoelzro | hey masak | 10:51 | |
masak | hey hey hey | ||
moritz | ho ho ho | 10:53 | |
corecatcher | heyas | 10:59 | |
11:00
atroxape_ left
|
|||
hoelzro | hello | 11:02 | |
masak | corecatcher: ooh, a new presence on #perl6? if so, welcome. | ||
11:03
raiph left
|
|||
corecatcher | masak: more or less, yes - beein idling around for quite some time | 11:04 | |
FROGGS | time to get active then :o) | 11:05 | |
masak | yeah, idling doesn't count. | 11:06 | |
I did a fair bit of that back in 2005. | |||
corecatcher | thats the plan, done the frankfurt tutorials on nqp sql grammars, thats where I ended weeks ago | ||
masak | wow \o/ | ||
jnthn++ | |||
corecatcher | so basically in search for time and lhf | 11:08 | |
FROGGS | I always recommend RT for newcomers | ||
masak | well, re lhf, the two easiest ways to find it is (a) trawl RT for it, or (b) do stuff you enjoy and stumble over lhf. | ||
FROGGS | right, either look at an interesting fixable thing in RT, or try to fix bugs you hit while experimenting | 11:10 | |
hoelzro | I rather like the latter myself | 11:12 | |
then you're invested in it | |||
that being said, I think I've fixed 2-3 bugs that I've found | |||
tbf, someone usually beats me to it =) | 11:13 | ||
jnthn | afternoon, #perl6 | ||
FROGGS | hi jnthn! | ||
hoelzro | greetings jnthn | 11:14 | |
masak | jnthn! \o/ | 11:15 | |
dalek | kudo/nom: 74172bf | (Tobias Leich)++ | src/Perl6/Optimizer.nqp: fix NPMCA |
||
jnthn | FROGGS: The commit message and code don't seem to match up... nqp::defined isn't the way to look for null, that's !nqp::isnull($meth). Or is it more subtle? | 11:18 | |
FROGGS | hmmm, it fixed the issue though... but yeah, nqp::isnull is saner | 11:19 | |
jnthn | Well, I'm curious how it fixed it is all :) | 11:20 | |
FROGGS | I always thought nqp::defined on parrot takes care of nulls | ||
moritz | nqp-p: say(nqp::defined(nqp::null())) | ||
camelia | nqp-parrot: OUTPUT«0» | ||
moritz | nqp: say(nqp::defined(nqp::null())) | 11:21 | |
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0» | ||
jnthn | oh :) | ||
FROGGS | nqp: say(nqp::null()) | ||
jnthn | OK, carry right on :) | ||
camelia | nqp-parrot: OUTPUT«Null PMC access in get_string()current instr.: '' pc 704 (gen/parrot/stage2/NQPCORE.setting.pir:335) (gen/parrot/stage2/NQPCORE.setting:667)» | ||
..nqp-jvm: OUTPUT«java.lang.NullPointerException in (gen/jvm/stage2/NQPCORE.setting:674) in print (gen/jvm/stage2/NQPCORE.setting:673) in say (gen/jvm/stage2/NQPCORE.setting:680) in (/tmp/tmpfile:1) in (gen/jvm/stage2/NQPHLL.nqp:1099) in eval (gen/jvm/stage2…» | |||
..nqp-moarvm: OUTPUT«» | |||
FROGGS | k | ||
jnthn | Is anybody already testing hoelzro's PR? | 11:22 | |
jnthn pulls it | 11:23 | ||
FROGGS | not seen it, no | 11:24 | |
ahh dir(), nice | 11:25 | ||
11:25
airdisa joined
|
|||
jnthn | Well, dir.t passes in full with it on Windows now | 11:25 | |
jnthn spectests, even though he doubts there can be any fallout | 11:26 | ||
11:30
airdisa left
|
|||
dalek | kudo/nom: d6ffdb4 | (Rob Hoelz)++ | src/core/IO.pm: Fix dir() on MoarVM |
11:32 | |
kudo/nom: 477cbf8 | jnthn++ | src/core/IO.pm: Merge branch 'nom' of github.com:hoelzro/rakudo into nom |
|||
11:37
Alina-malina left
11:41
jnap joined
11:43
krunen left
|
|||
tadzik | :o | 11:45 | |
r: my Num $a = 0.0 | |||
camelia | rakudo-moar 396a2d: OUTPUT«Type check failed in assignment in block at /tmp/tmpfile:1» | ||
..rakudo-parrot 396a2d, rakudo-jvm 396a2d: OUTPUT«Type check failed in assignment to '$a'; expected 'Num' but got 'Rat' in block at /tmp/tmpfile:1» | |||
11:45
jnap left
|
|||
hoelzro | I spectested on perl6-{j,m,p} | 11:49 | |
jnthn | hoelzro: Nice. It's in, anyways :) | 11:51 | |
hoelzro | \o/ | ||
whom do I talk to about the CLA? | 11:54 | ||
11:55
FROGGS left
|
|||
Mouq | hoelzro: I emailed Karen Pauley (karen@perlfoundation.org) with a scan of my CLA, and she passed it on to whomever it needed to go to | 11:55 | |
hoelzro | Mouq: where is the CLA itself located? | 11:56 | |
Mouq | Oh, sorry. Here: www.perlfoundation.org/legal | 11:57 | |
11:57
kurahaupo_mobile joined
|
|||
Mouq | moritz: oop, sorry, I missed irclog.perlgeek.de/perl6/2014-01-25#i_8173738 | 11:58 | |
moritz: let me try again and I shall | |||
hoelzro | Mouq: thanks! | 11:59 | |
hmm...linguist is failing tests because it thinks S02-lexical-conventions/unicode-whitespace.t is binary =/ | |||
jnthn | haha | 12:02 | |
What on earth is its heuristic? :) | |||
jnthn guesses "looks like ascii"... | |||
hoelzro | it uses the charlock holmes ruby library, I guess? | ||
jnthn groans at the name | 12:03 | ||
hoelzro | I figured I'd investigate deeper later; if one file in roast is flagged as binary, it's not the end of the world | ||
jnthn | aye | 12:05 | |
12:08
FROGGS joined,
sjn left
12:09
sjn joined
|
|||
Mouq | moritz: gist.github.com/Mouq/8615410 | 12:10 | |
12:14
avar left
12:15
avar joined
12:25
airdisa joined
12:30
Mouq left
12:31
airdisa left
|
|||
dalek | p: eaf891d | jnthn++ | tools/build/MOAR_REVISION: Get various Moar error handling improvements. |
12:32 | |
12:33
daniel-s_ joined
|
|||
dalek | kudo/nom: 5b57b80 | jnthn++ | src/vm/moar/ops/perl6_ops.c: Throw typed exception for dispatcher not found. |
12:34 | |
kudo/nom: 4e84d87 | jnthn++ | tools/build/NQP_REVISION: Oops, last commit needed NQP_REVISION bump also. |
12:35 | ||
volaj: 9e5af01 | tadzik++ | lib/NativeCall.pm6: Drastically reduce nativecalling overhead |
12:37 | ||
volaj: bafb1d0 | tadzik++ | lib/NativeCall.pm6: Micro-optimize map_return_type even further :) |
|||
jnthn | \o/ | 12:38 | |
tadzik | I figured that before I merge it, no one will test it :P | 12:39 | |
I'm the one rolling out the Star release, so I'll have a chance to last-minute-test it | |||
12:41
jnap joined
|
|||
masak | tadzik++ | 12:43 | |
FROGGS | jnthn: have you seen my comments here? gist.github.com/jnthn/8609496 | ||
tadzik | my sdl game can now run at 100FPS :P | ||
FROGGS | *g* | ||
tadzik | I didn't check if it was possible before the patch though :D | 12:44 | |
maybe it was | |||
jnthn | FROGGS: Yeah; the smaller file size is due to not hitting SC barriers... | ||
FROGGS: And so no re-serializing stuff | 12:45 | ||
FROGGS | mhm | ||
masak | tadzik: if only there was some way to get back the state before a certain commit was made, maybe through some ingenious "check out" system. | ||
FROGGS | jnthn: so you actually believe me? :o) | ||
tadzik | masak: fortunately, I have my daily backups of all github repos! :P | ||
masak | oh yes, always backup your git stuff. | ||
otherwise it's a big hassle to undo all your changes, should you need it. | 12:46 | ||
12:46
jnap left
|
|||
tadzik | yeah | 12:46 | |
masak | in fact, you should probably check out all branches and do a backup of each individual one. just in case. | ||
jnthn | FROGGS: Well, I don't see what I can do besides try a build on Linux of it myself, but it makes no sense really... | ||
tadzik | naah, that'd be a waste of space | 12:47 | |
12:48
Mouq joined,
atroxaper joined
|
|||
FROGGS | is github down? | 12:49 | |
tadzik | seems to work here | ||
and on status.github.com/ | 12:50 | ||
jnthn | tadzik: Are you sure you're not just using your backups? :P | ||
tadzik | hehe | ||
I put it in the cloud so I don't have to store it | |||
12:52
denis_boyun left
|
|||
jnthn suddenly wishes he had chrome.google.com/webstore/detail/...noai?hl=en in IRC | 12:53 | ||
err& | 12:54 | ||
Rotwang | jnthn: haha, so true | 12:55 | |
tadzik | we could write such bot... | 12:57 | |
wait. What what? | |||
timotimo | in the cloud. | 12:58 | |
tadzik | :D | ||
12:59
Mouq left
|
|||
moritz | .ask Mouq is there a perl6-j symlink in your $PATH? | 13:00 | |
yoleaux | moritz: I'll pass your message to Mouq. | ||
arnsholt | tadzik++ # merging zavolaj optimizations | 13:03 | |
dalek | kudo/nom: 974afff | moritz++ | tools/build/Makefile-JVM.in: Makefile: RUNNER -> J_RUNNER just to avoid possible future conflicts |
13:20 | |
13:21
smls joined
13:26
airdisa joined
|
|||
jnthn back | 13:28 | ||
FROGGS | moritz: I had a similar problem... I had the feeling as if the default does not get overwritten if it exists | 13:31 | |
13:31
airdisa left
13:33
grondilu joined
|
|||
FROGGS | so my ./perl6 was a perl6-m, even after a reconfigure/rebuild with --backends=parrot,jvm,moar | 13:33 | |
moritz | FROGGS: that's not quite the same as perl6-j being a perl6-m | 13:39 | |
but yes, 'clean' doesn't clean out the current perl6 default runner | 13:41 | ||
so the next build doesn't kill it | |||
13:42
jnap joined
|
|||
moritz tests a fix | 13:44 | ||
FROGGS | ahh | ||
13:46
SamuraiJack joined,
jnap left
|
|||
dalek | kudo/nom: 19473e7 | moritz++ | Configure.pl: [Build] clean perl6 runner |
13:50 | |
FROGGS | cool! moritz++ | 13:51 | |
13:52
kaare_ left
|
|||
tadzik | github.com/tadzik/p6steroids sort of working asteroids running on rakudo-parrot | 13:54 | |
at about 50-ish FPS | |||
moritz | \o/ | ||
tadzik | with a bug that makes you practically invincible :P | ||
FROGGS | yay! | ||
tadzik | haha, HTTP2 is to feature a GTFO frame: General Termination of Future Operations | 13:56 | |
timotimo | %) | 13:57 | |
i like that | |||
FROGGS | p/j/m-spectest of nqp-2014.01-4-geaf891d rakudo-2014.01-32-g4e84d87 | 13:58 | |
well, the summary | |||
jnthn | tadzik: Nice!! | ||
13:58
krunen joined
|
|||
FROGGS | tadzik: can you commit an in game screenshot? | 14:01 | |
I have no time to try it now :o( | |||
that is mine (in P5, three years ago) github.com/FROGGS/Games-Asteroids/...enshot.png | 14:03 | ||
14:07
gcole left
14:08
FROGGS left,
kurahaupo_mobile left
14:09
Alina-malina joined
14:14
spider-mario left
|
|||
tadzik | FROGGS[mobile]: i.imgur.com/cfirruV.png | 14:15 | |
colomon must not stop $work to start playing with p6 asteroids…. must not.... | 14:18 | ||
tadzik | wait until they match the reference C version | ||
which has text and sounds | |||
colomon must not stop $work to start playing with p6 asteroids…. must not…. | 14:19 | ||
tadzik | heh | ||
14:21
FROGGS joined
|
|||
dalek | kudo/nom: 4ac10e5 | jnthn++ | src/vm/moar/ops/ (2 files): Typed exception for assignment type check fail. |
14:21 | |
14:22
denis_boyun joined
|
|||
jnthn | .tell Mouq I think you had some work on some of the other missing typed exceptions, besides the couple I just did? Would get a few more passes... :) | 14:22 | |
yoleaux | jnthn: I'll pass your message to Mouq. | ||
jnthn | perl6: sub { $^foo } | 14:25 | |
camelia | rakudo-jvm 4e84d8: OUTPUT«(timeout)» | 14:26 | |
( no output ) | |||
jnthn | perl6: sub () { $^foo } | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Placeholder variable $^foo cannot override existing signature () at /tmp/tmpfile line 1:------> sub () { ⏏$^foo }Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib…» | ||
..rakudo-parrot 4e84d8, rakudo-jvm 4e84d8, rakudo-moar 4e84d8: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfilePlaceholder variable '$^foo' cannot override existing signatureat /tmp/tmpfile:1------> sub () { $^foo }⏏<EOL> exp…» | |||
jnthn | std: sub () { $^foo } | ||
camelia | std 09dda5b: OUTPUT«===SORRY!===Placeholder variable $^foo cannot override existing signature () at /tmp/vydJebWznl line 1:------> sub () { ⏏$^foo }Check failedFAILED 00:01 125m» | ||
jnthn | std: sub { $^foo } | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 123m» | ||
14:27
atroxaper left,
spider-mario joined
|
|||
dalek | ast: 6dfb602 | jnthn++ | S04-declarations/implicit-parameter.t: Bring a test in line with spec/STD. |
14:28 | |
14:29
atroxaper joined
14:43
jnap joined
14:44
denis_boyun left,
cosimo left
14:47
jnap left
14:50
airdisa joined
14:52
treehug88 joined
14:55
treehug88 left
14:56
cosimo joined
15:00
treehug88 joined
15:02
DanielG joined,
DanielG left
15:06
daniel-s_ left,
Alina-malina left
15:07
Alina-malina joined
15:20
mavcunha joined
15:34
treehug88 left
15:40
Alina-malina left
15:44
denis_boyun joined
15:51
krunen left
15:53
cosimo left
15:54
airdisa left,
airdisa joined
15:55
zakharyas joined
15:57
denis_boyun left
15:59
Psyche^ joined
16:03
Psyche^_ left
|
|||
skids | yoleaux: tell japhb Sum is at github.com/skids/perl6sum/ (or panda install Sum) | 16:21 | |
hoelzro | does anything forsee the use of 'perl6-m' and others in the shebang line of a Perl 6 program? | 16:22 | |
16:29
krunen joined
|
|||
raydiak | maybe if someone wanted write a project in part perl 6, part java, they'd want to require perl6-j (for example)? | 16:33 | |
timotimo | yeah | 16:35 | |
dalek | kudo-star-daily: dd9e868 | coke++ | log/ (5 files): today (automated commit) |
16:36 | |
16:36
Alina-malina joined
16:37
cosimo joined
|
|||
[Coke] | whoops. daily run will be delayed today, starting it now. | 16:37 | |
16:40
airdisa left
16:43
jeffreykegler joined
|
|||
jnthn | [Coke]: yay, that means my today patches sneaked in ;) | 16:44 | |
16:44
jnap joined
16:45
denis_boyun joined
|
|||
hoelzro | raydiak: good point | 16:46 | |
16:48
ajr joined,
ajr is now known as Guest44001
16:49
jnap left
16:50
airdisa joined
17:04
mavcunha left
|
|||
japhb | raydiak, hoelzro: Also useful in the short term, while the basic features vary -- right now I use perl6-p in shebangs for general code that should start reasonably quickly (can't wait to convert to perl6-m for most of these; IIRC I'm waiting on some I/O improvements), and perl6-j for anything that requires concurrency. | 17:13 | |
tadzik++ # twitch game in Perl 6 | |||
hoelzro | alright, thanks for the input japhb | ||
17:13
araujo joined,
araujo left,
araujo joined
|
|||
raydiak | japhb: was just telling yoleaux to tell you this: I'm up for it :) Pray concurrency branch is on the backburner until bufs/compact arrays are mutable - atm, trying to buffer the output in many cases slows it down more than the concurrency speeds it up | 17:14 | |
japhb | nodnod | ||
raydiak | so properly conceived hot bits like vectors and matrices sounds like a good next step | ||
japhb | OK, give me a little bit to collect my code snippets into something we can work on together (won't be useful to anyone yet, but at least we can code). | 17:15 | |
raydiak | sure thing, no pressure | 17:16 | |
17:23
rindolf joined
17:25
beastd joined
17:28
Alina-malina left
17:29
FROGGS_ joined
17:32
Guest44001 is now known as ajr_,
FROGGS left
17:33
Alina-malina joined
17:36
ggoebel1113 joined,
ggoebel1112 left,
FROGGS_ is now known as FROGGS
|
|||
FROGGS | perl6-m -I. -e 'use flunk' | 17:36 | |
===SORRY!=== | |||
Bytecode stream shorter than header | |||
uhh | |||
jnthn: this is new^^ | 17:37 | ||
diakopter | heh | 17:43 | |
m: use u | |||
camelia | rakudo-moar 4ac10e: OUTPUT«===SORRY!===Could not find u in any of: /home/p6eval/rakudo-inst-1/languages/perl6/site/lib, /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-1/languages/perl6/lib, /home/p6eval/.perl6/2014.01-35-g4ac10e5/lib» | 17:44 | |
17:45
jnap joined
|
|||
timotimo | m: use Test | 17:45 | |
camelia | ( no output ) | ||
17:46
atroxaper left
|
|||
FROGGS | Bytecode stream shorter than header (4 < 92) | 17:46 | |
diakopter | m: use Test; use Test; | ||
camelia | ( no output ) | ||
grondilu | TimToady: just in case you wonder, I won't try to solve the Brace Expension task on RC. Ideally this should be done with a grammer, and I'm not very good at these stuff. | 17:47 | |
dalek | th--ThreeD: df3e603 | (Geoffrey Broadwell)++ | .gitignore: Add trivial .gitignore |
17:49 | |
TimToady | grondilu: I just wrote the grammar, and it worked the first time on all four test cases. Wheee! | ||
japhb | raydiak: OK, that's at least enough pulled together that you can see where I was going. | ||
17:49
jnap left
|
|||
TimToady | now I just have to X everything | 17:50 | |
japhb | raydiak: The general idea is that there will be a BUILD file that will generate most of the code when panda is doing its install, so that all the variants of all the operations are there and hopefully correct. | ||
TimToady | well X~ | 17:51 | |
japhb | (And that it's less of a pain to write the efficient forms of everything) | ||
breakfast & | 17:52 | ||
17:54
raiph joined
|
|||
raydiak | japhb: reading | 17:54 | |
TimToady | walk & | 17:57 | |
grondilu | TimToady: talking about grammars, if you have time, please consider writing a grammar for FASTA in order to improve rosettacode.org/wiki/FASTA_format#Perl_6 | 18:01 | |
having to parse FASTA is typically the kind of things that discourage me from keeping on solving problems on rosalind :/ | 18:03 | ||
hoelzro | preflex: seen Mouq | 18:07 | |
hmm | 18:11 | ||
does the CLA have to be sent via snail mail? | 18:12 | ||
diakopter | no; can be scanned | ||
hoelzro | ok, then I have to wait until Monday anyway =/ | 18:14 | |
diakopter | or photo'd, probably :) | 18:16 | |
hoelzro | well, I lack a printer *and* a scanner =( | 18:17 | |
I can wait a few days =) | |||
raydiak | japhb: would it be better to run the generator script once for a release and include the end result in the distribution/package/whatever you call it? | 18:20 | |
18:23
krunen left
18:29
mavcunha joined
|
|||
diakopter | r: my $a = nqp::time_n; sleep(1); say(nqp::time_n() - $a) | 18:30 | |
camelia | rakudo-jvm 4ac10e: OUTPUT«1.0159997940063477» | ||
..rakudo-moar 4ac10e: OUTPUT«1.00160980224609» | |||
..rakudo-parrot 4ac10e: OUTPUT«1.00365710258484» | |||
diakopter | ftw | 18:31 | |
r: my $a = nqp::time_n; sleep(1); say(nqp::time_n() - $a) | |||
timotimo | not bad :) | ||
camelia | rakudo-moar 4ac10e: OUTPUT«1.00170040130615» | ||
..rakudo-parrot 4ac10e: OUTPUT«1.00394797325134» | |||
..rakudo-jvm 4ac10e: OUTPUT«1.003999948501587» | |||
diakopter | nqp: my $a := nqp::time_n; sleep(1); say(nqp::time_n() - $a) | 18:34 | |
camelia | nqp-parrot: OUTPUT«Could not find sub &sleepcurrent instr.: '' pc 54 ((file unknown):43) (/tmp/tmpfile:1)» | ||
..nqp-jvm: OUTPUT«java.lang.NullPointerException in (/tmp/tmpfile:1) in (gen/jvm/stage2/NQPHLL.nqp:1099) in eval (gen/jvm/stage2/NQPHLL.nqp:1085) in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1291) in command_eval (gen/jvm/stage2/NQPHLL.nqp:1195) in command_line (g…» | |||
..nqp-moarvm: OUTPUT«Cannot invoke null object at /tmp/tmpfile:1 (<ephemeral file>::29) from gen/moar/stage2/NQPHLL.nqp:1090 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm::96) from gen/moar/stage2/NQPHLL.nqp:1076 (/home/p6eval/rakudo-inst-1/languages/nqp/li…» | |||
18:34
jeffreykegler left
|
|||
diakopter | nqp: my $a := nqp::time_n; nqp::sleep(1); say(nqp::time_n() - $a) | 18:36 | |
camelia | nqp-jvm: OUTPUT«1» | ||
..nqp-parrot: OUTPUT«1.00018692016602» | |||
..nqp-moarvm: OUTPUT«1.00013113021851» | |||
diakopter | nqp: my $a := nqp::time_n; nqp::sleep(1); say(nqp::time_n() - $a) | 18:37 | |
camelia | nqp-parrot: OUTPUT«1.00029611587524» | ||
..nqp-jvm: OUTPUT«1» | |||
..nqp-moarvm: OUTPUT«1.0001494884491» | |||
diakopter | o_O | ||
timotimo | wow. | ||
diakopter | rakudo overhead over nqp for invoking sleep an say | 18:38 | |
er, not say | |||
just sleep. | |||
r: my $a = nqp::time_n; nqp::sleep(1); say(nqp::time_n() - $a) | 18:39 | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«1.00023412704468» | ||
..rakudo-jvm 4ac10e: OUTPUT«This representation can not unbox to a native num in block at /tmp/tmpfile:1» | |||
..rakudo-moar 4ac10e: OUTPUT«This type cannot unbox to a native number in block at /tmp/tmpfile:1» | |||
diakopter | interesting | ||
r: my $a = nqp::time_n; nqp::sleep(1.0); say(nqp::time_n() - $a) | 18:40 | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«1.00042605400085» | ||
..rakudo-jvm 4ac10e: OUTPUT«This representation can not unbox to a native num in block at /tmp/tmpfile:1» | |||
..rakudo-moar 4ac10e: OUTPUT«This type cannot unbox to a native number in block at /tmp/tmpfile:1» | |||
18:40
raiph left
|
|||
diakopter | r: my $a = nqp::time_n; nqp::sleep("1"); say(nqp::time_n() - $a) | 18:41 | |
camelia | rakudo-jvm 4ac10e: OUTPUT«This representation can not unbox to a native num in block at /tmp/tmpfile:1» | ||
..rakudo-moar 4ac10e: OUTPUT«This type cannot unbox to a native number in block at /tmp/tmpfile:1» | |||
..rakudo-parrot 4ac10e: OUTPUT«1.00059103965759» | |||
diakopter | heh | ||
18:43
krunen joined
18:44
treehug88 joined
|
|||
raydiak | wonder why it works on my local perl6-m (perl6-j still fails though) | 18:44 | |
diakopter | what does | 18:45 | |
raydiak | erm...split-window messing up copy/paste...but the things you were just trying | 18:46 | |
18:46
jnap joined
|
|||
diakopter | hm | 18:46 | |
raydiak | perl6-m -e 'my $a = nqp::time_n; nqp::sleep(1); say(nqp::time_n() - $a)' | ||
not sure where to put num or a := or something to make jvm work, but I think it has to do with the subtraction instead of the sleep | 18:48 | ||
18:50
treehug88 left,
jnap left
|
|||
ingy | what does . mean in <.rule> ? | 18:53 | |
18:54
dayangkun left
|
|||
FROGGS[mobile] | it does not capture | 18:55 | |
arnsholt | Don't save the match object for the subrule in $/ | ||
ingy | thanks | ||
how abotu || vs | ? | 18:56 | ||
arnsholt | || is sequential OR, like Perl 5 | | 18:57 | |
| in Perl 6 is LTM | |||
So /foo|foobar/ will actually match foobar if possible (unlike P5) | |||
ingy | got it | ||
are the alternations checked in parallel? | 18:58 | ||
raydiak | r: my $a = nqp::time_n; nqp::sleep(my int $ = 1); say(nqp::time_n() - $a) # it was the sleep after all | 18:59 | |
arnsholt | No, it's a compile-time thing | ||
camelia | rakudo-moar 4ac10e: OUTPUT«1.00017428398132» | ||
..rakudo-jvm 4ac10e: OUTPUT«1» | |||
..rakudo-parrot 4ac10e: OUTPUT«1.00023102760315» | |||
18:59
araujo left
|
|||
ingy | ie why not write /foobar|foo/ ? | 18:59 | |
18:59
araujo joined,
araujo left,
araujo joined,
araujo is now known as Guest54845
|
|||
arnsholt | Well, you can. But LTM involves subrules as well, where you can't always a priori predict the best ordering | 19:00 | |
ingy | ie I've always wondered what the real world use cases where LTM is so important | ||
19:00
Guest54845 left
|
|||
FROGGS[mobile] | the LTM engine just eleminates paths that wont work, and it returns a fate order that will be used then | 19:00 | |
ingy | so it is just a optimizing convenience thing? | 19:01 | |
19:01
darutoko left
|
|||
FROGGS[mobile] | that is one reason | 19:02 | |
but in a parser you are really interested in the longest possible token | |||
arnsholt | When you're only matching literals in the alternation, LTM is mostly a convenience feature | ||
ingy | can you point to a grammar where it's a big win? | ||
I'm not trolling btw. really want to gro this | 19:03 | ||
grok | |||
arnsholt | It's what makes us parse "name-with-dash" as a single identifier | ||
lue | ingy: Perhaps the Perl 6 grammar is an example :) | ||
19:03
Alina-malina left
|
|||
ingy | lue: I mean a rule in the grammar | 19:03 | |
url plz | 19:04 | ||
19:04
Alina-malina joined
|
|||
arnsholt | It's also how regex multis (like token foo:sym<bar>) are dispatched to the most specific one when there are multiple candidates | 19:04 | |
19:04
spider-mario left
|
|||
colomon | right, off the top of my (possibly very wrong) head I'd say regex multis are the most important reason for LTM | 19:06 | |
ingy | ok I think I'm getting it. LTM is done during a compiler optimization phase, not a runtime match phase | ||
timotimo | er ... not quite | ||
lue | ingy: here's that URL :) github.com/perl6/std/blob/master/STD.pm6 | 19:07 | |
FROGGS | ingy: look at github.com/rakudo/rakudo/blob/nom/....nqp#L1794 | ||
if you would replace the | by ||s, it would fail | |||
ingy | thanks FROGGS | ||
FROGGS | ingy: because it would match the <sigil> rule in line 1807 | ||
and would not consider any other branch that starts with <sigil> | 19:08 | ||
ingy | but the regex compiler figures that out | ||
FROGGS | p: say "foobar" ~~ /foo||foobar/ | ||
ingy | yeah? | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo」» | ||
FROGGS | p: say "foobar" ~~ /foo|foobar/ | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foobar」» | ||
FROGGS | see? | ||
sequential matching is happy after it hit something | |||
ingy | FROGGS: I understand the behavior | 19:09 | |
FROGGS | LTM tries to Do The Right Thing, like a human would | ||
19:09
spider-mario joined
|
|||
ingy | but that's a contrived example | 19:09 | |
timotimo | LTM is a both compile-time and run-time thing | ||
lue | ingy: In an HTML grammar, you wouldn't want a failure because the parser though <blockquote> was a <b> tag, and then couldn't find the right angle bracket. | ||
timotimo | at compile-time, the regex compiler creates a nondeterministic finite automaton from the rules | 19:10 | |
lue | *thought | ||
timotimo | at run time, the rules are then tried "in parallel" more or less. | ||
the rule that had the longest initial "declarative" prefix so far will be tried first | |||
that's also why you sometimes see {} appear randomly in rules; it's to terminate the declarative prefix | 19:11 | ||
ingy | timotimo: that's most helpful. thanks | ||
timotimo | YW :) | ||
ingy | I'm trying to figure out what parts if any I could support LTM in Pegex. I can do the compile time but not the runtime. | 19:12 | |
though in my grammars to date I've needed neither | |||
but I already have optimization phases and that's yet another strategy | 19:13 | ||
but may require syntax | |||
FROGGS | p: grammar HTML { token s {'s'}; token span {'span'}; token TOP { '<' ~ '>' [ <s> || <span> ] } }; say HTML.parse("<span>") | 19:14 | |
ingy | thought I wonder where || is really needed now | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«Unable to parse expression in TOP; couldn't find final '>'  in any FAILGOAL at gen/parrot/stage2/QRegex.nqp:1108 in regex TOP at /tmp/HvRYagnKWm:1 in method parse at gen/parrot/CORE.setting:12552 in block at /tmp/HvRYagnKWm:1» | ||
FROGGS | p: grammar HTML { token s {'s'}; token span {'span'}; token TOP { '<' ~ '>' [ <s> | <span> ] } }; say HTML.parse("<span>") | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「<span>」 span => 「span」» | ||
FROGGS | ingy: not a contrived example | ||
that is exactly what happens | |||
lue | ingy: || is needed when you know what order alternates have to be evaluated in. | ||
ingy | FROGGS: I meant that /foo|foobar/ was contrived. | 19:15 | |
FROGGS | like checking to match something first, but as the last alternative fail via || | ||
ingy | lue: yes I see in FROGGS <s> || <span> | ||
FROGGS | sure | ||
and with fail I mean to throw an exception or so | 19:16 | ||
19:16
araujo_ joined
19:17
araujo_ left
|
|||
ingy | has anyone written an indentation-scoping grammar? | 19:17 | |
FROGGS | no | ||
ingy | been looking at pynie.googlecode.com/svn/trunk/Gram...Grammar.pg | ||
python grammar by pmichaud | 19:18 | ||
arnsholt | I've a sketch of a Python grammar in a more modern grammar dialect | ||
19:19
araujo_ joined,
araujo_ left
|
|||
arnsholt | github.com/arnsholt/snake/blob/mas...rammar.nqp There be dragons and bugs though | 19:19 | |
ingy | :) | ||
*click* | |||
19:19
rindolf left
|
|||
itz_ | Object conflict detected during deserialization. | 19:20 | |
(Probable attempt to load two modules that cannot be loaded together). | |||
I assume this is known about (on moar) | |||
colomon | itz_: yes | ||
19:20
rom1504_ is now known as rom1504
19:21
kurahaupo_mobile joined
|
|||
FROGGS | itz_: I get that too, and try to get some more information about it right now | 19:21 | |
ingy | arnsholt: this fairly interesting. I'm most interested that check-indent is only referenced once. | 19:22 | |
19:23
araujo joined
|
|||
ingy | poking at a YAML grammar and worried about too much check-indent | 19:23 | |
but now I realize that Python is likely a simpler case. | 19:24 | ||
also interesting to note that INDENT/DEDENT are code based | 19:25 | ||
which I have suspected is needed | |||
19:29
Sqirrel joined
|
|||
japhb | raydiak: Yes, we could build it ahead of time, but that risks getting the generator and the generated code out of sync accidentally (or forgetting to rerun the generator before pushing to github and having panda -- which uses github rather than tarballs -- getting the old generated code) | 19:41 | |
Besides, the generation doesn't take long. | 19:42 | ||
Well, so far, at least. :-) | |||
19:43
Mouq joined
19:46
rindolf joined
|
|||
ingy | is the only diff between token and rule, the backtracking semantics? | 19:54 | |
Mouq | ingy: nope | 19:55 | |
yoleaux | 13:00Z <moritz> Mouq: is there a perl6-j symlink in your $PATH? | ||
14:22Z <jnthn> Mouq: I think you had some work on some of the other missing typed exceptions, besides the couple I just did? Would get a few more passes... :) | |||
Mouq | ingy: token and rule and neither do backtracking | ||
ingy: If you want backtracking, regex is what you're looking for | |||
ingy | thanks | 19:56 | |
I am looking at S05 btw :) | |||
FROGGS | p: say "foo bar" ~~ (my rule { 'foo' 'bar' }) | 19:58 | |
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo bar」» | ||
FROGGS | p: say "foo bar" ~~ (my token { 'foo' 'bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«Nil» | ||
FROGGS | p: say "foobar" ~~ (my token { 'foo' 'bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foobar」» | ||
FROGGS | p: say "foobar" ~~ (my rule { 'foo' 'bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«Nil» | ||
FROGGS | huh | ||
Mouq | FROGGS: Thanks, I was trying to construct an example, but I was messing up | ||
FROGGS | p: say "foo bar" ~~ (my rule { 'foo' 'bar' }) | 19:59 | |
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo bar」» | ||
Mouq | p: say "foo{}bar" ~~ (my rule { 'foo{' '}bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«Nil» | ||
Mouq | Nil? | ||
FROGGS | n: say "foobar" ~~ (my rule { 'foo' 'bar' }) | ||
colomon | it's not a math | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Scope my requires a name at /tmp/7L1to_1G5a line 1:------> say "foobar" ~~ (my rule ⏏{ 'foo' 'bar' })Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.settin…» | ||
Mouq | p: say "foo{ }bar" ~~ (my rule { 'foo{' '}bar' }) | ||
colomon | match | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«Nil» | ||
FROGGS | n: say "foobar" ~~ (my rule Hurz { 'foo' 'bar' }) | 20:00 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: &Hurz is declared but not used at /tmp/oyPX6vrHex line 1:------> say "foobar" ~~ (my rule Hurz ⏏{ 'foo' 'bar' })Nil» | ||
Mouq | Oh, no I realize what the problem was | ||
FROGGS | it is more like <.ws>+, right? | ||
Mouq | p: say 'foo{}bar' ~~ (my rule { 'foo{' '}bar' }) # {} got interpolated | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo{}bar」» | ||
Mouq & | |||
FROGGS | p: say 'foo{ }bar' ~~ (my rule { 'foo{' '}bar' }) # {} got interpolated | 20:01 | |
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo{ }bar」» | ||
FROGGS | hmmm | ||
colomon | FROGGS: doesn't <ws> already have the + build it? | ||
FROGGS | but then Mouq's last line would not work | ||
Mouq back | 20:02 | ||
colomon | p: say "foo bar" ~~ (my rule { 'foo' 'bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo bar」» | ||
colomon | p: say "foo bar" ~~ (my regex { 'foo' <ws> 'bar' }) | ||
Mouq | FROGGS: <ws> gets any number of whitespacey characters, and also matches at word boundaries | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo bar」 ws => 「 」» | ||
FROGGS | ahh, <ws> has some sort of \b in it? | ||
Mouq++ # thanks | 20:03 | ||
Mouq | FROGGS: Yeah, or « in 6-speak | ||
p: say 'foo|bar' ~~ (my rule { 'foo' \S 'bar' }) | |||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo|bar」» | ||
Mouq | p: say 'foodbar' ~~ (my rule { 'foo' \S 'bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«Nil» | ||
Mouq | p: say 'foo d bar' ~~ (my rule { 'foo' \S 'bar' }) | ||
camelia | rakudo-parrot 4ac10e: OUTPUT«「foo d bar」» | ||
FROGGS | yeah | ||
I see | |||
Mouq | moritz: I'm rebuilding to see if what you did fixed it, I just have to rebuild everything, so give me a bit :) | 20:04 | |
jnthn: I tried to do work on errors in 6model.c, but couldn't figure it out | 20:06 | ||
jnthn: But I can look at what you did and see if I can replicate it where it needs to be | 20:07 | ||
dalek | kudo/nom: e51b6c0 | (Geoffrey Broadwell)++ | src/core/IO/Socket.pm: Increase IO::Socket.recv size on non-Parrot from 512 to 65536 so it can always receive a maximum-sized IP datagram in one try. |
||
Mouq | Oh! FROGGS, I'm sure you understand fine, but just pointing out too: | 20:14 | |
p: say 'foo d bart' ~~ (my rule { 'foo' \S 'bar' }) | |||
camelia | rakudo-parrot 4ac10e: OUTPUT«Nil» | ||
Mouq | Cause of the » at the end | ||
FROGGS | yeah | 20:15 | |
I see | |||
Mouq | Yupperrrrrrrs :P | ||
20:15
regreg left
|
|||
FROGGS | :o) | 20:16 | |
20:19
kaare__ joined
20:21
ME joined
|
|||
Mouq | jnthn: Oh, wait you already did. I need to read more closely | 20:22 | |
20:22
ME is now known as Guest84835,
Guest84835 left
|
|||
Mouq | r: try {1.foo}; say $!.WHAT # jnthn++ | 20:22 | |
camelia | rakudo-parrot 4ac10e, rakudo-jvm 4ac10e, rakudo-moar 4ac10e: OUTPUT«(X::Method::NotFound)» | ||
Mouq | moritz: Alas, it wasn't fixed | 20:27 | |
timotimo | 10/43 benchmarks into nqp-jvm right now | 20:28 | |
iirc the order was nqp-p, nqp-jvm, nqp-m, perl5 | 20:29 | ||
20:31
zakharyas left
|
|||
Mouq | moritz: Nerm, so it was indeed my fault | 20:32 | |
:/ sorry, and thank you, moritz++. I rm'd the $(which perl6)'s that were giving me grief and they were fixed after some *-runner-default-install's | 20:33 | ||
So I must have gotten perl6 symlinked to perl6-j somehow :/ | 20:34 | ||
20:35
krunen left
20:37
krunen joined
|
|||
raydiak | japhb: that makes sense; I'll do a little expanding and organizing to it some time today, unless you're planning the same or already started | 20:37 | |
20:38
sivoais left,
sivoais joined
|
|||
moritz | Mouq: glad the issue is resolved | 20:42 | |
timotimo | japhb: do you recall something about most tests being skipped on the nqps? | 20:43 | |
20:43
rindolf left
20:47
jnap joined
|
|||
japhb | raydiak: There was some intent to the order in which the output appears, but I'm not wedded to it. The expanding is going to be the big thing -- adding matrix math (with all variants of scalars, vectors, and matrices for each op), doing Vec4 and Mat4x4 for homogenous coordinates and conversions back and forth from the *3 versions, adding Quaternions, adding very basic physics of motion and optics, etc. | 20:51 | |
Eventually I feel like you ought to be able to 'use Math::ThreeD;' and just be able to assume that all the math you'd see in a decent graphics or game engine book would Just Be There. | 20:52 | ||
20:53
jnap left
|
|||
japhb | timotimo: Yes, NQP lacks a number of the constructs that make sense in full Perl 6, so I skip those tests rather than having an NQP translation that wouldn't be apples-to-apples. | 20:54 | |
20:55
treehug88 joined
|
|||
japhb | Is there any DB support for r-j right now? | 20:56 | |
japhb is thinking of making a concurrency-safe backing store for Net--IRC | |||
20:56
raiph joined
20:57
flussence left
|
|||
hoelzro | just built the docs in 8 minutes using 600MB RAM \o/ | 20:57 | |
japhb | w00t! | 20:58 | |
colomon | japhb I just read the README. Is it ready yet? | 20:59 | |
japhb | LOL | ||
colomon | ;) | ||
21:00
flussence joined
|
|||
timotimo | japhb: oh, okay | 21:00 | |
21:00
treehug88 left
|
|||
timotimo | i've got all them benchmarks now | 21:00 | |
time to compare! :) | |||
japhb | Perl 5 has some of the same issues (things that don't make sense in Perl 5), but there are fewer of them than with NQP IIRC | 21:01 | |
Awww yeah. | |||
21:03
btyler joined
|
|||
raydiak | japhb: sounds like we're pretty much on the same page, though for today I planned to start by refining the build/template script itself...support multiple files for in and out, stuff like that | 21:03 | |
colomon | japhb: not clear to me why Vec3 is an Array? | 21:04 | |
japhb | raydiak: Oh, fair enough. And maybe put the right things in place for panda to recognize it? | ||
colomon: Erm ... it isa because it *is*? | 21:05 | ||
21:05
Sqirrel left,
Sqirrel_ joined
|
|||
timotimo | i didn't get any data points for perl5 o_O | 21:05 | |
21:05
Sqirrel_ left
|
|||
raydiak | (mainly just because my feeble mind doesn't do well with long files of long strings occasionally punctuated by heredocs :) it works now, but once we add some meat, it'll be beyond me) | 21:05 | |
21:05
Sqirrel joined
|
|||
japhb | But the idea was that I could replace 'Array' with 'Array[3] of num' someday and get the speed and space savings with just one change. | 21:06 | |
21:06
Sqirrel left
|
|||
raydiak | japhb: yeah, I'll read whatever that requires before I get much into it | 21:06 | |
timotimo | ah, doh | ||
he configure script says OMG THIS IS A DEVELOPMENT BUILD | |||
DO YOU KNOW WHAT THAT MEANS?!!?! | |||
and perl6-bench is like | |||
colomon | japhb: 1) isn't that a whooping Liskov violation? 2) surely having three num attributes instead would be more efficient in both time and space? | ||
timotimo | ^D | ||
and configure is like "yeah, didn't think so, punk!" | |||
japhb | colomon: 1) Regardless of whether it is (and it's not clear to me that's so), I think of Liskov as a rule of thumb, not a law. 2) What about a 4x4 matrix? That would have 16 attributes. | 21:09 | |
timotimo: heh | |||
colomon | is Vec3 meant to be a 4x4 matrix type? | ||
japhb | colomon: No, but Mat4x4 will be. :-) | ||
Also, I want .x, .y, and .z to be accessors, not the internal design. | 21:10 | ||
Because eventually I'd like to be able to have a 300,000 element array of nums, which contains 100,000 tightly packed Vec3's. | |||
And I want to be thinking in terms of array elements, not in terms of axes. | 21:11 | ||
Plus, is a Vec3 any less a Vec3 because it represents an RGB triple instead of XYZ? | |||
colomon | in your version, a Vec3 is just as much a Vec3 if it has 2 coordinates or 2 million. | 21:12 | |
21:12
SamuraiJack left
|
|||
japhb | colomon: Why do you say that? The only reason it's not sized is because Rakudo doesn't support that. | 21:12 | |
And if RGB and XYZ are both valid Vec3's, which one gets named attributes, if I'm thinking that way? | 21:13 | ||
colomon | so it's really supposed to be an Array[3] of num (or however you write that when it's finally implemented)? | ||
japhb | 13:06 < japhb> But the idea was that I could replace 'Array' with 'Array[3] of num' someday and get the speed and space savings with just one change. | 21:14 | |
... and I would also add, the correctness. | |||
colomon | the correctness is kind of more important (and more plausible) than the speed | 21:15 | |
timotimo | perl5 benchmarks are starting now | ||
japhb | What makes you say that? Attribute lookup is really array access underneath. | ||
And are you worried that people are going to .push onto it or .pop from it? | 21:16 | ||
timotimo | japhb: well, our private attribute accesses are actually turned into "array" accesses underneath with the offset into the data computed at compile-time if possible | ||
colomon | presumably push and pop won't work when it's an Array[3] | ||
japhb | timotimo: yes, I know that. :0( | ||
er, :-) | |||
timotimo | on the other hand, you first need to find the array itself for an array and then access into it | ||
well, at least our postcircumfix methods are now really subs that could compile-time inline | 21:17 | ||
japhb | timotimo: You are thinking in the current implementation, not in the optimized future. | ||
timotimo | oh, yes | ||
japhb | If we don't (eventually) optimize access to native arrays, we're missing out. | ||
timotimo | in the future, those methods would be equally fast | ||
japhb | right. | ||
timotimo | far future :) | ||
japhb | I dunno about that. | ||
timotimo | we'll see | 21:18 | |
perhaps our new shiny backend will attract more developers to the cabal | |||
i'm certainly excited :3 | |||
colomon | japhb: as I think timotimo was getting at there, I would certainly hope that when optimized, lookup for attributes would be faster than general Array lookup | ||
japhb | But these aren't general array lookups -- they're lookups *with constant subscripts* | 21:19 | |
timotimo | colomon: well, when optimized, the lookup to an attribute that's an array would bypass the array completely | ||
japhb | And a native array implementation is free to pack the array contents directly into the object body -- which is to say, at fixed (attribute-like) positions. | 21:20 | |
_sri | wait, you're benchmarking perl5 against perl6 on moarvm? :) | ||
japhb | _sri: Why not? :-) | 21:21 | |
timotimo | yes, i am that hopeful | ||
_sri | oh, i totally want to see those :) | ||
timotimo | i won't keep the results from you :P | ||
_sri | \o/ | ||
japhb | _sri: Remember, rakudo-moar has had about half a week of actual optimization work on it total, so don't get your hopes up too high yet. :-) | 21:22 | |
_sri | i have no expectations | ||
colomon | japhb: I guess if you assume away all the difficulties via improvements to rakudo, I see nothing terribly wrong about class Vec3 is Array | 21:23 | |
if we're lucky, you'll encourage p6ers to make then needed improvements. ;) | 21:24 | ||
moritz thinks that Vec3 inheriting from Array is a terrible idea | |||
if you inherit, you should never remove functionality | 21:25 | ||
japhb | moritz: What would your design be? | ||
colomon | moritz: Array[3] of num | ||
timotimo | japhb: could you add something to the perl5 build script to install Data::Alias so that I can effortlessly test the bind-related benchmarks? | 21:26 | |
moritz | but a Vec3 shouldn't allow an arbitrary number of elements, I suppose :-) | ||
timotimo | it could implement Positional | ||
but no need to make it inherit from Array | |||
raydiak | I was about ask if it should be a List or something | ||
TimToady | it's rather more like a parcel or tuple | ||
timotimo | that's true | ||
japhb | timotimo: At one point I tried to do that, and had trouble for some reason that I cannot remember. perl5-version incompatibilites maybe? | 21:27 | |
colomon | …. wait, is Array[3] always exactly 3, or is it at most 3? | ||
timotimo | japhb: oh :( | ||
TimToady | exactly | ||
moritz | well, Parcel isn't type-specialized | ||
timotimo | well, that'll only get really interesting once we get close to 1/2 as fast as perl5 | ||
moritz | so either it should have an array, or three separate attributes | ||
it really depends on what operations it supports, and if you generally want to unroll your loops by hand | 21:28 | ||
japhb | moritz: I do. Because the performance shouldn't suck right *now*, even if it will hopefully get much better in the future. | 21:29 | |
I'm trying to design something that is useable now, and yet can take advantage of future implementation improvements | |||
moritz | then just say class Vec3 does Positional { has num $.x; has num $.y; has num $.z; } | 21:30 | |
japhb | moritz: but a Vec3 could also be e.g. an RGB triplet. | ||
moritz | japhb: does cross product make sense on RGP triplets? | ||
japhb | ... or a dx, dy, dz trioplet | ||
japhb takes a breath in order to turn down incipient snark | 21:31 | ||
moritz | well, you can store RGP colors in nums too | 21:32 | |
or have I misunderstood your objection? | |||
japhb | OK. I get that you're going for ultimate type safety. But 1) I tried to say about a bazillion times this was a first sketch WIP, and 2) can everyone please give me the benefit of the doubt that I'm not a horrible designer? | ||
japhb is very much regretting "release early, release often" | 21:33 | ||
I am not ready to paint the bikeshed. I have not finished laying the slab yet for it to sit on. | |||
moritz | japhb: sorry, I don't understand. You asked me what my design would be, and now you complain about my answer? | ||
was it too specific? or did it not answer your actual question? | 21:34 | ||
I haven't read all the backlog yet | |||
timotimo | the graphs are now pretty crowded | ||
japhb | 13:30 < moritz> japhb: does cross product make sense on RGP triplets? <--- You're asking a question with an obvious answer to point out a flaw in my thinking. But I know the answer. I just haven't addressed that yet. | 21:35 | |
Mouq | japhb: No one thinks you're a horrible designer :) | ||
moritz | japhb: I don't know enough about color spaces to know the answer. Sorry if it's obvious for you | 21:36 | |
lue | japhb: If you plan on having a lot of different Vec3-like types in the future, perhaps a more generic Tuplet class would be a good thing in the future? Then you could having things like class Coord3D is Tuplet[3] | 21:37 | |
21:37
kurahaupo_mobile left
|
|||
moritz | japhb: and fwiw I also don't think it's the type system's job to forbid everything that doesn't make sense in the real world; I was just wondering if putting RGB into a Vec3 isn't an abuse of the Vec3 concept | 21:37 | |
not all collections of n values is a vector; it's only a vector if it transforms like a vector | |||
raydiak | I think the intention was to to keep XYZ out, not put RGB in | ||
timotimo | ah well. we're not beating perl5 any time soon :P | 21:38 | |
moritz | anyway, time for sleep here | ||
colomon | japhb: a lot of your objections seem to be that giving the three quantities in the Vec3 a specific name limits what they can do. They could just as easily be { has num $.v1; has num $.v2; has num $.v3; } | ||
raydiak | \o g'night moritz | ||
timotimo | gnite moritz! | 21:39 | |
japhb | moritz: Well, there are a lot of operations that make sense for a Vec3 in the general sense that make more sense for one or the other. For example, in the space of multiplication, dot/inner product makes sense for both color spaces and positional spaces. element-wise product makes more sense for color spaces. cross product makes more sense for positional spaces. | ||
colomon | that said, I can certainly see good reasons why Vec3 is Array[3] of num | ||
moritz doesn't | |||
Array contains *containers* | |||
why wouldn't it be List[3] of num? | |||
timotimo | i really wonder what makes the rakudos so much slower than the nqps at doing empty loops | 21:40 | |
moritz -> really sleep | |||
btyler | timotimo: I'd be shocked and pleased if perl6 on any backend came within an order of magnitude for any of the tests; just tooling around with nqp (let alone rakudo) shows its still rather slower than ruby (which is typically rather slower than p5) | ||
japhb | moritz: because a fundamental part of the design is to allow mutable vectors to avoid GC churn. | ||
timotimo | btyler: oh, did you make any actual measurements? | ||
btyler | timotimo: nothing scientific, as I said just tooling around with some loops or basic operations | ||
timotimo | fair enough | ||
japhb | colomon: Is your reasoning for '{ has num $.v1; has num $.v2; has num $.v3; }' simply one of (current implementation) efficiency? | 21:41 | |
timotimo | at some of the (almost completely meaningless) microbenchmarks, nqp-jvm eventually beats perl5 | ||
colomon | japhb: well, yes. I'd be shocked if Array[3] of num caught up in efficiency with that for the foreseeable future. | 21:43 | |
timotimo | japhb: can we get the "mumble times slower than fastest" to either only compare on the same x-position or add a second number displaying the comparison to the fastest at the current x position? | 21:45 | |
21:45
smls left
|
|||
timotimo | especially for tests with non-linear growth that'd make a big difference | 21:45 | |
21:45
smls joined
|
|||
japhb | timotimo: Yep, I agree. I'd thought of that a while back (and I think even made progress on making sure the data was all there to make it easy to implement), but just never finished that bit. | 21:46 | |
timotimo | good to know | ||
21:47
mtj_ left
|
|||
japhb | If you've got a hankering, go ahead. :-) | 21:47 | |
timotimo | can we put a factor (or summand) for "enough-time" into individual benchmarks? | ||
japhb | What do you mean? | ||
timotimo | i'd like to extend the time of rc-forest-fire and parse-json for all backends by at least a factor of 2 for every run, but not have to do it manually | ||
japhb | Oh, I see. | 21:48 | |
timotimo | or perhaps the framework could increase the task size by 1.5 after the "enough time" has been reached | ||
so that we will always have at least 2 data points | |||
japhb | You know, you can do separate runs of different benchmarks and then use compare in merge-to-json mode to combine them into one set of test results. | ||
21:48
jnap joined
|
|||
timotimo | feather.perl6.nl/~raiph/25jan2014-b...kudos.html ← _sri | 21:48 | |
japhb | timotimo: That's an interesting idea. | 21:49 | |
timotimo | hm. how would i get some perl5ers attention for porting the richards benchmark to perl5? | 21:50 | |
i *think* it's working as intended at least in one version | |||
ah. there is only the nqp version so far | 21:51 | ||
interesting, nqp-moarvm is currently set to just skip forest fire and parse json | |||
timotimo fixes and tests | |||
_sri | join #p5p and taunt them a little :) | 21:52 | |
21:53
mtj_ joined
|
|||
timotimo | er, actually, it skips parse json and man or boy test. | 21:53 | |
21:53
jnap left
|
|||
timotimo | it does run parse-json | 21:53 | |
(and quite a bit better than parrot does) | |||
i wonder. i kind of thought i had an account on feather | 21:54 | ||
japhb | timotimo++ # Benchmarking! | 21:55 | |
21:56
ajr_ left
|
|||
timotimo | Use of undeclared variable '$B' at line 6, near ", $x1, $x2" ← that's how nqp-moar dies on the man-or-boy test | 21:56 | |
the line number seems to be off-by-one and it's apparently about the inner reference to $B that's on the rhs of the assignment & creation of $B itself | 21:57 | ||
nqp-moarvm runs rc-forest-fire a bit faster than parrot and faster than nqp-jvm up until 128 iterations, where jvm takes over the 2nd spot (and on 2048, it overtakes perl5) | 21:59 | ||
colomon | japhb: I guess part of what makes me look somewhat askance at your "class Vec3 is Array[3] of num" is it feels like a really odd combination of what seems like very early optimization (thus, for instance, is Array[3] instead of has Array[3]) with stuff that seems likely to be quite inefficient today. I can certainly see that if your imagined optimizations come about, then your solution is a pretty sensible one. | 22:00 | |
japhb: and now I'm wondering if Vec3 shouldn't be a role, and going completely into the bikeshedding abyss. | 22:02 | ||
japhb | colomon: OK, fair enough. So implement it the way you think it should be, and let's compare. :-) | 22:03 | |
22:03
gcole joined
|
|||
colomon | japhb: fair enough | 22:03 | |
japhb | At the very least we'll put some numbers to the gut feelings, and maybe even find a serious performance issue that we can correct. | 22:04 | |
colomon | it has been forked. ;) | 22:05 | |
timotimo | japhb: is there some major problem to trying the 1.5x thing or can i just go ahead and plop it in? | 22:06 | |
22:06
zby_home_ left
|
|||
japhb | No, but perhaps it's even better to make a minimum-results value. | 22:07 | |
"I want at least three data points" | |||
colomon: heh | |||
timotimo | that does sound better. | ||
itz_ | must not buy HP16C online | 22:08 | |
raiph | bug in perl6-bench? mouse over first dot of top line (nqp/moarvm) in while_empty_native | 22:11 | |
says "151x slower than fastest" | |||
22:12
gcole left
22:13
ivanshmakov left
|
|||
raiph | ooooh. my bad. slower than fastest ever (which will often be jvm). | 22:13 | |
22:13
gcole joined,
airdisa left
|
|||
japhb | raiph: That's one of things timotimo was talking about above -- he'd like to both have comparison to fastest ever, and to fastest for that particular test scale (vertical comparison, in other words) | 22:14 | |
22:15
ivanshmakov joined
|
|||
raiph | ah, i haven't fully clogged yet, was just confused | 22:16 | |
corecatcher pets timotimo | |||
timotimo | hey there | ||
corecatcher | \o | 22:18 | |
perigrin watches Util talk | 22:23 | ||
japhb | perigrin: What is Util speaking about? | 22:24 | |
perigrin | some programming language | 22:25 | |
Perl6? I've never heard of it | |||
japhb | Ah cool. Where are you? | 22:26 | |
perigrin | Perl Oasis workshop | ||
japhb | Ah, cool. | ||
perigrin | :) | ||
japhb | How is it going? Well received so far? | ||
perigrin | he just started really | 22:27 | |
japhb | ah, gotcah | ||
er gotcha | |||
perigrin | this is ... not a normal Perl crowd | ||
japhb | ? | ||
perigrin | mostly the local SLUG group | ||
colomon is trying to remember why he is recompiling rakudo on OS X. :\ | 22:28 | ||
perigrin | so it'll be interesting to see how things have changed | ||
colomon: you're a masochist? | |||
colomon | perigrin: evidence says yes in general, but not in this particular case? It's going smoothly if slowly. | 22:29 | |
perigrin | :) | 22:30 | |
22:30
ivanshmakov left
22:39
denis_boyun left
22:40
spider-mario left
|
|||
colomon | Command failed (status 11): make | 22:40 | |
Command failed (status 65280): /Users/colomon/perl5/perlbrew/perls/perl-5.18.0/bin/perl Configure.pl --prefix=/Users/colomon/tools/rakudo/install --backends=moar,jvm,parrot --make-install --gen-moar | |||
okay, that's embarrassing. Just figured out I actually went to that directory to look at the rakudo source. | 22:41 | ||
22:45
kurahaupo_mobile joined
|
|||
dalek | rl6-bench/minimum_number_runs: 3bf2475 | (Timo Paulssen)++ | minibenchmarks.pl: no longer need to skip rc-forest-fire on nqp-moar. |
22:47 | |
rl6-bench/minimum_number_runs: 0c6dde4 | (Timo Paulssen)++ | timeall: try to get at least 3 datapoints |
|||
rl6-bench: 3bf2475 | (Timo Paulssen)++ | minibenchmarks.pl: no longer need to skip rc-forest-fire on nqp-moar. |
22:48 | ||
22:49
jnap joined
22:53
jnap left
22:54
smls left
22:55
psch joined
|
|||
psch | hi #perl6 | 22:56 | |
for <testneeded> tagged RT tickets i just push a test to roast and comment on the ticket, right? | |||
because many of those tests seem writeable for me... :) | 22:57 | ||
well, rather "a few" than many | |||
jnthn | psch: Yes, that's right | 22:58 | |
corecatcher | p: use lib $?FILE.path.directory ~ '/lib'; | ||
camelia | ( no output ) | ||
corecatcher | p: use lib "{$?FILE.path.directory}/lib"; | ||
camelia | rakudo-parrot e51b6c: OUTPUT«===SORRY!===Null PMC access in get_bool()» | ||
corecatcher | r: use lib "{$?FILE.path.directory}/lib"; | 23:01 | |
jnthn | Mouq: Yes, it was the bind failure and return type check failure ones I thought you had patches towards. :) | ||
camelia | ( no output ) | ||
..rakudo-parrot e51b6c: OUTPUT«===SORRY!===Null PMC access in get_bool()» | |||
psch | RT #79002 seems redundant though, unless there's something specific about this case that warrants another test for X::Syntax::Confused 'two terms in a row' | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=79002 | ||
23:02
telex left
|
|||
psch | line 352 in S32-exceptions/misc.t covers a similar case | 23:02 | |
but then, i have it written and might as well commit the exact example as it exists in the ticket... | |||
Mouq | jnthn: I did realize: X::Assignment::RO still has to be thrown if an object has no STORE method still, in Ops.nqp's p6store | 23:03 | |
jnthn: Even if I could get what I have to work, I don't think it'd be effecient (especially for something that's going to get hit for every assignment made) | |||
23:04
gcole left
|
|||
Mouq | jnthn: So it's probably best if you did it :P sorry | 23:04 | |
23:04
gcole joined,
telex joined
|
|||
Mouq | jnthn: Or at least, someone who knows what he is doing | 23:04 | |
23:05
flussence left
|
|||
timotimo | corecatcher: i can't answer your query, because i'm not authenticated with nickserv on this server | 23:05 | |
jnthn | Mouq: OK, np | 23:06 | |
corecatcher | timotimo: hackint then? | ||
jnthn | Mouq: Yes, that does need a little care given it's very common | ||
timotimo | "no such nick corecatcher" :) | ||
i'm timo there | 23:07 | ||
23:09
Rotwang left
23:12
jeffreykegler joined
23:15
btyler left
23:16
bjz left
23:17
bjz joined
23:19
kurahaupo_mobile left
|
|||
timotimo | nqp: my $foo := sub ($a) { $a > 0 ?? $foo($a - 1) + 1 !! 1 }; | 23:21 | |
camelia | nqp-parrot: OUTPUT«Use of undeclared variable '$foo' at line 2, near "($a - 1) +"current instr.: 'panic' pc 15952 (gen/parrot/stage2/NQPHLL.pir:5947) (gen/parrot/stage2/NQPHLL.nqp:425)» | ||
..nqp-moarvm: OUTPUT«Use of undeclared variable '$foo' at line 2, near "($a - 1) +" at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:120) from gen/moar/stage2/NQP.nqp:2371 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/nqp.mo…» | |||
..nqp-jvm: OUTPUT«Use of undeclared variable '$foo' at line 2, near "($a - 1) +" in panic (gen/jvm/stage2/NQPHLL.nqp:378) in (gen/jvm/stage2/NQP.nqp:2376) in (gen/jvm/stage2/NQP.nqp:2367) in variable (gen/jvm/stage2/NQP.nqp:2298) in !reduce (gen/jvm/stage2/QRegex…» | |||
timotimo | oh? | ||
jnthn | timotimo: Let's call that one a bug... | 23:24 | |
timotimo | rc-man-or-boy-test in nqp/ of perl6-bench has this line: my $B := sub () { A(--$k, $B, $x1, $x2, $x3, $x4) }; | 23:25 | |
and it worked on other nqps :\ | |||
23:26
bjz left
|
|||
timotimo | japhb: even with 3 * 3 it won't work any better o_O | 23:26 | |
tadzik | damn it's cold :| | ||
o/' I'm much too young to feel this damn cold o/' | 23:27 | ||
23:27
kurahaupo_mobile joined
|
|||
timotimo | jnthn: if i were bored on a sunday afternoon soon-ish, what optimization would i look at first to start a peephole optimizer for moar? and what kind of code would produce sufficiently optimizable code? | 23:27 | |
dalek | ast: b2af5d7 | (Pepe Schwarz)++ | S32-exceptions/misc.t: Added test for RT #79002 |
23:28 | |
ast: 1b0f074 | (Pepe Schwarz)++ | S32-exceptions/misc.t: Added test for RT #115964 |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=79002 | ||
Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115964 | |||
ast: a984324 | (Pepe Schwarz)++ | S32-exceptions/misc.t: Added test for RT #77270 |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77270 | ||
psch thinks he should maybe group commits or at least not trigger synopsebot... | 23:32 | ||
timotimo | i disagree | ||
jnthn | timotimo: Well, dunno how measurable it'd be, but simple strength reduction on native integer ops is one example. For example, turning a multiply by a power of 2 into a bit-shift | ||
timotimo | i clicked on all those synopsebot links to see what you've been fixing :) | 23:33 | |
psch | i haven't been fixing anything, just adding tests... :) | ||
timotimo | that's a fix in my books :) | ||
psch | and they were all pretty much copy&paste | ||
oh alright :P | |||
tadzik | psch++ | ||
23:33
dmol left
|
|||
jnthn | psch: I think you did it fine. :) | 23:34 | |
timotimo | jnthn: what do i have to look for to see if a register has a natively typed int in it? | ||
psch | there's a few where i have questions though, like for example rt #76444 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76444 | ||
psch | the behavior i'm seeing here isn't the same as in the ticket | ||
jnthn | timotimo: Well, if you've an add_i you can be quite sure :) | ||
tadzik | coooold | ||
jnthn | timotimo: Instructions on natives are not polymorphic in Moar. | ||
psch | where "here" is a fresh build of -j and -m from about half an hour ago | 23:35 | |
timotimo | ah, that's fair :) | ||
23:35
bjz joined
|
|||
Mouq | p6: say (my $a) = 1,2,3; $a | 23:35 | |
camelia | rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c, niecza v24-109-g48a8de3: OUTPUT«1 2 3» | ||
psch | Mouq: my concern was the last example | 23:36 | |
r: (say (my $a)) = 1,2,3; | |||
camelia | rakudo-moar e51b6c: OUTPUT«(Any)No such method 'STORE' for invocant of type 'Bool' in block at /tmp/tmpfile:1» | ||
..rakudo-parrot e51b6c, rakudo-jvm e51b6c: OUTPUT«(Any)Cannot modify an immutable value in block at /tmp/tmpfile:1» | |||
psch | i guess that makes more sense than what is in the ticket, as the return value of say is immutable | ||
jnthn | timotimo: If you want to go for a very noticable improvement, though, digging into the Int optimizations we talked about on #moarvm will likely be more noticable | ||
psch | ...i was mostly just curious | 23:37 | |
timotimo | is the whole callsite business what we'll be using to stash runtime information about likely invocation targets of methods close by or something? | ||
Mouq | psch: Do you mean the 'Cannot assign to a non-container'? | ||
timotimo | jnthn: i'll see if i can find the time and inspiration ;) | ||
psch | Mouq: yeah, i wasn't seen that locally as it is in the ticket | 23:38 | |
*seeing | |||
and here neither.. :) | |||
jnthn | timotimo: Well, the callsites will be keys into specialized things, for sure. That's why I want to move stuff like names into them. | ||
23:39
xinming_ joined
|
|||
Mouq | psch: Ah, k, I agree with you | 23:39 | |
23:41
xinming left
|
|||
dalek | p: 50185fc | jnthn++ | src/ (2 files): Avoid lots of allocation/boxing with cursors. Only changed on Moar here, but can do similar thing on other backends. |
23:44 | |
p: 3cccf18 | jnthn++ | src/ (4 files): Improve regex prelude when we can know cursor type Means we can emit some more things as hinted lookups. |
|||
nqp: aa42129 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp: | |||
nqp: A few more Cursor access code-gen improvements. | |||
23:45
kaare__ left
23:46
flussence joined
|
|||
Mouq | p6: my rule thr ($i) {<$i>**3}; say 'xxxxxxxxxx' ~~ /<thr <thr x> >/ | 23:46 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«「xxxxxxxxx」 thr => 「xxxxxxxxx」» | ||
..rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '$i' is not declaredat /tmp/tmpfile:1------> my rule thr ($i) {<$i>**3}⏏; say 'xxxxxxxxxx' ~~ /<thr <thr x> >/…» | |||
psch | is S06-other/misc.t an ok place for #76444? | 23:48 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76444 | ||
Mouq | nqp: grammar three { token TOP { <thr <thr x> > }; token thr ($i) {<$i>**3} }; say(three.parse('xxxxxxxxxx')) # And yet NQP does it correctly | 23:49 | |
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«xxxxxxxxx» | ||
23:50
jnap joined
|
|||
jnthn | psch: S03-operators/assign.t may be better | 23:51 | |
Mouq | psch: I'd almost say that should go in S03-* because it has to do with precedence | ||
psch | okay | ||
Mouq is too slow | |||
Mouq goes back to minding his own business | |||
psch | i looked at S03-operators, but thought "well say isn't really an operator, is it now"... :) | 23:52 | |
jnthn | Mouq: I got no guesses on why Rakudo gets that one you just eval'd wrong... | 23:53 | |
Mouq: Should work. | |||
23:54
jnap left
|
|||
timotimo | jnthn: do we already get compile-time hints for the cursors now? | 23:54 | |
dalek | ast: e951886 | (Pepe Schwarz)++ | S03-operators/assign.t: Added test for RT #76444 |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76444 | ||
psch | should the failing examples go somewhere as well? | 23:55 | |
unless there's similar cases already... | |||
psch goes and reads more roast | |||
jnthn | timotimo: The code we emit for grammar rules shouldnow have them. | 23:57 | |
*should | |||
timotimo: Well, not taught grammars in Rakudo about it yet... | 23:58 | ||
timotimo: But that'll be easy enough. | |||
Mouq | psch++ # bug tests :) | ||
timotimo | aye | ||
i'll spend some sleepytime for now, tomorrow i'll have a train ride that may or may not end up being productive :) | 23:59 |