»ö« 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.
jnthn :) 00:00
'night, timotimo
psch this is confusing me gist.github.com/peschwa/8625806 00:03
why does the error change to undeclared variable? 00:04
jnthn psch: Double quotes interpolate variables 00:06
psch ooh
right
00:06 kst` joined
psch that's silly of me 00:06
jnthn Use Q[...] or something
00:06 kst left
psch yeah 00:06
great, it does throw X::Assignment::RO 00:07
jnthn Maybe not on MoarVM yet, though 00:09
Mouq psch: Nerm… I hadn't actually looked at your commit until now
r: use Test; ok 'nonsense', 'this test will always succeed'
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«ok 1 - this test will always succeed␤»
Mouq ok tests the truthiness of it's first argument and uses the second as a test message
00:10 FROGGS[mobile] left 00:13 FROGGS[mobile] joined
psch oh 00:14
Mouq psch: so what I think you were looking for is `is`, and I think you'll have to define a sub other than 'say'
psch right
Mouq psch: Hey, it's better than no test :)
psch i don't know if a test that always passes is better than no test... :) 00:15
that's what i get for only having used throws_like up to now hah
Mouq psch: Hah, it's cool 00:16
jnthn 'night, #perl6
Mouq night jnthn
psch g'night jnthn
r: use Test; (my $a) = 1,2,3; is $a, (1,2,3), "Assignment into parentheses'd my works." 00:22
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«ok 1 - Assignment into parentheses'd my works.␤»
psch Mouq: that's a better test right?
dalek ast: 7af18f0 | (Pepe Schwarz)++ | S03-operators/assign.t:
Correct test for RT #76444. Mouq++
00:24
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76444
psch (i hope so cause now it's in...)
r: (my $a) = 1, 2, 3; say $a.WHAT; (1,2,3).WHAT.say; 00:26
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«(Parcel)␤(Parcel)␤»
psch i feel fairly confident it's correct.
00:26 Mouq left 00:32 sivoais left 00:39 Mouq joined
Mouq psch: Nergle, sorry, I was offline 00:39
I read the bug report more as `routine (my $a) = 1,2,3` being parsed as `(routine (my $a)) = 1,2,3` when it should be `routine ((my $a) = 1,2,3)` 00:41
psch that actually makes sense, the other cases don't work when removing the routine 00:42
in my defense, the usefulness of the test did improve... :)
i'll change it again though, you're clearly right
Mouq lol, psch++ it's more than I've done today :) 00:43
Ok
psch i'm not quite sure how to write the test though 00:44
00:44 sivoais joined
psch r: use Test; is 'foo (my $a = 1,2,3)', (1,2,3), 'Routine call taking a parenthesesed my as argument works.'; # this isn't right 00:44
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«not ok 1 - Routine call taking a parenthesesed my as argument works.␤# got: 'foo (my $a = 1,2,3)'␤# expected: '1 2 3'␤»
psch so is doesn't eval it's 1st argument
but eval_ok probably has the same semantics as ok, except it evals first
Mouq r: use Test; sub low-prec (\i) {True}; is (low-prec (my $a) = 1,2,3), True; is $a, (1,2,3) 00:46
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«ok 1 - ␤ok 2 - ␤»
psch right, i had declared a sub foo($x) { $x } locally for the example above 00:48
r: use Test; sub foo($x) { $x }; is foo (my $a = 1,2,3), (1,2,3), 'Routine call taking a parenthesesed my as argument works.'; # this maybe?
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«Too many positional parameters passed; got 3 but expected 1␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
psch nope
well, yours works
Mouq++ # test-writing support
Mouq psch: You passed (1,2,3) to foo 00:49
psch the second one?
Mouq psch: As well 'Routine…'
psch right
Mouq psch: You got this 00:50
00:50 jnap joined
Mouq is leaving again 00:53
00:53 Mouq left
psch just adds all of these test cases 00:53
00:55 jnap left
dalek ast: fab066e | (Pepe Schwarz)++ | S03-operators/assign.t:
Corrected tests for RT #76444. Mouq++
00:56
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76444
psch wonders what 'Nerm' and 'Nergle' mean...
00:57 BenGoldberg joined 01:02 BenGoldberg left 01:12 telex left 01:24 BenGoldberg joined
dalek ast: 06a737b | (Pepe Schwarz)++ | S04-statement (2 files):
Added tests for RT #89208
01:25
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=89208
01:26 krunen left
psch r: $foo:: 42; say $foo:: # RT #76400 01:27
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76400
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$foo' is not declared␤at /tmp/tmpfile:1␤------> $foo::⏏ 42; say $foo:: # RT #76400␤ expecting any of:␤ …»
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76400
psch r: $foo:: = 42; say $foo:: # still different than in the ticket 01:28
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$foo' is not declared␤at /tmp/tmpfile:1␤------> $foo::⏏ = 42; say $foo:: # still different than␤ expecting …»
psch std: $foo:: = 42
camelia std 09dda5b: OUTPUT«ok 00:01 123m␤»
psch n: $foo:: = 42
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] i…»
psch wonders who is wrong here 01:29
01:33 ponbiki left, raiph left 01:36 jeffreykegler left 01:37 ponbiki joined, ponbiki is now known as Guest13781 01:39 pdurbin joined 01:42 telex joined 01:48 telex left 01:51 jnap joined 01:53 pecastro_ joined 01:55 pecastro left 01:56 jnap left
colomon just forgot that I was editing files on my Linux box, and checked them into git directly from my Mac. Seems to have worked okay... 01:58
02:02 telex joined
psch how do verify the bool value inside a method of an exception in throws_like? 02:03
i have this: gist.github.com/peschwa/8627020
but the warning is unsettling 02:04
if i leave out the smart match the last test case fails...
i also don't quite understand how an "always fail[ing]" smart match gives a successful test result
02:05 krunen joined
psch "leave out the smart match" here means just putting 'private => { False }', which in retrospect doesn't really seem to make sense to me either 02:05
oh 02:06
yeah, nevermind, i checked in S32-exceptions/misc.t and i have to $_ === *
02:06 Mouq joined
psch .oO( private is not even an array... -.- ) 02:07
02:08 telex left
psch colomon: i dont quite get your worry there. do you have your local git repo hosted on a networked filesystem? 02:09
colomon psch: I'm editing the files over SSHFS. 02:10
and, apparently, committing them over SSHFS, too. 02:11
psch that's fine, isn't it 02:12
if your repo is mounted locally from another computer you edit and commit on the other computer
colomon apparently
psch a possibly troublesome scenario would be mounting a subdir of the repo via sshfs and then commiting... 02:13
of course after editing inside that subdir
but as long as you mount the root of the repo i don't see any cause of concern
dalek ast: 8fe2db8 | (Pepe Schwarz)++ | S32-exceptions/misc.t:
Added test for RT #78012
02:16
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=78012
psch in fact, i think im gonna try that out now 02:17
remounting a subdir of a remote with unpushed changes in another repo without those changes and then changing things inside the subdir
i'm fairly confident git will complain
"could not commit hanged contents of $file" 02:21
psch is pretty sure he doesn't exactly understand that error
that's actually kind of interesting 02:22
after adding a file in the subdir, then "mount -o bind"ing the subdir into a clean repo i had to commit in both repos before i could rebase into the one i "mount -o bind"ed from 02:23
psch has no idea what that actually means 02:24
anyway, i feel i'm starting to ramble, i'm gonna go to bed o/
02:24 psch left
Mouq r: class NUM {}; my $NUM::twelve = 12; my $NUM::fourty-two = 42; say [+] NUM::.values; 02:28
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«54␤»
dalek ast: 13c7fbf | (Mark Shoulson)++ | / (3 files):
Add new signature/parameter matching tests.
colomon \o 02:29
Mouq psch++ clsn++ 02:30
clsn Hope it's good.
02:37 Mouq left 02:49 varna joined
TimToady rosettacode.org/wiki/Brace_expansion now has a Perl 6 entry 03:04
it's kinda beautiful
colomon TimToady++ 03:08
japhb: if you want some simple tests for Vec3, feel free to steal them from my fork. ;) 03:12
diakopter TimToady: I don't see the Perl 6 one there 03:19
TimToady cache out of date? 03:20
03:23 varna left
diakopter did you commit the change? 03:24
TimToady certainly
diakopter well, there is a note at the top from Dec 14 03:25
weird
TimToady well, that's a different issue
diakopter This page was last modified on 26 January 2014, at 03:20.
TimToady you have to page down to get to Perl 6, it doesn't make a table of contents until there are four entries 03:26
diakopter soneone deleted it?
er there it is 03:27
but what happened to the Python one I just saw
03:27 kurahaupo_mobile left
TimToady the python was withdrawn, see the talk page 03:28
diakopter oh 03:30
03:43 woolfy1 left 03:45 araujo left 03:50 kst` left
clsn r: 6 S+ 9 # LTA error. See line #3542 in Grammar.nqp, missing around line #5169 in Actions.nqp. 03:53
03:53 jnap joined
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...ml?id=3542 03:53
camelia rakudo-jvm e51b6c: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤ in any at gen/jvm/BOOTSTRAP.nqp:1680␤ in any at gen/jvm/BOOTSTRAP.nqp:1663␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot e51b6c: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤ in any at gen/parrot/BOOTSTRAP.nqp:1692␤ in any at gen/parrot/BOOTSTRAP.nqp:1674␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar e51b6c: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in block at /tmp/tmpfile:1␤␤»
03:57 jnap left
skids The described backslashing behavior does not match bash, nor does it make any sense to me. (echo a\\{1,2\,c} --> a\1 a\2,c not a\\1 a\\2\,c ) 03:58
03:59 varna joined 04:07 mrjoltcola joined 04:10 telex joined 04:12 telex left 04:14 mrjoltcola left, atroxaper joined 04:17 zacts left 04:18 beastd left 04:23 araujo joined, araujo left 04:28 telex joined, d4l3k_ joined 04:29 djanatyn left, dalek left, djanatyn joined 04:30 d4l3k_ is now known as dalek 04:34 telex left, krunen left 04:39 araujo joined 04:42 ponbiki joined 04:43 Exodist left, ponbiki is now known as Guest3765, exodist_ joined, japhb_ joined, orevdiabl joined, revdiablo left 04:47 crab2313 joined, japhb left 04:51 telex joined, BenGoldberg left, Guest13781 left 04:54 jnap joined 04:55 telex left 04:58 jnap left 05:18 crab2313 left 05:37 bjz_ joined 05:38 bjz left 05:50 kurahaupo_mobile joined 05:54 jnap joined 05:59 jnap left 06:07 odoacre_ left, odoacre_ joined 06:09 krunen joined 06:10 SamuraiJack joined 06:21 zby_home_ joined 06:28 araujo left, araujo joined 06:30 kaare__ joined 06:34 darutoko joined 06:53 telex joined, varna left 06:55 jnap joined 06:59 jnap left 07:05 telex left 07:13 telex joined 07:14 bjz_ left 07:17 bjz joined 07:20 telex left 07:21 bjz left 07:24 bjz joined, bjz left 07:28 Guest3765 is now known as ponbiki 07:33 telex joined 07:36 telex left 07:42 skids left 07:53 telex joined 07:56 jnap joined 07:58 telex left 08:00 kurahaupo_mobile left, jnap left 08:12 telex joined 08:15 telex left 08:30 bjz joined 08:32 telex joined 08:35 jeffreykegler joined 08:36 jeffreykegler left, kurahaupo_mobile joined 08:38 telex left 08:52 telex joined
timotimo o/ 08:56
08:56 daxim left 08:57 jnap joined, telex left 09:01 jnap left 09:02 rindolf joined
raydiak what does "is pure" do? 09:04
timotimo it's meaningful to the optimizer 09:05
it will constant-fold only things that are marked is pure
raydiak means "no side effects" or similar?
timotimo that's right 09:06
or "no side-effects to worry about"
caching, for example, would be allowed
raydiak makes sense 09:07
timotimo and if you want you can mess with the optimizer that way :P
r: sub test is pure { rand }; for ^10 { say test + test } 09:08
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in sub test at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
timotimo r: sub test is pure { rand }; for ^10 { say test() + test }
camelia rakudo-jvm e51b6c: OUTPUT«0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤0.8786985940925635␤»
..rakudo-parrot e51b6c: OUTPUT«1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤1.04900561984469␤»
..rakudo-moar e51b6c: OUTPUT«1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤1.28499817762646␤»
raydiak ha ha, got it
timotimo hm, i think it'll even work without the addition 09:09
r: sub test is pure { rand }; for ^10 { say test }
camelia rakudo-moar e51b6c: OUTPUT«0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤0.406724576016814␤»
..rakudo-jvm e51b6c: OUTPUT«0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤0.8538433738476435␤»
..rakudo-parrot e51b6c: OUTPUT«0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤0.308586922564672␤»
timotimo yup
raydiak is inlining happening?
well, dumb question in the context of constant folding 09:10
timotimo heh.
raydiak I guess I was wondering if inlining works in general
timotimo we do inline simple things
09:10 daxim joined
raydiak simple? 09:10
timotimo not exactly sure about what exactly constitutes a simple thing 09:11
i'll give you a link to the source code
raydiak read my mind :)
timotimo github.com/rakudo/rakudo/blob/nom/....nqp#L2541
raydiak ah, I see 09:12
timotimo wether or not an op is inlinable can be seen in the Ops.nqp or QASTOperationsMAST.nqp and friends 09:13
on JVM and moar, the default for an op is to be inlinable, on parrot it's the other way around iirc 09:14
raydiak none of the args can be optional, capture, slurpy, lol, bound to something somewhere else, or constrained, to name a few
timotimo i'd think some of those could be made to work, but it'd be ... work :P 09:15
raydiak I've been looking at the rakudo and nqp source lately...it's remarkably coherent and legible
timotimo i wholeheartedly agree 09:16
unfortunately, to a beginner, that doesn't mean you'll immediately know just what to write :P
raydiak not at all, but I tried reading the source once or twice with p5, and decided I didn't want to sacrifice that much of my life :P
timotimo has seen some of the insides of pypy and it was a similar deal to nqp and rakudo 09:17
09:18 daxim left
FROGGS o/ 09:18
raydiak \o
09:21 rindolf left 09:25 dmol joined 09:31 varna joined 09:32 darutoko left 09:33 daxim joined 09:34 sqirrel joined 09:44 daxim left 09:47 bjz left
FROGGS timotimo: this is awesome :o) feather.perl6.nl/~raiph/25jan2014-b...kudos.html 09:49
timotimo++
09:50 bjz joined
masak good antenoon, #perl6 09:51
atroxaper masak: hello! 09:53
09:54 sidus joined 09:57 jnap joined
moritz \o * 09:58
09:58 spider-mario joined 09:59 krunen left, daxim joined, telex joined
timotimo FROGGS: all the ++'s belong to other people in this case :) 10:00
FROGGS TimToady++ # there can't be a cleaner solution than the p6 one rosettacode.org/wiki/Brace_expansion 10:01
timotimo: it was you cpu power, wasn't it? :o)
timotimo well, yeah
10:02 jnap left
masak FROGGS: not only that, it shows very clearly the two different philosophical levels Perl 5 and Perl 6 operate on. 10:06
Perl 5 is more "regexes, data structures and loops". Perl 6 is more "grammars and hyperops". 10:07
10:07 telex left
FROGGS rosattecode++, job well done I'd say :o) 10:08
rosettacode++, even
I am eager to see other solutions, though I don't think any could beat Perl 6 (for my taste) 10:09
10:14 zby_home_ left 10:21 telex joined
jnthn morningish, #perl6 10:24
10:25 telex left
FROGGS morning jnthn 10:25
10:26 atroxaper left
FROGGS jnthn: you don't have any hints where could start looking for "Object conflict detected during deserialization."? 10:27
is it a problem writing down the mbc to disk, or is it a problem loading it? 10:28
jnthn FROGGS: Happens at load time 10:29
FROGGS btw, I should be able to use the flunk.moarvm produced by windows, right? 10:30
no, I won't
because of BS
jnthn You should be able to... 10:32
FROGGS tries
just to try it 10:33
jnthn FROGGS: Anyway, the missing stuff is that MoarVM throws an exception at github.com/MoarVM/MoarVM/blob/mast...on.c#L1872 while it needs to do github.com/perl6/nqp/blob/master/s...on.c#L1767 10:34
FROGGS ahh 10:35
thank you!
jnthn It's not a lot of code to port, but I need to pack and get ready for airport here... 10:36
FROGGS jnthn: yeah, I already wanted to ask "what is the catch", but I will try it now :o) 10:37
have a nice flight!
:o)
10:39 telex joined, telex left 10:44 zby_home_ joined 10:53 rindolf joined 10:58 jnap joined 11:03 jnap left 11:09 bjz left 11:10 Rotwang joined 11:12 bjz joined 11:13 woolfy joined 11:17 spider-mario left 11:34 darutoko joined 11:36 darutoko- joined 11:38 tgt joined 11:39 darutoko left 11:40 darutoko- left
timotimo perfect timing for my train yay 11:41
11:47 darutoko joined 11:48 vmspb joined 11:58 darutoko- joined 11:59 jnap joined 12:01 darutoko left
timotimo o/ from a train 12:02
12:02 darutoko joined 12:03 sqirrel left, jnap left 12:04 darutoko- left
FROGGS :o) 12:09
o/ from a chair
12:14 spider-mario joined 12:16 smls joined
moritz \o from a rocking chair 12:17
12:25 vmspb left 12:26 zby_home_ left 12:29 cognominal left 12:31 bjz left, cognominal joined, bjz joined, atroxaper joined 12:42 denis_boyun joined
atroxaper Is there way to call something by timer? Or sleep function? 12:42
timotimo there is a sleep function, sure 12:44
and on the jvm you can have periodic calls to a function
atroxaper timotimo: oh... thank you. sleep is what i wonted. 12:45
12:54 rindolf left 12:59 rindolf joined 13:00 jnap joined, mavcunha left 13:02 krunen joined 13:04 jnap left 13:07 sidus left 13:13 tgt left 13:14 sqirrel joined
moritz r: my $now = now; sleep 1; say now() - $now 13:16
camelia rakudo-parrot e51b6c, rakudo-jvm e51b6c, rakudo-moar e51b6c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ now used at line 1␤␤»
moritz r: my $now = now; sleep 1; say now - $now 13:17
camelia rakudo-jvm e51b6c: OUTPUT«1.022␤»
..rakudo-parrot e51b6c: OUTPUT«1.02675534␤»
..rakudo-moar e51b6c: OUTPUT«1.03735240␤»
13:19 mavcunha joined
smls .tell skids re "described backslashing behavior does not match bash": Well, Bash does several things together: 1) word splitting 2) brace expansion 3) wildcard and tilde expansion 4) backslash stripping. The rosetta task is exclusively about brace expansion... 13:26
yoleaux smls: I'll pass your message to skids.
13:36 djanatyn left 13:38 denis_boyun_ joined, denis_boyun left, Vlavv_ left 13:39 johnmilton joined 13:40 djanatyn joined 13:41 mavcunha left 13:43 djanatyn left, djanatyn joined 13:46 denis_boyun_ left 13:59 denis_boyun joined 14:02 sqirrel left 14:09 jnap joined 14:11 kaare__ left, mavcunha joined
JimmyZ r: my $now = now; sleep 1; say now - $now 14:25
camelia rakudo-moar e51b6c: OUTPUT«1.0338047␤»
..rakudo-jvm e51b6c: OUTPUT«1.0159990␤»
..rakudo-parrot e51b6c: OUTPUT«1.0209812␤»
14:26 atroxape_ joined, atroxaper left 14:29 telex joined 14:31 woolfy left 14:32 telex left 14:35 woolfy joined 14:47 denis_boyun left 14:50 varna left 14:57 ajr joined 14:58 ajr is now known as Guest35805, Guest35805 is now known as ajr_ 15:01 telex joined 15:16 locsmif joined 15:18 jnap left 15:21 johnmilton left 15:23 djanatyn left 15:24 djanatyn joined 15:26 tgt joined 15:32 zakharyas joined 15:36 johnmilton joined
ajr_ What is the "Richards benchmark"? Reference? 15:46
15:48 BenGoldberg joined 15:50 kivutar joined 15:57 zakharyas left 15:59 denis_boyun joined 16:04 djanatyn left 16:05 djanatyn joined 16:06 tgt left 16:07 tgt joined 16:10 BenGoldberg left 16:17 raiph joined 16:18 jnap joined 16:23 jnap left 16:27 skids joined
timotimo ajr_: it simulates a scheduler workload for I/O and cpu-bound tasks 16:32
github.com/japhb/perl6-bench/blob/...p/richards 16:33
16:33 raiph left, Vlavv_ joined 16:37 gcole left
ajr_ timotimo: Thanks. Is there a functional specification (as opposed to implemetation), somewhere? 16:39
timotimo i don't know of one, but i also didn't look very hard 16:41
i ported it from python code found in the repository of pypy's speed measurement project
16:49 krunen left 16:52 smls left 16:57 tgt left 16:59 ajr_ left 17:00 ajr joined 17:01 ajr is now known as Guest26688 17:09 atroxape_ left 17:14 tgt joined 17:15 krunen joined 17:16 djanatyn left 17:17 djanatyn joined 17:20 djanatyn left 17:21 zakharyas joined 17:22 djanatyn joined 17:25 BenGoldberg joined 17:30 djanatyn left 17:33 Guest26688 left 17:34 ajr_ joined 17:35 djanatyn joined 17:36 djanatyn left 17:38 djanatyn joined 17:41 ajr_ left, djanatyn left 17:42 djanatyn joined 17:43 djanatyn left 17:44 djanatyn joined 17:45 jeffreykegler joined 17:47 ajr_ joined 17:48 mtk left 17:52 djanatyn left, djanatyn joined 17:57 kivutar left, djanatyn left 17:58 djanatyn joined
ajr_ Martin Richardson's home page: www.cl.cam.ac.uk/~mr10/ with a link to www.cl.cam.ac.uk/users/mr/Bench/bench.tgz which appears to have several different versions. 18:05
jnthn oh, *that* Richards... 18:08
18:10 tgt left 18:23 tgt joined 18:27 darutoko left
jnthn dinner & 18:28
18:28 btyler joined
arnsholt jnthn: On JVM, ``use NativeCall; my $x := CArray[int].new; $x[0] := 1; say "alive"'' works, while ``use NativeCall; my $x := CArray[int].new; $x[0] = 1; say "alive"'' fails with "java.lang.RuntimeException: This type does not support positional operations" 18:32
Both work on Parrot. Rakudo's scalar container missing some kind of REPRop on JVM?
18:38 retupmoca left 18:39 FOAD left 18:40 tgt left, FOAD joined 18:46 FOAD left, FOAD joined 18:49 rrrrr joined 18:52 tgt joined 19:03 krunen left, tgt left 19:04 araujo left 19:05 ajr_ left 19:09 jnap joined 19:10 arnsholt left 19:13 jnap left, FOAD left 19:15 FOAD joined 19:20 SamuraiJack left 19:23 tgt joined 19:29 FOAD left 19:34 FOAD joined 19:35 FOAD left, FOAD joined 20:03 FOAD left, FOAD joined
FROGGS perl6-m -e 'sub postcircumfix:<؟ ?>(*@a) { @a.join("-") }; say 123؟1, 2?' 20:09
123-1-2
diakopter wat 20:10
masak looks right to me.
FROGGS :o)
diakopter wat
masak diakopter: I think you have to elaborate a bit on what befuddles you. 20:11
FROGGS the arabic question mark is a bit off here in my chat client, but the customm postcircumfix works
jnthn wtf
oh
ffs, it's RTL
:P
FROGGS wtf -> ftw
:P
jnthn Yes, I wrote ftw but it was in RTL, you see :P
FROGGS hehe
'course
jnthn wtf ++SGGORF! 20:12
diakopter what's trl
FROGGS \o/ <-- rtl even
jnthn Well, I just grabbed JDK8 and it seems Rakudo on JVM builds and spectests on it... 20:13
masak oh, I had to go to the web logs to even see what you guys were so confused over...
FROGGS weird is, that is shows the arabic ? correctly after the 123 when I highlight the text... 20:14
jnthn However, Java's substring semantics have changed, and the time to do JAST -> classfile has gone up a bunch...
diakopter masak: how is 123-1-2 formed 20:15
lue Having two of those RTL question marks seems to keep it from breaking completely, but I could be wrong there. ‮Now at least you didn't use weirder Unicode characters...‭
FROGGS damn, now that I fully implemented postcircumfix, Perl5::Terms infiniloops when precompiling it
diakopter: it gets the invocant as the first arg, and the stuff in the postcircumfix after that 20:16
diakopter what's in the postcircumfix
FROGGS 1, 2
diakopter where's the 2
FROGGS after the one :o)
diakopter don't see a 2 20:17
FROGGS perl6-m -e 'sub postcircumfix:<* *>(*@a) { @a.join("-") }; say 123*1, 2*'
123-1-2
here, ascii
lue diakopter: try selecting the text, see if you can move around the text doing that.
diakopter that's not what mine looks like at all
FROGGS the right-to-left char messes up, that's all
masak diakopter: three arguments go in: the 123, the 1, and the 2. 20:18
diakopter nopasting my problem
masak diakopter: I didn't even see the confusion, because my client didn't RTL things.
FROGGS I (sort of) see "... 1232 ,1??" 20:19
lue masak: aw, then you missed my joke earlier :)
masak lue: must've, yes.
diakopter FROGGS: yes, that's what I saw 20:20
lue irclog is willing though, at least: irclog.perlgeek.de/perl6/2014-01-26#i_8178625
jnthn I just tried to type what I saw, but when I copy-paste the RTL char it makes it impossible to type what I want :P
FROGGS hehe 20:21
moritz iirc gtk tries to handle RTL correctly
lue moritz: works in gtk-using hexchat at least (Unicode OVERRIDE characters included ☺) 20:22
diakopter imgur.com/VzLp72r.png 20:23
lue diakopter: that second 2 in "1232"? That's the missing 2 :) 20:24
diakopter I see that now
20:32 zakharyas left 20:35 Alina-malina left 20:40 arnsholt joined 20:41 jackjack joined 20:43 Alina-malina joined
jackjack sometimes i think i learnt the wrong language this perl stuff 20:49
FROGGS ?
dalek p: bbb81a1 | moritz++ | / (2 files):
Configurable git protocols; closes #153
20:50
jackjack it really hurts my brains bad
moritz maybe you just need somebody to teach it properly 20:51
git also hurt my brain before I understood it
diakopter my brain hurts my brain
jackjack im the only person in the world whos read those perl manuals three times
and that systems admin with perl one 20:52
i think i prefer wiley to o'reilly 20:53
the way i see it is you have to be a top expert in perl 5 to understand the changes in perl 6---that means someones got a better book which they teach from 20:56
raydiak disagrees
jackjack raydiak you cant write thos e books in 2 years there too fat 20:57
raydiak I disagree that you have to be a top expert in perl 5 to learn perl 6
moritz some of our core contributors didn't do Perl 5 before hacking on Perl 6 20:58
20:58 Khisanth left 20:59 jeffreykegler left
jackjack anyway curtis "ovid" poe is taking a lecture at fosdem2014 so ill ask him feb2 21:00
skids A lot of the things in Perl5 and 6 that fry brains are actually just basic CS concepts that fry brains in college, it is just that Perl actually uses/implements them while many other languages do not.
yoleaux 13:26Z <smls> skids: re "described backslashing behavior does not match bash": Well, Bash does several things together: 1) word splitting 2) brace expansion 3) wildcard and tilde expansion 4) backslash stripping. The rosetta task is exclusively about brace expansion...
dalek kudo/nom: c2982df | moritz++ | / (2 files):
import configurable git protocol changes from NQP

