»ö« 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.
00:04 pippo left, pippo joined
pippo p: say "Test"; 00:05
camelia rakudo-parrot 299d70: OUTPUT«Test␤»
00:05 raiph joined, pippo left 00:08 treehug88 left 00:28 treehug88 joined 00:31 Mouq left 00:36 pdcawley_ joined 00:37 pdcawley left 00:49 raiph left 00:57 hoverboard left 01:00 benabik joined 01:04 panchiniak left 01:06 hoverboard joined 01:10 pmurias left
BenGoldberg rn: say "\c[PILE OF POO]".ord.fmt('%x') 01:11
camelia rakudo-jvm 299d70: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name PILE OF POO␤at /tmp/tmpfile:1␤------> say "\c[PILE OF POO⏏]".ord.fmt('%x')␤»
..rakudo-moar 299d70: OUTPUT«10176b␤»
..rakudo-parrot 299d70, niecza v24-109-g48a8de3: OUTPUT«1f4a9␤»
lue hang on, why does canonpath put an s:g in a while loop conditional? Shouldn't the :g part have that covered? 01:15
01:21 ph1ur3 joined
TimToady rn: say "\c[PILE OF POO]".ord.base(16) 01:23
camelia rakudo-moar 299d70: OUTPUT«10176B␤»
..rakudo-jvm 299d70: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name PILE OF POO␤at /tmp/tmpfile:1␤------> say "\c[PILE OF POO⏏]".ord.base(16)␤»
..rakudo-parrot 299d70, niecza v24-109-g48a8de3: OUTPUT«1F4A9␤»
TimToady rn: say "\x1F4A9" 01:24
camelia rakudo-parrot 299d70, rakudo-jvm 299d70, rakudo-moar 299d70, niecza v24-109-g48a8de3: OUTPUT«💩␤»
TimToady m: say "\x10176b" 01:25
camelia rakudo-moar 299d70: OUTPUT«􁝫␤»
BenGoldberg rn: say "\c[PILE OF POO]" 01:26
camelia rakudo-jvm 299d70: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name PILE OF POO␤at /tmp/tmpfile:1␤------> say "\c[PILE OF POO⏏]"␤»
..rakudo-parrot 299d70, niecza v24-109-g48a8de3: OUTPUT«💩␤»
..rakudo-moar 299d70: OUTPUT«􁝫␤»
01:26 lostguy joined
lostguy hello 01:26
BenGoldberg hi
lue .u U+10176B 01:27
yoleaux No characters found
lostguy can someone help me with my perl 6 problem im trying to use the rakudo make file but it says no rule to make target j-all D: help?
TimToady did you configure with the jvm backend? 01:28
perl Configure.pl --backends=ALL --gen-nqp --gen-parrot --gen-moar 01:29
that's what I use
but then it makes all three bakends
lostguy what is j-all from? 01:30
TimToady j-all would just be a rule in the Makefile that says to make everything for the jvm backend. no j-all is actually created 01:31
but it sounds like your Makefile is borked
did you just say "make"
to invoke it? 01:32
lostguy yea
TimToady are you using HEAD from github?
lostguy pretty sure4
TimToady are you trying to make all the backends?
what did you use for a Configure command? 01:33
01:33 denis_boyun__ left
lostguy i think it might be a problem at the end of setting up the backends it tries to nmake but there isnt a nmake command 01:34
TimToady hmm, I'm not a windows guy
lostguy i pretty do it the linux way :P command prompt 01:35
TimToady are you on Linux?
01:35 mavcunha_ left
lostguy no :P 01:35
windows
01:36 kaare_ left
TimToady well, we certainly have people making it on windows, including jnthn++ 01:36
lostguy i think i gotta add more PATH variables :P
TimToady could be, but if you're using the same path Configure did, it oughta figure things out 01:37
lostguy its trying to run nmake which is visual studio
TimToady maybe Configure is stupid about some o fthe semantic corners
you can probably get a gmake from somewhere
but yeah, maybe pathness is the issue 01:38
lostguy i have a make
i have cgywin pathed with gnu make
01:38 treehug88 left
TimToady is your cygwin somehow changing the path on you? 01:38
I don't think anyone here is actually building under cygwin 01:39
if that's what you're attempting
are you using a cygwin shell?
TimToady feels like he's playing 20 questions here... 01:40
01:40 mavcunha joined, telex left
lostguy lol :P 01:40
i know what im doing just hate make files so muchhhhhhhhhh 01:41
TimToady yes, it's fine if you know what you're doing, but you're making it difficult for *me* to know what you're doing
lostguy just missing a few key thinfs
01:42 telex joined
lostguy i have an idea how to get it working tho 01:42
im making a PATH variable to nmake.exe and see if that helps 01:43
01:57 kbaker joined 02:06 _thou left 02:07 FROGGS_ joined 02:10 FROGGS left 02:22 gfldex joined
dalek ast: 26ca4e3 | larry++ | S03-metaops/cross.t:
cross test for [] was slightly wrong

stringizing a list puts an extra space in the middle
02:28
02:31 gfldex left 02:32 gfldex joined 02:41 klapperl_ joined 02:42 treehug88 joined 02:44 treehug88 left 02:45 klapperl left 02:47 btyler joined 02:50 kaleem joined 03:07 kbaker left 03:13 dayangkun joined
dalek kudo/nom: e6c7baf | larry++ | src/core/metaops.pm:
[1,2] Xop <a b> now treats [] as item
03:21
ast: 4658683 | larry++ | S03-metaops/cross.t:
[1,2] Xop <a b> no longer todo
03:22
TimToady someone with an rt login can close RT74072 now 03:25
03:27 lostguy left 03:35 hoverboard left, water joined, water is now known as hoverboard 03:45 daniel-s_ left 03:46 daniel-s_ joined 03:51 vendethiel left 03:52 vendethiel joined 04:09 ph1ur3 left 04:10 jnap left
lue Looking at File::Find::find, I *think* the culprit for its slowness is one of the reify methods. 04:24
04:31 rurban joined 04:34 kaleem left 04:35 BenGoldberg left 04:41 jnap joined 04:45 jnap left 04:48 bjz left
dalek kudo/nom: dbbfc65 | larry++ | src/core/ (2 files):
define X in terms of X,
04:53
TimToady X now has the correct semantics with [1,2] as well 04:54
04:55 bjz joined
TimToady next, fix Z which has the same problems 04:55
r: say ([1,2] Z <a b>).perl 04:56
camelia rakudo-parrot e6c7ba, rakudo-jvm e6c7ba, rakudo-moar e6c7ba: OUTPUT«((1, "a"), (2, "b")).list␤»
dalek kudo/nom: 97d6149 | larry++ | src/core/LoL.pm:
define Z in terms of Z,
05:15
05:18 btyler left 05:33 araujo left 05:34 araujo joined 05:41 jnap joined 05:45 kaleem joined 05:46 jnap left, rurban left 06:17 Mouq joined 06:20 xinming_ left
raydiak if I attach files to an e-mail bug report, will they be added to the ticket it creates? 06:23
FROGGS_ RT #74072 06:32
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=74072
FROGGS_ TimToady: done (closed it) 06:34
raydiak: I think so
raydiak: just test it :o)
06:35 bjz left
raydiak FROGGS_: good point...thanks, will do :) narrowed down my precomp bug that was causing those test failures in Math::ThreeD 06:36
FROGGS_ .tell lostguy I'd recommend installing MSVC Express and rip out gmake/cygwin stuff if you can, this should work out. (perhaps use ActivePerl instead of strawberry also)
yoleaux FROGGS_: I'll pass your message to lostguy.
FROGGS_ raydiak++
I already wanted to ask hoelzro if he can golf it down some more
raydiak: then it might be the same bug as RT #121298 ? 06:37
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121298
raydiak nope, something different
a multi sub isn't being imported under certain circumstances 06:38
FROGGS_ raydiak: ohh
on all backends?
raydiak I'll try it on moar...what's the --target=
FROGGS_ mbc 06:39
raydiak k, hold on
FROGGS_ it is likely that I am able to fix you sub-export/import bug :o)
raydiak oh that'd be much nicer than leaving the tests commented out :) 06:41
06:42 avuserow3 is now known as avuserow
raydiak it's either taking a waaaay long time, or the process is hung 06:43
there's 2 modules, and one uses the other...but compiling the one with the use in it seems to go into an infinite loop 06:44
moritz good morning
raydiak good morning
grondilu a very basic Linear Algebra module using subtypes: github.com/grondilu/linalg 06:45
06:45 bjz joined
raydiak FROGGS_: yeah idk, it won't compile for me w/moar, but I'll write the bug report and then you can have a look at it yourself 06:47
06:47 denisboyun joined
raydiak grondilu++ 06:49
06:59 Mouq left
raydiak FROGGS_: RT #121319 07:02
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121319
07:05 ph1ur3 joined 07:06 hoverboard left 07:07 scottp joined 07:09 ph1ur3 left 07:12 skids left 07:17 xinming joined, sftp left 07:26 xinming left 07:27 xinming joined 07:28 FROGGS_ left 07:29 denisboyun left
masak morning, #perl6 07:49
mathw morning masak 07:52
timotimo morning, morning 07:55
07:55 FROGGS joined
mathw lo 07:55
masak hi
TimToady ho 07:58
FROGGS fa 08:03
08:04 denis_boyun joined 08:06 sftp joined
moritz hey 08:08
timotimo lue: did the callgrind show that MVM_string_flatten takes up a lot of time? 08:19
or MVM_get_codepoint_at_nocheck?
dalek ast: 13d65fe | larry++ | S03-metaops/zip.t:
list infix reductions no longer flatten