Fixes RT #121072
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121072
arnsholt Blah. Does anyone happen to know which particular bit of code in NQP/JVM inserts the exception handler that intercepts stray exceptions?
jnthn arnsholt: Maybe you mean invokeDirect? 21:02
arnsholt: Or you mean something in code-gen?
skids yoleaux tell smls: backslash stripping is usually ensconced in the syntax parsing in the first stages of brace expansion. Not stripping them is actually harder than stripping them.
erg. 21:03
FROGGS skids: .tell
skids fixed it in a msg, thanks 21:04
21:11 jackjack left
arnsholt jnthn: Could be code-gen 21:11
jnthn src/jvm/QAST/Compiler.nqp:3554 21:12
arnsholt tries invokeDirect first
21:13 Khisanth joined
arnsholt Oh, that looks promising 21:13
Cheers!
sjn arnsholt: you up for a beer and some grub on tuesday? :) 21:14
arnsholt: www.meetup.com/Oslo-pm/events/16228...162287772/ \o/
oops
www.meetup.com/Oslo-pm/events/162287772/ 21:15
jnthn It's so good it's worth pasting twice!
sjn it's so good it's worth 404ing it? o_O
arnsholt That might be doable
Aha! NQP_VERBOSE_EXCEPTIONS=1 21:18
jnthn: Are there any VM-specific bits to Rakudo's container stuff? 21:20
jnthn arnsholt: Yes. 21:21
arnsholt: container.c for Parrot and MoarVM, and a couple of java classes (that should have container in the name) are in rakudo-runtime.jar
arnsholt Right 21:22
There's something weird with "my $x = CArray.new" on JVM, might look like an unimplemented REPRop or something
jnthn Oh? 21:23
What error are you seeing, ooc?
arnsholt On JVM, ``use NativeCall; my $x := CArray[int].new; $x[0] := 1; say "alive"'' works, while ``use NativeCall; my $x := CArray[int].new; $x[0] = 1; say "alive"'' fails with "java.lang.RuntimeException: This type does not support positional operations"
Er, s/:=/= in the second one
So binding the CArray to $x works fine, but assigning doesn't 21:24
jnthn lemme glance NativeCall...
21:24 jerry_ joined
arnsholt The verbose exception thing shows that the error is coming from P6Opaque 21:24
It works fine on Parrot
21:26 rindolf left
jnthn wonders how on earth the binding case works at all 21:27
arnsholt Heh
jnthn On this line: 21:28
nqp::bindpos_i(arr, nqp::unbox_i($pos.Int), $v);
try an nqp::decont(arr) instead.
arnsholt Sounds plausible
Prints alive \o/ 21:29
Thanks!
jnthn \o/ 21:30
arnsholt That might be the cause for some other weirdness I'm seeing with JVM and CArray too, actually
jnthn Put in the nqp::decont to Zavolaj; I think we'll want them for Moar too
arnsholt Probably
I'm gonna add some tests to the CArray suite anyways. Turns out the CArray implementation on JVM wasn't quite as complete as I imagined =) 21:31
jnthn yay :)
arnsholt So I'll be a good TDD citizen and write some tests first =)
21:32 kaare__ joined
arnsholt But first sleep, I think 21:33
See you folks tomorrow
FROGGS gnight arnsholt++
jnthn 'night, arnsholt++
masak 'night, arnsholt++ 21:34
tadzik wow, it's late already :o
21:35 jerry_ left 21:40 beastd joined
masak always liked the fortune "It's later than you think." 21:48
FROGGS jnthn: I know now why Perl5::Terms infiniloops when using the ustom postcircumfix 21:49
customm*
gah!
custom*
21:50 johnmilton left
masak 'night, #perl6 21:50
FROGGS it is an indirect method call that happends all the time, and Perl5::Terms is huge so it tries to match this postcircumfix almost everywhere in that code
I guess it will succeed, but not today :o(
night masak
so, I am ripping out that postcircumfix from v5 21:51
jnthn I'd not imagine it's *that* slow...
FROGGS jnthn: shall I commit that postcirumfix code for rakudo anyway?
jnthn LTM should stop you ending up there, no?
FROGGS: Yes, preferably with a spectest or two for custom postcircumfixes...and provided it doesn't break anything else, of course. 21:52
FROGGS jnthn: I already spectested it
jnthn: maybe LTM does not catch because $starter is not a literal? 21:53
jnthn FROGGS: But it's in a parametric role, iirc? 21:54
And those are constant after interpolation
The NFA stuff has a some stuff in for genericity of this kind...
FROGGS it is in the role, yes
jnthn Then it should work out 21:55
21:55 airdisa joined 22:01 locsmif left 22:05 smls joined
smls perl6: sub foo($x) is cached { say "foo called with $x"; 2 ** $x }; say foo 10; say foo 10; 22:06
yoleaux 21:03Z <skids> smls: backslash stripping is usually ensconced in the syntax parsing in the first stages of brace expansion. Not stripping them is actually harder than stripping them.
camelia rakudo-parrot c2982d, rakudo-jvm c2982d, rakudo-moar c2982d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Can't use unknown trait 'is cached' in a sub declaration.␤at /tmp/tmpfile:1␤------> ␤ expecting any of:␤ rw parcel hidden_from_ba…»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unhandled trait cached for this context at /tmp/tmpfile line 1:␤------> sub foo($x) is cached ⏏{ say "foo called with $x"; 2 ** $x }; s␤␤Unhandled exception: Check failed␤␤ at /home/p…»
smls ^^am I doing it wrong, or is is just NYI?
22:06 krunen joined
tadzik timotimo: I like the table solution :) 22:07
smls skids: but wildcard expansion happens after brace expansion (at least conceptually), and it the backslashes to know which potential wildcards are escaped
*needs 22:08
re "Not stripping them is actually harder than stripping them", I don't see any evidence of that in the three solutions that have been posted so far on the rosetta page. 22:09
timotimo tadzik: thank you kindly
tadzik it's a lot saner 22:10
timotimo tadzik: but i was kind of scared, it could be called "two-pass parsing"
which TimToady++ really doesn't want to have anywhere near perl6 for good reasons
tadzik do you have any idea how many passes is the current parser using? :P
hard to say, because it's post-processing the rows 22:11
diakopter N
22:11 jnap joined
timotimo 22:11
22:14 beastd left 22:15 jnap left
jnthn smls: as far as I know, nyi 22:19
dalek kudo-star-daily: 0ff0a36 | coke++ | log/ (5 files):
today (automated commit)
22:22
rl6-roast-data: 1896ed6 | coke++ | / (6 files):
today (automated commit)
rl6-roast-data: e950485 | coke++ | / (6 files):
today (automated commit)
timotimo ah, 99.38% of jvm. not bad! 22:30
oh, we've been at a better percentage recently
jnthn Wow, S32 is a bigger source of fail than S05 now 22:32
22:37 spider-mario left 22:42 dalek left 22:43 dalek joined, ChanServ sets mode: +v dalek 22:45 Rotwang left 22:49 tgt left 23:13 canaimero joined 23:14 canaimero left 23:33 airdisa left 23:40 xinming joined 23:43 xinming_ left 23:53 araujo joined, araujo left 23:55 krunen left