So that, for instance, [Z~] (1,2,3), <a b c> produces 1a 2b 3c. This is necessary now that X and Z ops no longer violate [1,2,3] itemness.
08:22
timotimo do these tests pass already on rakudo? 08:23
FROGGS yes, according to the clogs
timotimo yays 08:24
praise the toad!
FROGGS *g*
TimToady well, the fix for that particular thing is not in yet 08:25
FROGGS O.o
masak TimToady: it's very nice to see you on the implementor part of the fence.
TimToady I have the fix for [Z~] already, but am trying to coax [\Z~] into working with non-flattened input 08:26
08:28 mavcunha left 08:33 tgt joined 08:34 [Sno] joined 08:36 dmol joined
dalek kudo/nom: da8c1c2 | larry++ | src/ (2 files):
list infix reductions no longer flatten

Since we fixed X and Z metaops to not violate Scalar containers, we have to be able to pass a list of parcels to [Xop] and [Zop] and have each parcel treated as a separate list. The triangle forms also work (slowly, since they have to recalculate each stage from the start), but there is an unbox warning I don't understand yet.
08:36
masak TimToady++ 08:37
timotimo i haven't ever seen an "unbox warning" o_O 08:39
dalek ecs: ea21cb2 | larry++ | S03-operators.pod:
doc that [Xop] now does not flatten
08:41
TimToady > say [\X+] (1,2), (3,4), (5,6) 08:44
This type cannot unbox to a native integer
1 3 6 10 15 21
timotimo huh
... why is that not fatal? 08:45
08:45 skids joined
timotimo i can't wait until that timo person finally completes "parameterized builds" for perl6-bench 08:45
then i won't have to hack around the components.json to get the latest moar to test on :|
TimToady but I think the cross and zip metaops are doing some weird error trapping somewhere 08:47
I'd get fatal errors thrown with some of my mistakes, and they'd give a traceback and then continue to the next iteration somehow
moritz TimToady: on all backends?
TimToady I've only tested on moarvm mostly 08:48
moritz I'd only slightly be surprised if some backends get the continution thingy and exceptions wrong when mixed together
TimToady anyway, I think I'm done for the night now 08:50
probably done enough damage for one day
timotimo thanks for stopping by, TimToady
TimToady strange, I thought I lived here... 08:51
anyhoo, g'nite &
08:55 SamuraiJack_ joined
FROGGS gnight TimToady 08:55
08:57 sqirrel joined, tgt left 08:58 denis_boyun left 09:07 SamuraiJack_ left
masak g'nait, TimToady 09:10
09:10 SamuraiJack_ joined 09:23 smls joined 09:25 dakkar joined 09:38 xinming_ joined
jnthn o/ 09:41
09:41 xinming left
timotimo ohai jnthn 09:41
i'll have a long commute today during which i won't be able to work (as i'll be operating the car), but should i try to expand the fast-path in flatten_string to handle any number of rope pieces that have IS_WIDE set? 09:42
jnthn timotimo: Givne that's all we likely end up with these days, probably makes sense. 09:44
timotimo mhm
that should make a good dent into the whole performance situation 09:45
hopefully lue will hit that fast path with the pod work
09:53 zakharyas joined 09:56 xinming_ left 09:57 xinming joined 10:00 mavcunha joined 10:02 xinming_ joined 10:04 xinming left 10:08 Ven joined 10:11 xinming joined 10:14 xinming left, xinming_ left
nwc10 timotimo: rakudo/nqp/MoarVM HEAD pass all (own) tests on 32 bit linux for me. 10:17
timotimo \o/
FROGGS cool!
timotimo i saw a few valgrind messages pop up the other day, btw
nwc10 based on the commit message on MoarVM HEAD, I suspect that this is useful
timotimo didn't look deeply into it, but ...
nwc10 oh. bother. valgrind is usually correct 10:18
timotimo oh, the 32bit address confusion thing was about memcpy wanting bytes, rather than "number of things to copy"
so i had to multiply by 4 in the right places
but not on others, where adding to a pointer will increment by 4 bytes by virtue of the pointer being an int32 pointer
10:20 japhb joined
timotimo okay, afk for about 4 hours now 10:22
tadzik linux is funny: github.com/torvalds/linux/blob/mas...ize.c#L698 10:23
10:26 smls left, smls joined
masak tadzik: perfectly good explanations in the HN discussion. 10:26
tadzik: still a pretty badly named variable. 10:27
feeling after teaching Python for 1.5 days: it's a nice little language. probably an excellent first language. I could be productive in it, but I'm not sure about fulfilled. 10:33
10:35 zaydon joined 10:37 zaydon left
tadzik python's ecosystem made me appreciate how awesome CPAN is 10:38
moritz there's more than one way to install modules? :-)
tadzik to name them, too :)
ImportError: module MysqlDB not found. What's the name of the module to install? Of course! It's python-mysql! 10:39
10:39 berekuk joined
tadzik and duckduckgoogle is the only way I know to map one to the other 10:39
10:39 xinming joined
tadzik compare that to Perl, where you can almost pipe the error message to cpanm 10:39
10:40 fhelmberger joined
jnthn hah, that'd a neat Panda feature. Pipe the missing module error to it and it says "oh, it's X you want" :) 10:41
tadzik troo
jnthn "Would you like me to install that for you?" :)
tadzik or you could write a module that catches exceptions and installs modules 10:42
perl6 -MAutoInstall foo.pl
10:43 salv0 joined
jnthn ooh :) 10:43
tadzik seems perfectly doable too
jnthn So long as the user asks for it, it's a nice thing.
tadzik as long as a module can setup a global exception handler somehow
10:45 alc joined
jnthn The debugger does it, though it's a hack. :) 10:45
10:45 jnap joined
tadzik nothing wrong with a good hack :) 10:45
10:47 xinming left 10:49 mavcunha left, jnap left 10:51 mavcunha joined 10:53 donaldh left 10:54 xinming joined 10:55 donaldh joined 11:01 xinming_ joined
tadzik yay, TPF is in GSoC 11:01
11:04 [Sno]_ joined, xinming left 11:05 denisboyun joined 11:06 klapperl_ left, klapperl joined, [Sno] left, [Sno]_ is now known as [Sno] 11:07 xinming_ left
FROGGS tadzik: that would just be a CompUnitRepo with a low priority 11:09
11:16 xinming joined, kaleem left 11:21 xinming left 11:22 xinming joined 11:26 kaleem joined, kaleem_ joined 11:27 sqirrel left 11:28 kaleem left 11:33 xinming left, xinming joined 11:36 salv0 left 11:38 salv0 joined 11:39 salv0 left 11:45 salv0 joined 11:52 daniel-s__ joined 11:53 daniel-s_ left 11:55 [particle] joined 12:00 alc left 12:03 salv0 left 12:05 virtualsue joined 12:06 SamuraiJack_ left
colomon Last two nights the smoker failed to get by Rakudo compilation, don't have time to check details at the moment. :( 12:11
FROGGS :/
12:25 Timbus joined, SamuraiJack_ joined, salv0 joined 12:27 SamuraiJack__ joined, SamuraiJack_ left 12:28 klapperl left 12:30 klapperl joined 12:53 treehug88 joined 12:55 spider-mario joined 12:56 aindilis left, aindilis joined 13:01 rindolf joined 13:09 mavcunha left 13:15 SamuraiJack__ left, SamuraiJack__ joined 13:17 ph1ur3 joined 13:25 rindolf left 13:31 treehug88 left 13:32 JimmyZ left 13:33 JimmyZ joined 13:38 dayangkun left 13:40 kbaker joined, ph2ur3 joined 13:43 ph1ur3 left 13:46 ajr joined, ajr is now known as Guest52517, Guest52517 is now known as ajr_ 13:48 jnap joined 13:52 jnap left 13:53 FROGGS left, jnap joined 14:00 isBEKaml joined
isBEKaml Oh, TimToady++ on the implementers' side of the garden since the days of STD.pm6 :-) 14:04
14:04 virtualsue left
timotimo reached his destination 14:09
nwc10 rah! 14:10
did the car reach it too?
14:10 hoverboard joined
isBEKaml timotimo: Nice work on the p6weekly. Keep going! 14:11
timotimo i'll try :)
14:12 xragnar_ joined, xragnar is now known as Guest58926, Guest58926 left, xragnar_ is now known as xragnar
isBEKaml timotimo++ 14:13
14:19 _daniel-s__ joined 14:20 daniel-s__ left 14:23 aindilis left 14:30 rindolf joined 14:34 ph2ur3 left 14:36 SamuraiJack__ left, araujo left, araujo joined 14:37 virtualsue joined 14:40 btyler joined
TimToady r: say [X~] <1 2 3>, <a b c> 14:45
camelia rakudo-parrot da8c1c: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in method REIFY at gen/parrot/CORE.setting:8373␤ in method reify at gen/parrot/CORE.setting:7275␤ in method gimme at gen/parrot/CORE.setting:7720␤ in method push at gen/parrot/CORE.setti…» 14:46
..rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«1a 1b 1c 2a 2b 2c 3a 3b 3c␤»
rindolf Hmmm....
Ah, works in the JVM - does not in parrot. 14:47
TimToady r: say [\X~] <1 2 3>, <a b c>
camelia rakudo-moar da8c1c: OUTPUT«===SORRY!===␤This type cannot unbox to a native integer␤»
..rakudo-jvm da8c1c: OUTPUT«This representation can not unbox to a native int␤ in block at gen/jvm/CORE.setting:16510␤ in block at gen/jvm/CORE.setting:7499␤ in block at gen/jvm/CORE.setting:7501␤ in method reify at gen/jvm/CORE.setting:7527␤ in method reify at gen/j…»
..rakudo-parrot da8c1c: OUTPUT«This type cannot unbox to a native integer␤ in block at gen/parrot/CORE.setting:16758␤ in any coro at gen/parrot/CORE.setting:7539␤ in method reify at gen/parrot/CORE.setting:7520␤ in method reify at gen/parrot/CORE.setting:7262␤ in metho…»
[Coke] TimToady: do you care to be able to close RTs? 14:48
TimToady ooh, a backtrace
[Coke]: seems like a reasonable thing
TimToady has no idea whether he has an account there 14:49
r: say [10,20] Z* 1,2 14:50
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤»
TimToady r: say [10,20],3 Z* 1,2 14:51
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2 6␤»
14:51 water joined
TimToady god 14:51
*oo
14:52 hoverboard left 14:53 SamuraiJack__ joined, araujo left
[Coke] TimToady: I need a userid. I used to be able to pick from a dropdown and guess, but that's gone with the latest rt upgrade. 14:53
TimToady arguably, the arg processing I had to bake into Xop and Zop should be the correct semantics of **@args instead
14:53 water is now known as hoverboard
TimToady [Coke]: no idea 14:54
[Coke] sees his shipment is coming from fort worth, and wonders if pmichaud is back home.
TimToady: eh. you have a horde of people willing to close tickets, NBD.
TimToady++
smls ++TimToady: rosettacode.org/wiki/Brace_expansion#Perl_6 appears to be ironclad now :) 14:55
Also, it's nice to see that on Moar it runs more than twice as fast than on Parrot (for a simple benchmarck of 500 random-ish inputs)
timotimo smls: that must be after the concatenation fastpath :P 14:56
smls Not to mention that on Parrot, it exhibited a very noticable lag every second or so (caused by garbage collection, I would guess), whereas on Moar it keep up its performance pretty consistently afaict
timotimo: I'm using the rakudo-moarvm 2014.01-2 AUR package 14:57
jnthn++ # releasing Moar
spider-mario # making Arch Linux packages for Rakudo and Moar available
timotimo oh?!
smls spider-mario++ I meant 14:58
spider-mario thanks :p
14:59 FROGGS joined 15:00 stevan_ joined 15:01 _thou joined 15:02 stevan__ left 15:04 dalek left, dalek joined, ChanServ sets mode: +v dalek 15:06 kst`` is now known as kst 15:07 rurban joined
timotimo now has an opportunity to do reverse debugging 15:09
moritz what's "reverse debugging"? 15:13
"I know this piece of code is wrong; what harm does it do"?
timotimo the ability to run the program backwards and forwards :)
moritz oh 15:14
I know that as "time-travelling debugging"
timotimo ah, aye.
hm
rurban be sure you a SSD on /tmp. it can get superslow
timotimo i wonder why nqp still does the "copy these files over ten times" thing
rurban: i'm doing it on nqp, not rakudo. it was fine :) 15:15
and i was able to get very close to the position of the bug
benabik generally expects a RAMFS on /tmp these days.
smls yeah, on Arch Linux it's in RAM 15:16
(by default)
benabik Although apparently not on OS X. Hm. Boo, Apple, boo.
rurban nqp-p -j or -m?
15:16 ajr_ left
timotimo -m in this case 15:19
my flatten_string fastpath seems to have successfully built rakudo-moar now 15:21
lue: could you be so kind as to test it? the branch is called "flatten_fastpath" 15:22
15:23 d4l3k_ joined 15:24 dalek left 15:25 d4l3k_ is now known as dalek 15:29 treehug88 joined 15:30 sqirrel joined
Ven so, perl 6 got in GSoC :D ? 15:32
moritz well, Perl got :-) 15:33
nwc10 lucky Perl 3! You have friends at least
or at last
naughty fingers
TimToady p6: sub infix:<Y> (**@args) is equiv(&infix:<X>) { [Z~] @args }; say 1,2,3 Y <a b c> 15:34
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Slice parameters NYI at /tmp/tmpfile line 1:␤------> sub infix:<Y> (**@args⏏) is equiv(&infix:<X>) { [Z~] @args }; s␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/l…»
..rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Routine given to equiv does not appear to be an operator␤at /tmp/tmpfile:1␤------> ␤»
isBEKaml Did we have GSoC last year? I thought we did some under the TPF umbrella.
TimToady under Parrot, iirc
isBEKaml macros and p6doc is all I remember.
TimToady TPF was not GSoC last year 15:35
Ven r: sub foo($_) { .say; }; "a".foo; 15:36
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«No such method 'foo' for invocant of type 'Str'␤ in block at /tmp/tmpfile:1␤␤»
TimToady I think the JS backend to nqp by pmurias++ was GSoC under Parrot Foundation
isBEKaml Ah. So we didn't do any GSoC programmes last year?
TimToady we did, just not through TPF
Ven r: sub foo($_) { .say; }; "a".&foo;
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«a␤»
Ven rosettacode++
TimToady we snuck pmurias in under parrot instead
isBEKaml pmurias++ work, brrt++ (mod_parrot) work.
Ven discovering cool perl6 tricks, I don't think I saw "a.&b" in the synopsis. 15:37
TimToady yes, that's one of those features that people immediately start overusing :)
Ven true enough.
r: say [10,20] Z* 1
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤»
Ven r: say [10,20] Z* 1, 2
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤»
Ven r: say [10,20] Z 1, 2
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«10 20 1␤»
Ven r: say [10,20] Z [1, 2] 15:38
TimToady had the same bug as X
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«10 20 1 2␤»
TimToady r: say 10,20 Z 1,2
Ven TimToady: it had precedence issue ?
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«10 1 20 2␤»
TimToady no, it was violating the item-ness of []
now it doesn't
Ven err, okay. Either both sides are itemized, either none
TimToady ordinarily a list with [] in it is supposed to keep the [] as a single thing 15:39
but X and Z were unpacking it
Ven oh, okay
TimToady list infixes are infixes between lists, so they should play by the same rules as other lists
moritz does anybody know if there's an IRC channel for perl GSoC stuff?
Ven that looked expected to me, though. How do you use X with a [] now ?
moritz with .list on the []
15:40 virtualsue left
Ven I guess. moritz++ # obvious answer 15:40
TimToady r: say [+] [10,20]
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤»
TimToady see, same rules now as list prefix 15:41
moritz r: say [+] [10,20].list
Ven oh yeah, an array in numeric context is just its length
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«30␤»
moritz TimToady++ # sanity
isBEKaml moritz: probably, #soc-help on irc.perl.org
moritz isBEKaml: thanks
TimToady r: say [+] [10,20][]
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«30␤»
isBEKaml moritz: YW - sure enough - news.perlfoundation.org/2014/02/goo...-2014.html 15:42
TimToady that works too
r: say [+] @([10,20])
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«30␤»
TimToady or that
r: my @foo := [10,20]; say [+] @foo
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«30␤»
TimToady r: my $foo := [10,20]; say [+] $foo 15:43
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤»
TimToady r: my $foo := [10,20]; say [+] @$foo
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«30␤»
smls perl6: .say for <a b c d>.combinations; # from rosettacode.org/wiki/Power_set#Perl_6
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method combinations in type Parcel␤ at /tmp/tmpfile line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @…»
..rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«␤a␤b␤c␤d␤a b␤a c␤a d␤b c␤b d␤c d␤a b c␤a b d␤a c d␤b c d␤a b c d␤» 15:44
smls I get "Method 'combinations' not found for invocant of class 'Parcel'" locally
TimToady old rakudo
smls ok
TimToady was fixed within the last month, and getting () on the front a couple days ago
15:45 isBEKaml left
TimToady should probably have a "works with" on the RC entry 15:46
15:47 araujo joined 15:48 zakharyas left
timotimo i'll have benchmark results for the fast path for string flatten later today, but for now i'm off to do ... stuff :) 15:54
TimToady looks like maybe the next step is to actually attach properties to operators so that things like equiv work right, and so that we can write do real HOP with metaops, which are currently faked in Actions 15:55
r: say &infix:<Z+> 15:56
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared name:␤ &infix:<Z+> used at line 1␤␤»
TimToady and so that things like that can work
n: say &infix:<Z+> 15:57
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'infix:<Z+>' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6…»
TimToady I guess not even niecza is quite there 15:58
Ven r: my @foo = (10, 20); say [+] $@foo;
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤»
TimToady but it ought to just be function composition of some sort
Ven it all makes sense. ... Kinda 15:59
TimToady superstitious parens there
Ven I'd rather be explicit
PerlJam
.oO( this is a family channel! ;)
TimToady they're a bit misleading, insofar as the no-ops
*they're
Ven TimToady: you wrote it correctly the first time ;o) 16:00
TimToady indeed
Ven r: my @foo = 10, 20; say [+] $@foo; 16:01
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤» 16:02
16:02 kurahaupo_mobile joined
Ven What I don't like is `foo 1, 2` vs `foo (1, 2)` vs `foo(1, 2)` 16:02
PerlJam Ven: wait ... what exactly don't you like? 16:03
TimToady it isn't like P5 :)
smls seem much more sane to me, than in Perl 5
TimToady but P6 is very consistent on the subject of postfixes, so the middle parens cannot be a postfix 16:04
and the reason for the postfix policy is language extensibility
and leads to the general best practice of putting spaces around infixes 16:05
you can write 1*2, but then what if someone adds a postfix:<*> operator?
r: sub postfix:<*>($x) { $x + 42 }; say 1 + 2; say 1* 16:06
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«3␤43␤»
TimToady r: sub postfix:<*>($x) { $x + 42 }; say 1 * 2; say 1*2 16:07
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> x:<*>($x) { $x + 42 }; say 1 * 2; say 1*⏏2␤ expecting any of:␤ …»
TimToady r: sub postfix:<*>($x) { $x + 42 }; say 1 * 2; say 1*
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«2␤43␤»
jnthn r: sub postfix:<*>($x) { $x ~ "\n* We didn't say which one!" }; say "Perl 6 will be done by Christmas"* 16:08
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«Perl 6 will be done by Christmas␤* We didn't say which one!␤»
jnthn The disclaimer postfix :P
TimToady looks ‡ at jnthn++ 16:09
ashleydev is ',' an infix?
TimToady yes
ashleydev but doesn't get surrounded with spaces?
TimToady and, in fact, Z is now defined (as of yesterday) as Z,
nobody in their right mind is going to write postfix:<,> :) 16:10
ashleydev go on finish your sentence
TimToady :P
so while you can write "1 , 2", I don't expect that one to become a best practice 16:11
PerlJam Actually, isn't it the right mind that *would* do such a think because it's the center of creativity? :)
s/think/thing/
TimToady and it may be that best practice will settle on 1*2 rather than admitting a possible postfix:<*>, but that's really kinda up to the community to vote 16:12
smls for one, likes the way P6 parses function calls and operators
TimToady PerlJam: you right mind is really on your left :)
smls glad that the P5 function call ambiguity is gone
print " Hello"; # original code 16:13
PerlJam smls: amen!
smls print (" " x $indent)."Hello"; # adding a little feature... looks harmless enough, right?
--> BUG
benabik circumfix:<*> so you can *$emphasize* things?
16:13 denisboyun left
TimToady would have to be circumfix:<* *> 16:13
benabik D'oh
TimToady but note the collision with term:<*> 16:14
ashleydev so infix w/o space is ambiguous only when there's a postfix of the same name?
TimToady yes
benabik Hm. Circumfix and prefix have to worry about collisions with term. 16:15
TimToady and most infixes are more readable with spaces anyway
yes, we only really have three syntactic slots there
term, postfix, and infix
prefix and circumfix are in with term
benabik prefixes are just terms that expect another expression as postfix? 16:16
TimToady and we can't really afford to parse differently based on whether there's a closer
16:16 SamuraiJack__ left
TimToady benabik: I wouldn't say it that way, since that's outside the technical meaning of "postfix" in P6 culture, but yeah 16:16
prefixes just recursivel expect another term, until you really find a term 16:17
*ly
much like regex assertions have internal prefixes like <?foo> that just reparse as if you'd written <foo> 16:18
people can figure out much smarter parsers that can decipher all sorts of tangled language, but such parsers force the user to be as smart as the parser 16:19
so we opt for a few ironclad rules instead 16:20
one-pass, self-clocking terms, no ws before postfix
very limited backtracking
P6 only backtracks in two spots, that I recall 16:22
distinguishing [+] from [1]
and finding the final brackets in interpolating a string like "$foo.bar().baz" 16:23
ashleydev what's [1] for?
TimToady it's an array with a 1 in it
both of those occur in term position
but reduction operators are pretty easy to recognize 16:24
first, they don't allow space, so [ 1 ] is always an array
second, the namespace of infix operators is pretty easy to recognize, and fairly distinct from array literals
kurahaupo_mobile TimToady: so [+] is matched by the parser rather than the lexer? 16:25
TimToady yes, in fact
since the lexer is limited to DFA semantics, the recursive nature of metaops would explode a lexer that tried to do the whole thing
believe me, I tried 16:26
so the LTM is really just [
and then it backtracks if it can't get an infix followed by a ]
it's one of those massive DWIMs that almost never triggers a WAT 16:27
16:27 Ven left
TimToady because visually reduce ops are so distinct from array literals 16:27
in P6 we try to avoid most of the low-luminosity dwims from P5, and instead choose a few high-luminosity dwims 16:29
16:29 [Sno] left
TimToady reduce ops is one, so is smartmatching 16:29
kurahaupo_mobile so really its own little layer between the lexer & parser? 16:30
PerlJam TimToady: woolfy & lizmat need to get you some wooden coins with DWIM on one side and WAT on the other :)
16:30 salv0 left
kurahaupo_mobile how does the parsing of meta ops interact with the precedence of the constructed op and its effect on the outer parser? 16:31
TimToady well, that's what I was mentioning earlier as a deficiency in rakudo
kurahaupo_mobile has been away too long and doesn't recognize "WAT" 16:32
TimToady which fakes some things in the compiler that should really be done with higher-order functions, but we can't until the functions carry their own associativity properties
see S99:911 re WAT 16:33
synopsebot Link: perlcabal.org/syn/S99.html#line_911
16:34 araujo left 16:35 araujo joined, skids left
TimToady funny how that's line 911 16:36
16:39 ph1ur3 joined
kurahaupo_mobile thanks but can't view the video on this device 16:44
smls kurahaupo_mobile: In a nutshell, it's the safe-for-work version of WTF 16:46
:P
TimToady What Are That!?!
16:47 sqirrel left
kurahaupo_mobile ah, thanks 16:49
TimToady Woe And Tragedy!
16:57 kaleem_ left, kaleem joined
masak Warts Are Typical 16:57
16:57 kaleem left
vendethiel TimToady: how do you distinguish array with constants in them then ? 16:57
r: constant Z = 1;
camelia ( no output )
masak WAT Ain't TLA
vendethiel r: constant Z = 1; my $ary = [Z]; say $ary; 16:58
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«(timeout)»
17:02 treehug8_ joined
TimToady it tries for a reduce first, so say [ Z ] if you mean the other thing 17:04
or [Z,]
wait, that won
't work
:)
17:04 SamuraiJack__ joined 17:05 treehug88 left
TimToady r: say [Z,]((1,2,3),<a b c>)).perl 17:05
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unexpected closing bracket␤at /tmp/tmpfile:1␤------> say [Z,]((1,2,3),<a b c>)⏏).perl␤»
17:05 dmol left
TimToady r: say [Z,]((1,2,3),<a b c>).perl 17:06
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«((1, "a"), (2, "b"), (3, "c")).list␤»
TimToady r: say [Z, ]((1,2,3),<a b c>).perl
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared name:␤ Z used at line 1␤␤»
TimToady that "works" :)
but is no shorter than [ Z ]
or use a better Z 17:07
17:08 frusen joined
TimToady r: constant 𝐙 = 1; say [𝐙].perl 17:09
camelia rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Missing initializer on constant declaration␤at /tmp/tmpfile:1␤------> constant ⏏𝐙 = 1; say [𝐙].perl␤ expecting any of:␤ stat…»
..rakudo-parrot da8c1c: OUTPUT«[1]␤»
TimToady m: say '𝐙'.ord.base(16) 17:10
camelia rakudo-moar da8c1c: OUTPUT«1D419␤»
TimToady m: say so '𝐙' ~~ /\w/ 17:11
camelia rakudo-moar da8c1c: OUTPUT«False␤»
TimToady p: say so '𝐙' ~~ /\w/
camelia rakudo-parrot da8c1c: OUTPUT«True␤»
TimToady interesting
r: constant term:<𝐙> = 1; say [𝐙].perl
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«[1]␤»
TimToady n: say so '𝐙' ~~ /<:Alpha>/ 17:12
camelia niecza v24-109-g48a8de3: OUTPUT«True␤»
TimToady r: say so '𝐙' ~~ /<:Alpha>/
camelia rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«False␤»
..rakudo-parrot da8c1c: OUTPUT«True␤»
TimToady hmm
did the UC change their mind on those? 17:13
r: constant Z = 1; say [Z].perl 17:15
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«[1]␤»
17:18 fhelmberger left
TimToady maybe we should allow the mathematical symbols as terms anyway 17:19
or we could go as far as to make constant accept anything as a term that is surrounded by whitespace
then we'd get all the math symbols for free 17:20
whether they're alpha or not
can anyone think of the WAT of that? 17:22
masak is fine with that
the WAT will probably only affect people who don't put in their whitespace.
which feels like an OK corner to sweep a WAT into.
PerlJam constant + = 5; # ?
17:23 frusen left
TimToady well, plenty of skyhook to nuke yourself in the bedrock 17:23
masak PerlJam: technically not worse than * being a term. 17:24
TimToady
.oO(higher order snowclones)
PerlJam true
TimToady well, but we don't also have * as a prefix, you'll note 17:25
ashleydev what's the usecase of * as a term?
TimToady r: constant term:<➕> = 5; say +➕ 17:26
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«5␤»
TimToady ashleydev: you can use it for whatever you like
r: say (1..*)[^10] 17:27
ashleydev ah as in whatever?
yes
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
PerlJam
.oO( not having prefix:<*> is clearly an oversight by our esteemed language designer ;)
17:28
ashleydev r say 2*2
r: say 2*2
camelia rakudo-parrot da8c1c, rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«4␤»
masak TimToady: thinking about it an extra time, I think 'constant term:<+>' is rather nicely huffmanized for that. 17:29
PerlJam: at one point, we had prefix:<=> :P 17:30
17:32 myfree joined
TimToady masak: the counterargument is that we're at the mercy of the unicode consortium not to move things into and out of alpha, which may have happened here 17:32
17:33 hoverboard is now known as NSAman, denisboyun joined
TimToady r: say so '𒉑' ~~ /\w/ 17:34
camelia rakudo-jvm da8c1c, rakudo-moar da8c1c: OUTPUT«False␤»
..rakudo-parrot da8c1c: OUTPUT«True␤»
TimToady or maybe those implmentations are just buggy
17:35 [Sno] joined
TimToady that's a great cuneiform character 17:36
somehow, most of them end up looking biological
PerlJam yeah, I was gonna ask if that's "angular fish" or something 17:37
masak TimToady: seems to me any version of Perl 6 (the spec) should (a) tie itself to a particular version of Unicode and its notion of alpha, and (b) never move things out of alpha once they're in, for the sake of backwards compat.
TimToady r: say "\c[CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU]" 17:38
camelia rakudo-moar da8c1c: OUTPUT«􏿽xF0􏿽xAF􏿽xA6􏿽xB4􏿽xE2􏿽x90􏿽xA4»
..rakudo-jvm da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU␤at /tmp/tmpfile:1␤------> EIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU⏏]"␤»
..rakudo-parrot da8c1c: OUTPUT«𒉑␤»
PerlJam buggy it is!
TimToady r: say "\c[CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU]".ord.base(16)
camelia rakudo-moar da8c1c: OUTPUT«2F9B4␤»
..rakudo-jvm da8c1c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU␤at /tmp/tmpfile:1␤------> EIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU⏏]".ord.base(16)␤»
..rakudo-parrot da8c1c: OUTPUT«12251␤»
17:39 NSAman is now known as hoverboard
jnthn Moar's char lookup is known busted :/ 17:39
TimToady JVM's anything unicode is known busted :/
jnthn Just stay in the BMP and all is well :P 17:40
TimToady but there are lots of things that don't go BMP in the night
jnthn The char lookup thing is thanks to busted code-gen somewhere in the unicode database => c thing, which is a Perl 5 script... 17:41
timotimo t.h8.lv/p6bench/2014-02-25-flatten_fastpath.html - i made a thing
wow, holy crap 17:43
the performance is rc-forest-fire tanked *massively* since the release
PerlJam timotimo: the dips on the _concat graphs are because of string handling inefficiences I take it? 17:44
jnthn timotimo: All the for looping things have gotten slower too
timotimo: I suspect your tests are not on the same Rakudo revision...
But yeah, we should figure out what hurt forrest fire so badly. 17:45
That can't just be "for got a bit slower"
'cus it's a huge change rather than a minor one.
TimToady well, I wouldn't be surprised if it's a laziness vs reify issue 17:49
having removed the faulty batching logic from mapiter, it falls to other reifys to decide batching policies
and doubtless some of those could use more context to decide right 17:50
range's reify was easy because it has no side effects
I'm guess array's reify might need tweaking here 17:51
timotimo jnthn: aye, different rakudo revision 17:52
didn't wo make fors better?
hmm.
TimToady it's also possible that the X and Z fixes had some unanticipated impact here
timotimo rc-forest-fire does use X 17:53
i'll re-run it with a 2014.02 rakudo but with a flatten_fastpath moar.
17:54 kurahaupo_mobile left 17:55 myfree left
jnthn time for dinner...bbl 17:55
timotimo jnthn: could we put a null-check after the malloc for the buffer in flatten_string and cause a garbage collector run?
PerlJam: which dip exactly do you mean? 17:57
17:57 dakkar left
timotimo PerlJam: that moar gets progressively slower than the other backends? 17:57
PerlJam aye
timotimo yes, that's the exact cause 17:58
the fastpath helps mitigate the slowness, but it doesn't improve the algorithmical complexity problem
colomon This type cannot unbox to a native integer 17:59
in block at bin/panda:44
timotimo i'm glad the performance improvement via the fastpath is so noticable
18:05 [particle]1 joined 18:07 sftp left, [particle] left, scottp left 18:08 sftp joined, skids joined 18:10 awwaiid_ joined 18:17 SamuraiJack__ left 18:20 awwaiid left, btyler left 18:21 _sri left, btyler joined 18:22 rurban left
timotimo t.h8.lv/p6bench/2014-02-25-flatten_fastpath.html - refresh for new data 18:23
18:23 _sri joined 18:24 scottp joined
timotimo indeed, using the 2014.02 rakudo (and a master nqp), we get the same performance for "for" stuff as before and the same performance (or a tiny bit beter) for concat stuff 18:24
TimToady so it's not my fixes? 18:26
timotimo no, it is your fixes
TimToady okay
timotimo "as before" == "as in 2014.02"
colomon last thursday, right? 18:27
timotimo er, eqv or eq i guess :P
yes
TimToady I just figured it's still 2014.02 :)
18:27 dmol joined
timotimo ;) 18:27
timotimo does a spectest run with fastpath'd moarvm to determine if a merge to master would be wise 18:30
vendethiel smls: sorry, I'm back. wrt to `foo 1, 2` vs ..., I actually never used P5, so I can't vouch for that. It just seems like I can't tell what'd happen 18:32
timotimo TimToady: need any more specific infos to figure out where the performance regression came from? 18:33
18:34 isBEKaml joined
TimToady well, cacheing ^$!height X ^$!width speeds it up considerably 18:35
timotimo at some point, the optimizer ought to cheat massively if it sees something like that 18:37
TimToady yeah, but just using state @coords = ^$!height X ^$!width speeds it up about 2.5 times 18:38
so either X itself, or the reification of X wrt map
timotimo t/spec/integration/advent2009-day06.rakudo.moar - this one either infiniloops or became very, very slow
[Coke] (unicode versioning) I would prefer we allow the ability to respect certain versions of unicode lexically. 'use unicode v6.2;' - and have a docs on how that can impact the compiler. 18:40
TimToady hypers are probably using zips inside 18:41
timotimo i don't think so 18:42
let me check
dalek rl6-roast-data: e1fcd5e | coke++ | / (6 files):
today (automated commit)
18:43
timotimo it does use Z
18:44 xinming_ joined
[Coke] all distributions failing spec tests as of yesterday. 18:44
TimToady now testing to see if defining X in terms of X, is the problem
and whether the [] fix is what's hanging that test 18:45
18:45 jnap left
timotimo thank you kindly 18:45
18:45 Rotwang joined 18:47 xinming left
timotimo that test file is slowly, slowly growing 18:50
TimToady it's the X/Z to X,/Z, mapping that is causing both the slowdown and the test hang, seemingly
timotimo ah
TimToady so there may be some []-bug dependencies in hypers 18:51
timotimo i'm not sure why that follows, but okay
TimToady will revert the bare X/Z changes for now till I understand it better 18:52
timotimo i'm glad i accidentally ran the benchmarks with the most current rakudo changes :)
18:53 mavcunha joined
TimToady it's also possible there are dependencies on the [] bug for Xop/Zop, but just the bare X/Y revert fixes the test hang 18:53
nwc10 timotimo: interesting results. the fast path stuff looks to be very useful. Interesting to confirm that JVM wins (mostly) for lots of iterations 18:55
but very curious that parrot string handling wins, even against the JVM
timotimo that's jvm for you :)
TimToady crum, I mixed up some patches, will revert the old fashioned way 18:56
timotimo yes, they're doing something better than us and we should totally steal whatever that is ;)
and then improve upon that
[Coke] jvm string handling is for Java Strings, not Perl 6 Strings, IIRC.
(so, still some work to be done optimizing strings on jvm)
nwc10 yes, embrace and extend
timotimo i wonder what caused the caps.t breakage 18:57
18:57 isBEKaml left
nwc10 [Coke]: Moar beat parrot in your report! 18:57
yes, failures suck, and "inexcusable" (in that fudge exists)
dalek kudo/nom: 5366ae9 | larry++ | src/core/LoL.pm:
hand revert def of X/Z in terms of X,/Z,
18:58
timotimo huh, how did that happen
TimToady caps depends on unicode props, no? 18:59
timotimo aye, but this is about :alpha
<.alpha>, even
and <.punct> and <ident>
TimToady anyway, for now, use X and Z for speed, and X, and Z, for correctness if you have [] args 19:00
timotimo i hope we can get the correctness soon, otherwise that seems like a pretty big WAT 19:01
TimToady yes, I'm hoping the slowdown is not related to correctness, but merely de-fastpathing 19:04
but I also suspect that if I fix the speed, the hyper test will hang even faster :) 19:05
s/speed/correctness/
I already fixed the speed once :) 19:06
19:07 dmol left
TimToady
.oO(SPEED ENFORCED BY RADAR) "But officer, the sign said speed was enforced here, not lack of speed."
19:10
19:11 dmol joined, ajr joined 19:12 ajr is now known as Guest88241, Guest88241 is now known as ajr_ 19:15 dmol left 19:18 dmol joined 19:27 dmol left
timotimo speed enforced by toad 19:30
TimToady Mr Toady's Wild Ride 19:32
19:33 dmol joined
FROGGS Are we there yet? 19:34
TimToady in gaol, you mean? 19:37
19:38 pippo joined
FROGGS does not even know what/where gaol is 19:39
19:40 treehug8_ left
nwc10 FROGGS: this: en.wiktionary.org/wiki/gaol 19:41
and where Mr Toad ends up, IIRC, after committing some or other motoring offence
en.wikipedia.org/wiki/The_Wind_in_the_Willows
FROGGS ahh 19:42
19:42 telex left
FROGGS see, I learned something today :o) 19:42
19:44 telex joined 19:46 rurban joined
lue timotimo: sure, I'll go ahead and recompile MVM/NQP/Rakudo for you, see if it offers improvement :) . 19:54
[Coke] .tell diakopter I need a password reset on host06, as my keys stopped working today (and I promptly forgot the password once I had the keys setup) 19:56
yoleaux [Coke]: I'll pass your message to diakopter.
timotimo lue: did you see the benchmarks i posted? 20:00
if the string stuff is at all your bottleneck, it ought to be better now.
grondilu rn: subset Vector of Array where -> @c { [&&] map {$_ ~~ Numeric}, @c }; multi infix:<*>(Numer
timotimo except join. join seems completely untouched. 20:01
grondilu ic $x, Vector $v) {}; say 4 * [1, 1]
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤This macro cannot be used as a function at /tmp/tmpfile line 1:␤------> re -> @c { [&&] map {$_ ~~ Numeric}, @c ⏏}; multi infix:<*>(Numer␤␤In parameter declaration, typename 'Numer' must b…»
..rakudo-parrot 5366ae, rakudo-jvm 5366ae, rakudo-moar 5366ae: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Invalid typename 'Numer' in parameter declaration.␤at /tmp/tmpfile:1␤------> ~~ Numeric}, @c }; multi infix:<*>(Numer⏏<EOL>[0…»
grondilu rn: subset Vector of Array where -> @c { [&&] map {$_ ~~ Numeric}, @c }; multi infix:<*>(Numeric $x, Vector $v) {}; say 4 * [1, 1]
camelia rakudo-jvm 5366ae: OUTPUT«Circularity detected in multi sub types␤ in any at gen/jvm/BOOTSTRAP.nqp:901␤ in any at gen/jvm/BOOTSTRAP.nqp:885␤ in any at gen/jvm/BOOTSTRAP.nqp:956␤ in sub infix:<*> at gen/jvm/CORE.setting:4019␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤This macro cannot be used as a function at /tmp/tmpfile line 1:␤------> re -> @c { [&&] map {$_ ~~ Numeric}, @c ⏏}; multi infix:<*>(Numeric $x, Vector $v␤␤Potential difficulties:␤ $x is…»
..rakudo-moar 5366ae: OUTPUT«Circularity detected in multi sub types␤ in sub infix:<*> at src/gen/m-CORE.setting:4019␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 5366ae: OUTPUT«Circularity detected in multi sub types␤ in any at gen/parrot/BOOTSTRAP.nqp:914␤ in any at gen/parrot/BOOTSTRAP.nqp:884␤ in any at gen/parrot/BOOTSTRAP.nqp:970␤ in sub infix:<*> at gen/parrot/CORE.setting:4023␤ in block at /tmp/tmpfile…»
[Coke] arglebargles.
grondilu is not sure why there should be a circularity here :/ 20:02
lue timotimo: what's the difference between with_flatten_fastpath and vanilla_flat_fastpath ? 20:03
timotimo the first of the two has TimToady++'s not quite optimal Z and X changes 20:06
vanilla_ is based on rakudo/2014.02 directly 20:07
lue I just pulled latest moar, nqp, and rakudo, sooo... :) 20:09
timotimo the very much latest rakudo has the performance-critical parts of the Z and X changes reverted 20:15
20:29 Vlavv left 20:32 Mouq joined 20:33 vendethiel left
Mouq Has anyone else looked at the failures in S05-capture/caps.t? 20:34
20:34 treehug88 joined 20:39 berekuk left 20:40 berekuk joined 20:42 Gothmog_ joined, Vlavv joined
Mouq r: List ~~ Positional 20:42
p6: say List ~~ Positional
Is camelia out sick?
20:42 xfix left
camelia ( no output ) 20:42
rakudo-parrot 5366ae, rakudo-jvm 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«True␤»
20:43 xfix joined 20:47 xfix left 20:53 xfix joined
masak p6: say "is camelia out sick?" 20:54
camelia rakudo-parrot 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«is camelia out sick?␤»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
colomon :\
masak guess that answers it.
20:54 rurban left
Mouq p6: say "a b c d" ~~ /[(\w) \s*]+/ 20:56
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«「a b c d」␤ 0 => 「a」␤ 1 => 「b」␤ 2 => 「c」␤ 3 => 「d」␤␤»
..niecza v24-109-g48a8de3: OUTPUT«「a b c d」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤ 0 => 「d」␤␤»
Mouq ^^ something got borked here 20:57
20:57 Guest23735 joined, Guest23735 left
Mouq I'm kinda surprised that we only have one failing test file because of this, actually 20:57
timotimo oh my 21:00
p6: "a b c d" ~~ /[(\w) \s*]+/; say $0; say $1; say $2;
camelia rakudo-parrot 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«「a」␤ 「b」␤ 「c」␤ 「d」␤␤(Any)␤(Any)␤»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
21:00 bjz left
Mouq is more confused now 21:00
timotimo it seems to only be the string output?
21:00 erkan left
masak Mouq: there's only $0. 21:01
timotimo like, the stringification of the match object?
oh, huh.
Mouq timotimo: No, this has to do with how it .lists...
timotimo hm, maybe
Mouq Or the output of that
anyway
masak p6: "a b c d" ~~ /[(\w) \s*]+/; say $0.perl 21:02
camelia rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«(Match.new(orig => "a b c d", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "a b c d", from => 2, to => 3, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "a b c d", …»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..niecza v24-109-g48a8de3: OUTPUT«(#<match from(0) to(1) text(a) pos([].list) named({}.hash)>, #<match from(2) to(3) text(b) pos([].list) named({}.hash)>, #<match from(4) to(5) text(c) pos([].list) named({}.hash)>, #<match from(6) to(7) text(d) pos([].list) named({}.hash)>).list.item␤»
21:02 rindolf left
Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $/.list.perl 21:03
camelia niecza v24-109-g48a8de3: OUTPUT«((#<match from(0) to(1) text(a) pos([].list) named({}.hash)>, #<match from(2) to(3) text(b) pos([].list) named({}.hash)>, #<match from(4) to(5) text(c) pos([].list) named({}.hash)>, #<match from(6) to(7) text(d) pos([].list) named({}.hash)>).list.item…»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«((Match.new(orig => "a b c d", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "a b c d", from => 2, to => 3, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "a b c d",…»
masak p6: "a b c d" ~~ /[(\w) \s*]+/; say $/.elems 21:04
camelia rakudo-parrot 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«1␤»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
21:04 Rotwang left
Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; say $/.pairs 21:04
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤» 21:05
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«0 => Match.new(orig => "a b c d", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()) 1 => Match.new(orig => "a b c d", from => 2, to => 3, ast => Any, list => ().list, hash => EnumMap.new()) 2 => Match.new(orig =>…»
..niecza v24-109-g48a8de3: OUTPUT«0 => (#<match from(0) to(1) text(a) pos([].list) named({}.hash)>, #<match from(2) to(3) text(b) pos([].list) named({}.hash)>, #<match from(4) to(5) text(c) pos([].list) named({}.hash)>, #<match from(6) to(7) text(d) pos([].list) named({}.hash)>).list.…»
masak r: my %h = foo => [1, 2, 3]; for %h<foo> { .say } 21:07
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«1 2 3␤»
masak r: my %h = foo => [1, 2, 3]; for %h<foo>[] { .say }
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«1␤2␤3␤»
masak fary nuff.
21:07 zakharyas joined
Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; for $/.pairs { .key.say } 21:08
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«0␤1␤2␤3␤»
..niecza v24-109-g48a8de3: OUTPUT«0␤»
21:09 rurban joined
Mouq Ok, the problem is TimToady++'s change to List.pairs 21:10
Or. Maybe. I often feel I speak too soon
But it's a possibility
lue timotimo: this may be just me perceiving wrong, but so far the backlink generation step feels more constant (progress indicator ticking at a constant rate), and also slower. 21:12
Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; for $/.values { .say }
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..niecza v24-109-g48a8de3: OUTPUT«「a」␤ 「b」␤ 「c」␤ 「d」␤␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«「a」␤␤「b」␤␤「c」␤␤「d」␤␤»
Mouq p6: "a b c d" ~~ /[(\w) \s*]+/; for $/.list.values { .say } 21:13
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..niecza v24-109-g48a8de3: OUTPUT«「a」␤ 「b」␤ 「c」␤ 「d」␤␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«「a」␤␤「b」␤␤「c」␤␤「d」␤␤»
lue suspects running on the JVM would be a good comparator, as opposed to compiling an un-branched moar
timotimo lue: slower? :(
perhaps it'd be better to use rakudo-2014.02 instead of master? 21:14
but i don't want to use up so much moar of your time
especially since i won't have perl6 tuits for most of tomorrow anywa
anyway
lue timotimo: I suspect, if my perception is right, that stuff that would've blazed by isn't, and stuff that would've taken a while is faster. (constant, but at a seemingly slower rate than the fast stuff)
timotimo ho-hum. 21:15
anyway, i would be glad if someone could review, spectest and perhaps merge my fastpath branch for moarvm tomorrow
i'm off to bed
gnite!
Mouq night timotimo
*!
:P
lue timotimo: it's fine, the only big thing left is to use the fragments in backlinks, and speediness of various steps is just as important at this point :) . 21:17
timotimo i'm ... not sure how to interpret that? 21:18
21:19 Rotwang joined 21:22 rurban left
lue I get the feeling it's about time I switched to panda/eleven : "This type cannot unbox to a native integer" :( 21:27
masak 'night, #perl6 21:32
lue Or not, guess that's fine.
TimToady o/
lue masak o/
colomon \o 21:33
lue "Could not find Shell::Command in any of:" from panda/eleven :/
21:37 virtualsue joined
Mouq r: ((1,2),).pairs 21:38
camelia ( no output )
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
21:39 mavcunha left
lue any way I can install either panda or panda/eleven ? I'm getting issues with the latest of everything. 21:40
21:40 rurban joined 21:41 xfix left 21:42 hoverboard left
Mouq Here's the problem: 21:42
r: ((1,2),).pairs.say
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«0 => 1 1 => 2␤»
Mouq Used to be 0 => $(1, 2)
Dunno which is correct, but the way things are breaks things 21:43
21:43 erkan joined, erkan left, erkan joined, xfix joined
lue depends on if parcel-in-parcel is supposed to flatten there. 21:44
Mouq p6: : ((1,2),).pairs.say
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Bogus statement at /tmp/tmpfile line 1:␤------> <BOL>⏏: ((1,2),).pairs.say␤␤Parse failed␤␤»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Bogus statement␤at /tmp/tmpfile:1␤------> <BOL>⏏: ((1,2),).pairs.say␤ expecting any of:␤ statement list␤ prefix or ter…»
Mouq p6: ((1,2),).pairs.say
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«0 => 1 1 => 2␤»
Mouq Huh. 21:45
21:46 xinming joined
Mouq p6: [(1,2),].pairs.say 21:46
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«0 => 1 1 => 2␤»
Mouq p6: ([1,2],).pairs.say
camelia rakudo-parrot 5366ae, rakudo-moar 5366ae, niecza v24-109-g48a8de3: OUTPUT«0 => [1, 2]␤»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
21:46 smls left 21:48 virtualsue left
dalek kudo/nom: 0de140a | larry++ | src/core/metaops.pm:
Xop and Zop could clobber input array
21:48
TimToady (also fixed tabbing) 21:49
21:49 zakharyas left, xinming_ left
lue Mouq: S07: "A Parcel is also Positional, and uses flattening context for list operations such as .[] and .elems." 21:50
Don't know if .pairs is one such method though.
TimToady: is .pairs supposed to flatten a parcel? (Or rather, is .pairs considered a "list operation" ?)
Mouq lue: I think the problem lies within Capture.pm 21:51
lue: Because I think current behavior wrt .pairs is correct
[Coke] moritz: ping. 21:52
21:53 tgt joined 21:57 _thou left, _thou joined 21:58 rurban left 21:59 cxreg2 is now known as cxreg, rurban joined 22:02 rurban1 joined 22:04 bjz joined, rurban left, bjz left 22:05 bjz joined
Mouq r: ((5,4,3),(1,2,(6,3),6),(9,2),1).list.lol.list.perl.say # bug? 22:06
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«LoL.new(ListIter.new())␤»
22:08 kbaker left, ph1ur3 left
lue Hm, I kinda feel like writing a thing for the docs about parameters (introducing you to gradually more complex things with them); should I improve "Signature Literals" in the signature doc, make a separate doc, or pull out the "Signature Literals" section and improve that? 22:11
Mouq fixed it!
lue \o/
Mouq Oh.
Nope -_- sorry 22:12
22:14 hoverboard joined
Mouq I was pretty sure s/List/Array/ here would do it github.com/rakudo/rakudo/blob/nom/...sor.pm#L26 22:14
r: say nqp::islist((1,)) 22:18
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«0␤»
Mouq r: say nqp::islist([1,])
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«0␤»
Mouq r: say [1,].WHAT 22:19
camelia rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«(Array)␤»
..rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
jnthn Mouq: nqp::islist means "does it have VMArray REPR", really
Mouq r: say nqp::islist([1,].list) 22:20
jnthn Or "is it an RPA" on Parrot
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«0␤»
22:20 mavcunha joined, btyler left
jnthn You're never going to get it to say yes to a Perl 6 Array or List, as those are P6opaques. 22:20
Mouq jnthn: Ok, thank you
r: (1,2).Array.perl.say 22:21
camelia rakudo-jvm 5366ae: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 5366ae, rakudo-moar 5366ae: OUTPUT«Array.new(1, 2)␤»
lue suspects the "lib" directory of perl6/doc will before long need more subdirs :)
22:28 lizmat left
TimToady spectesting a fix for [] bug in bare X and Z now 22:30
sure seems like .flat should be testing for Scalar wrappers and listifying instead of flattening
22:30 kst left
TimToady also, **@lol is useless, have to use |lol instead 22:32
TimToady is thinking that **@lol ought to (optionally?) have the .flat method (including a Scalar test) built in at the second level 22:34
also, we're doing a lot of list cloning 22:35
**@lol is copy, maybe 22:36
22:41 Mouq left, stevan_ left
TimToady p6: say rand 22:42
camelia rakudo-moar 0de140: OUTPUT«0.537522225703911␤»
..rakudo-jvm 0de140: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..niecza v24-109-g48a8de3: OUTPUT«0.79203566200660336␤»
..rakudo-parrot 0de140: OUTPUT«0.349981961396651␤»
TimToady r-j bug?
j: say defined rand
camelia rakudo-jvm 0de140: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
TimToady j: say 42
camelia rakudo-jvm 0de140: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
TimToady just in a bad state, i guess
lue yeah, r-j is busted for camelia :( 22:43
22:44 stevan_ joined 22:45 lizmat joined 22:46 xinming_ joined
lue What the \foo type of variable called again? "sigilless" ? 22:49
22:49 Rotwang left
TimToady that's one name for 'em 22:50
22:50 xinming left
TimToady or it's a parcel binding 22:50
my \foo = is a form of SSA
insofar as it allows only one alias 22:51
jnthn That's the thing r-j tends to give when the evalserver fails
TimToady so "alias" is another term for it
ashleydev SSA? 22:54
(it's not in the glossary)
lue "Static single assignment", I believe. 22:55
22:59 treehug88 left 23:01 dmol left
dalek ast: 20f286c | larry++ | S03-metaops/reduce.t:
test assumes [] bug, change to <>
23:03
kudo/nom: 76f1e0d | larry++ | src/core/LoL.pm:
do the Don't Flatten Scalars jig for bare X and Z
23:05
jnthn TimToady: Instead of: 23:10
if lol[0].VAR.WHAT === Scalar {
You may want
if nqp::iscont(lol[0]) {
This has the benefit of being a bunch faster, but also will cope with the case where we have, say, a Proxy.
Or a mixed-in-to Scalar. 23:11
23:11 tgt left
TimToady as I was saying, I wish we could build some of this into .flat or **@lol 23:13
so I don't have to plate the boiler all over
jnthn Ah, sorry. I'm barely following; bogged down with material writing. 23:14
23:14 berekuk left
TimToady as it is, **@lol is relatively useless 23:14
jnthn Then it probably wants to change somehow :)
TimToady but I can try your boilerplate instead :)
(for now) 23:15
thanks
jnthn np :)
Figured I'd read a commit in a spare moment. :)
23:19 rurban1 left 23:23 ajr_ left
lue r: sub foo(:v(:$verbose)) { say $verbose.perl }; foo(:verbose(1), :v(2)); 23:23
camelia rakudo-jvm 0de140: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot 0de140: OUTPUT«Unexpected named parameter 'v' passed␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 0de140: OUTPUT«␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
lue ^ moar has a blank message for some reason.
dalek kudo/nom: 974d00b | larry++ | src/core/ (2 files):
simplify using nqp::iscont as suggested by jnthn++
23:31
23:38 hoverboard is now known as wtf-honey-bbq, tgt joined, wtf-honey-bbq is now known as hoverboard 23:42 denisboyun left, tgt left 23:50 virtualsue joined 23:51 rurban joined 23:56 rurban left