Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-01-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 clsn OK.  Probably should have defined the method on Parameter:D instead of just Parameter.  Thanks.
00:01 clsn I did that for Signature, not Parameter.  Oops.
00:18 raiph joined #perl6
00:25 konnjuta joined #perl6
00:27 konnjuta is it possible to not disclose the source code for your perl6 program (for example like how java is 'compiled' into class file)
00:29 konnjuta in the current implementation of rakudo
00:29 konnjuta or possible future implementation of perl6
00:29 grondilu you can publish the jvm or moarvm bytecode
00:29 Mouq konnjuta: I believe NQP (the Perl 6 "subset" Rakudo is built off of) can be compiled to Parrot, JVM, or MoarVM bytecode, and in fact is in the bootstrapping process
00:30 Mouq grondilu: can you do that for full Perl 6 programs, though?
00:30 grondilu I think you can, with the --target option.  Can't you?
00:31 Mouq grondilu: Oh, forgot about that. I can check
00:31 * TimToady wonders whether konnjuta is working for the nsa...
00:32 huf "the client"
00:32 TimToady well, it was "the customer" when I worked for them :)
00:32 huf oh sorry, misremembered your story
00:33 FROGGS nr: say "\c[BRAILLE PATTERN DOTS-13456]"
00:33 camelia rakudo-parrot 1c37f3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DK4M4lHXIR�Unrecognized \c character�at /tmp/DK4M4lHXIR:1�------> [32msay "\c[[33m�[31mBRAILLE PATTERN DOTS-13456]"[0m�    expecting any of:�        argument list�        prefix …»
00:33 camelia ..niecza v24-109-g48a8de3: OUTPUT«⠽␤»
00:33 camelia ..rakudo-jvm 1c37f3: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8Cm7KVk688�Unrecognized \c character�at /tmp/8Cm7KVk688:1�------> [32msay "\c[[33m�[31mBRAILLE PATTERN DOTS-13456]"[0m�    expecting any of:�        argument list�        prefix or …»
00:34 FROGGS it does not like numbers?
00:34 ivanshmakov joined #perl6
00:35 Mouq --target=pir works, --target=mbc dies with ===SORRY!===\nCannot dump this object; no dump method, and my perl6-j needs to be rebuilt :P
00:35 grondilu well, it's NYI I guess
00:35 Mouq my perl6-j seems to think it's my perl6-m
00:36 Lorn joined #perl6
00:37 grondilu fun fact:  the REPL in perl6-m does not work, and nobody cares.  I guess this thing has been added just to do as all other languages do, but nobody really use this thing.
00:38 jnthn grondilu: fun fact: I spent a chunk of my weekend fixing it. :/
00:38 Mouq grondilu: :P I use it all the time, I've just been lazy recently and reach for '-e' when i remember it doesn't work on Moar
00:38 jnthn grondilu: It works here.
00:39 TimToady I get an eternal supply of >
00:39 jnthn Bitching people don't care when they spent a couple of hours working on it is stupid.
00:39 grondilu same, infinite prompts
00:39 TimToady probably just a linux difference or some such
00:39 jnthn bah
00:39 Mouq jnthn++ # everything you do
00:39 TimToady we much appreciate jnthn++
00:39 Mouq jnthn++++++
00:39 TimToady we just want more jnthn++ :)
00:40 jnthn Works nicely on Windows. Wonder what on earth isn't portable :(
00:40 grondilu jnthn: sorry I hope I didn't offend you or anything.  what you do is great, please don't doubt it
00:40 grondilu jnthn += Inf
00:40 grondilu :)
00:40 diakopter jnthn**=jnthn
00:41 diakopter m: 999**=999
00:41 camelia rakudo-moar 1c37f3: OUTPUT«Cannot find method 'STORE'␤  in block  at src/gen/m-CORE.setting:16352␤  in block  at /tmp/7PC5ZtyLoX:1␤␤»
00:41 diakopter you're a STORE
00:43 Mouq m: say 999**999
00:43 camelia rakudo-moar 1c37f3: OUTPUT«3680634882592232678947008400605218658383382320373532046559596214370256093004722315301038736145051752186913452575898963911303931894479697716458323821923660765366311320017761759779321786587036607784657658118308278769820141240229486719756781317249580644279499…»
00:44 grondilu talking about big numbders, what's the criterium to decide a Num is Inf?  I mean, I had troubles filling http://rosettacode.org/wiki/Combinations_and_permutations#Perl_6  because of that.
00:44 grondilu m: say 10**$_ for 300, 400 ... 1000
00:44 camelia rakudo-moar 1c37f3: OUTPUT«1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…»
00:45 grondilu m: say 10**1000
00:45 camelia rakudo-moar 1c37f3: OUTPUT«1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…»
00:45 grondilu m: say (10**$_).Num for 300, 400 ... 1000
00:45 camelia rakudo-moar 1c37f3: OUTPUT«100000000000000005250476025520442024870446858110815915491585411␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤»
00:48 grondilu I guess the explanation is somewhere in S32/Numeric
00:50 TimToady Num is just floating point, and I doubt S32/Numeric has much to say about the conversion, but the 10**300 case there looks buggy
00:51 colomon don't think so.
00:51 colomon it's got 16 correct digits
00:51 TimToady it should have about 300 digits
00:51 colomon ….. oh, wait, right.
00:52 TimToady or an e
00:52 grondilu m: say .chars given (10**300).Num
00:52 colomon you can't actually store 10**300 in a double, can you?
00:52 camelia rakudo-moar 1c37f3: OUTPUT«63␤»
00:52 colomon isn't the limit 200-something
00:52 colomon ?
00:52 grondilu this gives me a déjà-vu feeling
00:52 TimToady there are formats that are bigger, but I think +-256 is normalish
00:53 colomon No doubt it should be Inf
00:53 colomon does parrot do that?
00:53 colomon p: say (10**300).Num
00:53 camelia rakudo-parrot 1c37f3: OUTPUT«1e+300␤»
00:53 colomon ????
00:54 TimToady using extended FP maybe?
00:54 colomon oh, nope, 10**308 should work
00:54 * colomon is looking at wikipedia
00:54 grondilu colomon: you can put very big numbers in floating points, it only depends on the relative sizes of the mantissa and the exponent, if I recall the names correctly
00:55 colomon grondilu: you can put much bigger numbers in Ints
00:55 grondilu sure
00:55 dayangkun joined #perl6
00:55 colomon I mean, sure, in the abstract floating point can go as big as you want.  But in practice, 10**308 or so is it.
00:56 colomon so definitely a Moar big
00:56 colomon er, bug
00:56 grondilu precisely, I thought Num was the abstract floating point.  But I may have been wrong.
00:56 TimToady nope, very IEEEish
00:56 grondilu ok
00:57 grondilu but what's num, then?
00:57 grondilu (in lower case)
00:57 TimToady same thing, but native :)
00:57 TimToady someone could define a FatNum type if they wanted, however
01:00 colomon with Ints for the mantissa and the exponent….
01:00 grondilu would you say that the purpose of Num is to implement https://en.wikipedia.org/wiki/IEEE_754 ?  If so, it might be useful to mention it in the specs.
01:01 grondilu (I mean, to makes things clear)
01:01 TimToady well, we mention IEEE at S02:881
01:01 synopsebot Link: http://perlcabal.org/syn/S02.html#line_881
01:01 colomon grondilu: IEEE is mentioned six times in the specs, but 754 is not
01:02 TimToady that's what people mean by IEEE floating point, though
01:02 colomon right
01:17 Mouq jnthn: Why don't we have any typed exceptions in src/vm/moar/Perl6/Ops.nqp ?
01:18 Mouq (and am I allowed to add one?)
01:18 Mouq (or at least try)
01:20 Mouq Well, hm. Actually, I'm not sure how that would work. I think Moar needs an X::Assignment::RO somewhere around src/vm/moar/Perl6/Ops.nqp:162 if .STORE doesn't exist
01:21 Mouq *I think Rakudo
01:22 jnthn Mouq: There's a few missing typed exceptions.
01:23 jnthn Mouq: Just NYI.
01:23 jnthn Mouq: S32-exceptions/misc.t indicates the places
01:24 Mouq jnthn: ok. I'd like to SYI it, but... uhm
01:25 jnthn Mouq: The trick with those things is that there's a hash somewhere with code objects in that take args and build the exception object
01:28 Mouq jnthn: What I don't get is that if :op('findmeth') is being added to the oplist, does that mean that if I have to check the existance of the method and throw a RO error, those things have to be added as ops too?
01:28 Mouq well, not ops
01:28 Mouq But to the instruction list
01:33 jnthn Mouq: Yeah, we'll have to do some checking there
01:33 jnthn Mouq: If you use findmeth_s or so and pass it a string then it'll give null back if there's no method.
01:34 jnthn Mouq: We may for code size actually do better to add an op though...
01:35 TimToady r: say Q[@A`DO world!]~|<HeLhg>
01:35 camelia rakudo-parrot 1c37f3, rakudo-jvm 1c37f3, rakudo-moar 1c37f3: OUTPUT«Hello world!␤»
01:35 TimToady xfix: save a byte by using <> instead of q{}
01:37 kaare__ joined #perl6
01:37 jnthn Mouq: That is, a Rakudo specific one.
01:38 Mouq jnthn: Ok. I've only just started looking closely at the Moar stuff... I think I may try my hand at making some of the other errors in Ops.nqp typed first
01:38 TimToady xfix: oh, you got that one already
01:38 Mouq r: try { sub dead (-->Int) {"oh my!"}; dead}; say $!.WHAT # Namely
01:38 camelia rakudo-moar 1c37f3: OUTPUT«(X::AdHoc)␤»
01:38 camelia ..rakudo-parrot 1c37f3, rakudo-jvm 1c37f3: OUTPUT«(X::TypeCheck::Return)␤»
01:40 jnthn Mouq: Aye :)
01:40 jnthn That should be easier
01:48 jnthn 'night, #perl6
01:50 Mouq night jnthn++
01:50 Mouq :)
01:50 stevan_ joined #perl6
01:52 dayangkun joined #perl6
01:55 kbaker joined #perl6
02:24 jnap joined #perl6
02:25 Mouq r: my Int $a; $a := "die! muahaha!"
02:25 camelia rakudo-jvm 1c37f3: OUTPUT«Type check failed in binding; expected 'Int' but got 'Str'␤  in block  at /tmp/6ajz7A5cqa:1␤␤»
02:25 camelia ..rakudo-parrot 1c37f3: OUTPUT«Type check failed in binding; expected 'Int' but got 'Str'␤  in block  at /tmp/c16f8fmdyq:1␤␤»
02:25 camelia ..rakudo-moar 1c37f3: OUTPUT«Type check failed in bind; expected Int but got Str␤  in any bind_error at src/vm/moar/Perl6/Ops.nqp:229␤  in block  at /tmp/Vqv83_1vWq:1␤␤»
02:41 Mouq \o/
02:41 Mouq $ perl6-m -e'try {my Int $a; $a := "die! muahaha!"}; say $!.WHAT'
02:41 Mouq (X::TypeCheck::Binding)
02:41 Mouq $ perl6-m -e'try {sub f(-->Str){5}; f}; say $!.WHAT'
02:41 Mouq (X::TypeCheck::Return)
02:42 timotimo good work!
02:45 Mouq timotimo: thanks! I think I might know how to do the error I was talking about originally too, so I'll try that before PR'ing
02:45 TimToady timotimo: I thought you fixed the tmpfile thing...
02:45 timotimo oh no i told someone else to actually work the fix in :)
02:45 timotimo i just formulated a line that could go in there by trial & error
02:46 clsn Argh, forgot to make ACCEPTS multi, that's why it's not letting superclasses show through... Oh well.  PR will be ready again soon.
02:46 clsn I think I may have screwed up some by doing my work in the nom branch of my fork instead of making a new branch for it.
02:47 Mouq timotimo: for camelia?
02:48 timotimo evalbot, yeah
02:48 geekosaur git stash branch?
02:48 clsn mm, maybe...  I dunno, my github-fu is still weak.
02:49 timotimo clsn: that's no problem at all, you can just git rebase origin/nom to get your changes transplanted onto a current upstream
02:49 timotimo and then do the relatively awkward reset dance:
02:49 timotimo git checkout nom; git checkout -b my_awesome_work; git checkout nom; git reset --hard origin/nom
02:55 timotimo i shouldn't have said "i told someone else", i should have said "i said someone else had to do it"
02:56 timotimo anyway, afk
02:56 clsn Doesn't there have to be a commit in there someplace?  Or wait, that checkout -b creates the branch and the reset branches the old one off... or something...
02:56 clsn Whatever, rebuilding anyway.
02:56 timotimo yeah
02:56 timotimo and the reflog will help you get back to any state you had before
02:58 clsn I'll figure it out I guess.  Thanks.
03:01 Mouq timotimo: point to what you did; I've done work on the evalbot before, and was just thinking about how to fix the tmp/ thing when TimToady++ brought it up
03:02 Mouq *point out to me, and I'll see if I can put it to good use
03:36 * clsn fixes and pushes his change, hopefully not having screwed things up too badly with various git muckings-about.
04:00 pdcawley joined #perl6
04:05 molaf joined #perl6
04:07 preflex_ joined #perl6
04:53 jeffreykegler joined #perl6
04:58 jeffreykegler left #perl6
05:07 dalek perl6-roast-data: 9d24ef9 | coke++ | / (6 files):
05:07 dalek perl6-roast-data: today (automated commit)
05:07 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/9d24ef90d3
05:26 jnap joined #perl6
05:55 SamuraiJack joined #perl6
06:08 kaleem joined #perl6
06:17 SamuraiJack_ joined #perl6
06:18 raiph Mouq: http://irclog.perlgeek.de/perl6/2014-01-18#i_8138277
06:18 dalek rakudo/nom: c8ec1df | Mouq++ | src/vm/moar/Perl6/Ops.nqp:
06:18 dalek rakudo/nom: Throw X::TypeCheck::{Binding,Return} on MoarVM
06:18 dalek rakudo/nom:
06:18 dalek rakudo/nom: Use typed errors instead of dying in Ops.nqp
06:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8ec1dfa2f
06:22 Mouq raiph: Oh! Thank you
06:27 jnap joined #perl6
06:28 [Sno] joined #perl6
07:00 Mouq So, sorry, #perl6, got caught in doing other things :p I don't see a problem with just putting timotimo's line in the obvious spot in the evalbot script. it means that if somebody does this:
07:01 Mouq r: say "My file's in some/dir/tmp/dkmedjdkf4/something"
07:01 camelia rakudo-jvm 1c37f3: OUTPUT«(timeout)»
07:01 camelia ..rakudo-parrot 1c37f3, rakudo-moar 1c37f3: OUTPUT«My file's in some/dir/tmp/dkmedjdkf4/something␤»
07:01 Mouq it'll end up as "My file's in some/dir/tmp/tmpfile/something"
07:03 Mouq But then again, this is filtered too, already:
07:03 SamuraiJack_ joined #perl6
07:03 Mouq nqp-p: say("I like being called from Subway's!")
07:03 camelia nqp-parrot: OUTPUT«I like being »
07:16 Mouq ...hmm. Welllll, ok. If no one's going to comment on it, I think I'll just resort to the push-and-await-backlash methodology
07:16 Mouq If that's cool
07:17 dalek evalbot: 35a28d0 | Mouq++ | evalbot.pl:
07:17 dalek evalbot: Filter tmpfile names to merge error results
07:17 dalek evalbot: review: https://github.com/perl6/evalbot/commit/35a28d0ff9
07:17 Mouq timotimo++
07:18 Mouq timotimo++ again because I forgot to put it in the commit summary
07:18 Mouq Mouq--
07:25 Mouq thank you moritz++ for merging my PR
07:25 * Mouq → bed
07:30 xfix http://imgur.com/niA0JyZ - hm, interesting, my Perl 6 code golf is most upvoted today, according to the moderator panel.
07:30 sqirrel joined #perl6
07:46 FROGGS joined #perl6
07:48 moritz j: say 'test'
07:48 camelia rakudo-jvm c8ec1d: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
07:48 moritz j: say 'test'
07:48 camelia rakudo-jvm c8ec1d: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
07:50 moritz j: say 'test'
07:50 camelia rakudo-jvm c8ec1d: OUTPUT«test␤»
07:50 FROGGS morning
07:50 darutoko joined #perl6
07:51 moritz good morning FROGGS, *
07:51 FROGGS r: say 1 1 # moritz: where is the code that needs to be fixed for unifying the $*PROGRAM_NAME?
07:51 camelia rakudo-parrot c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1_9nsOt9eq�Two terms in a row�at /tmp/1_9nsOt9eq:1�------> [32msay 1 [33m�[31m1 # moritz: where is the code that needs[0m�    expecting any of:�        postfix�        infix stop…»
07:51 camelia ..rakudo-jvm c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/YnRmK_cft9�Two terms in a row�at /tmp/YnRmK_cft9:1�------> [32msay 1 [33m�[31m1 # moritz: where is the code that needs[0m�    expecting any of:�        postfix�        infix stopper…»
07:51 camelia ..rakudo-moar c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/FHo_OngbLY�Two terms in a row�at /tmp/FHo_OngbLY:1�------> [32msay 1 [33m�[31m1 # moritz: where is the code that needs[0m�    expecting any of:�        postfix�        infix stoppe…»
07:52 dmol joined #perl6
07:52 moritz FROGGS: prolly lib/EvalbotExecuter.pm
07:53 FROGGS ahh, I see
08:05 Rotwang joined #perl6
08:07 dalek evalbot: c578363 | (Tobias Leich)++ | lib/EvalbotExecuter.pm:
08:07 dalek evalbot: unify the program name in output string
08:07 dalek evalbot: review: https://github.com/perl6/evalbot/commit/c578363c1b
08:07 FROGGS I hope I don't mess anything up
08:07 FROGGS moritz: I am allowed to restart it?
08:08 FROGGS s/I am/am I/
08:09 broquaint joined #perl6
08:09 * FROGGS hopes for forgiveness
08:09 FROGGS evalbot control restart
08:09 FROGGS k, I can shut it down as it seems
08:09 FROGGS ó.ò
08:10 camelia joined #perl6
08:10 FROGGS uhh
08:10 FROGGS \o/
08:10 FROGGS nr: 1 1
08:11 camelia rakudo-jvm c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/GZgfT9CIUP�Two terms in a row�at /tmp/GZgfT9CIUP:1�------> [32m1 [33m�[31m1[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-infix�        st…»
08:11 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/slUZ0KM9VV line 1:�------> [32m1 [33m�[31m1[0m��Parse failed��»
08:11 camelia ..rakudo-parrot c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Ph1RfYaUoO�Two terms in a row�at /tmp/Ph1RfYaUoO:1�------> [32m1 [33m�[31m1[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-infix�       …»
08:11 moritz evalbot control pull
08:11 camelia (success)
08:11 FROGGS ahh
08:11 moritz evalbot control restart
08:12 camelia joined #perl6
08:12 moritz p6: say $*PROGRAM_NAME
08:12 FROGGS that will saves a lot of bytes in the clogs when it works :o)
08:12 berekuk joined #perl6
08:12 moritz and, more to the point, it doesn't obscure that the outputs are actually the same
08:13 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d, niecza v24-109-g48a8de3: OUTPUT«/tmp/tmpfile␤»
08:13 moritz uhm
08:13 FROGGS and you don't miss messages that are between these huge blocks of text
08:13 moritz did you hardcode it to a certain tempfile?
08:13 FROGGS no
08:13 FROGGS unless it resolves <program> in the subst somehow
08:13 FROGGS nr: 1 1
08:14 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Two terms in a row�at /tmp/tmpfile:1�------> [32m1 [33m�[31m1[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-in…»
08:14 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/tmpfile line 1:�------> [32m1 [33m�[31m1[0m��Parse failed��»
08:14 moritz oh, you cheated. Nasty FROGGS :-)
08:14 FROGGS I... I did?
08:14 moritz yes, you did
08:14 FROGGS nice
08:14 FROGGS how so?
08:14 moritz the non-cheating solution would have been to actually use the same tempfile for all processes that are started in one batch
08:15 FROGGS well, easy solution is easy
08:15 moritz aye :-)
08:15 moritz much better than before
08:15 moritz FROGGS++ # cheating is technique
08:15 rindolf joined #perl6
08:15 FROGGS but why do I see that filename there instead of a literal "<program>"?
08:16 FROGGS https://github.com/perl6/evalbot/blob/master/lib/EvalbotExecuter.pm#L141
08:17 moritz $ git grep tmpfile
08:17 moritz evalbot.pl:                    $tmp_res =~ s|/tmp/\w{10}|/tmp/tmpfile|g;
08:17 moritz FROGGS: because you didn't read the comments :-)
08:17 FROGGS Filter tmpfile names to merge error results
08:17 FROGGS master
08:17 FROGGS commit 35a28d0ff9630895db2fd3d7cd21eb7d3ba3f993 1 parent 5ad7f7c
08:17 FROGGS Mouq authored an hour ago
08:17 FROGGS haha
08:18 moritz FROGGS: $filename is the file that the result is written to
08:18 FROGGS eww
08:18 FROGGS I'll revert then
08:18 FROGGS Mouq++
08:19 zakharyas joined #perl6
08:19 moritz FROGGS: and $program_file_name contains what its name suggests
08:19 dalek evalbot: dc58e94 | (Tobias Leich)++ | lib/EvalbotExecuter.pm:
08:19 dalek evalbot: Revert "unify the program name in output string"
08:19 dalek evalbot:
08:19 dalek evalbot: This reverts commit c578363c1b6e3df335517927011687444e38c738.
08:19 dalek evalbot: review: https://github.com/perl6/evalbot/commit/dc58e94618
08:19 FROGGS (Tobias Leich)--
08:19 FROGGS (Tobias Leich)--
08:19 moritz evalbot control pull
08:19 camelia (success)
08:20 FROGGS # nothing happened, continue programming
08:20 FROGGS r: say "\c[BRAILLE PATTERN DOTS-13456]"
08:20 moritz evalbot control restart
08:20 FROGGS umm
08:20 FROGGS :p
08:21 moritz sorry for killing camelia under your feet :-)
08:21 camelia joined #perl6
08:21 FROGGS np
08:21 moritz FROGGS++ # trying
08:21 berekuk joined #perl6
08:24 FROGGS r: say "\c[BRAILLE PATTERN DOTS-13456]"
08:24 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unrecognized \c character�at /tmp/tmpfile:1�------> [32msay "\c[[33m�[31mBRAILLE PATTERN DOTS-13456]"[0m�    expecting any of:�      ÃƒÂ¢Ã¢â€šÂ¬Ã‚¦Ã‚»
08:24 FROGGS cool
08:24 FROGGS I will report (and maybe fix) that
08:26 fhelmberger joined #perl6
08:29 jnap joined #perl6
08:32 berekuk joined #perl6
08:52 berekuk joined #perl6
09:17 PZt joined #perl6
09:19 fhelmberger_ joined #perl6
09:20 moritz huh, when I compile perl-j, it seems to hang after stage jast
09:21 moritz the java process has already eaten up 27 minutes CPU time
09:21 * moritz kills it
09:22 fhelmberger_ joined #perl6
09:25 dakkar joined #perl6
09:29 jnap joined #perl6
09:46 LLamaRider joined #perl6
10:15 FROGGS moritz: can you bisect it?
10:20 moritz FROGGS: dunno if I can :-)
10:21 FROGGS my nqp/rakudo built for all backends at HEAD successfully
10:21 pecastro joined #perl6
10:22 moritz with nqp/master?
10:24 moritz bisecting a hang is no fun :(
10:25 FROGGS :/
10:25 FROGGS with master I'd say
10:26 moritz and it hangs so hard that a ctrl+c doesn't kill it
10:26 moritz needs a kill -9
10:26 FROGGS I don't know how else we should hunt that down
10:27 * moritz tries to find a good starting point for the bisect
10:30 jnthn It musta built fairly recently
10:30 jnthn 'cus I was fixign the stack overflow bug just a couple of days ago
10:30 moritz yes
10:30 moritz I kinda fear it's something in my environment
10:31 jnthn oh :S
10:31 FROGGS t/spec/S06-advanced/callframe.rakudo.parrot ..................... Failed 1/9 subtests
10:31 FROGGS (less 1 skipped subtest: 7 okay)
10:31 FROGGS that happens not only for me, right?
10:33 dalek nqp: 290a87b | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
10:33 dalek nqp: Progress towards pointer members in CStructs.
10:33 dalek nqp:
10:33 dalek nqp: CArrays and CPointers should work now, but CStructs inside CStructs are
10:33 dalek nqp: broken, due to a wrinkle in how we dynamically generate and load classes.
10:33 arnsholt Aww, dalek dieded
10:34 FROGGS arnsholt++ # anyway
10:34 dalek joined #perl6
10:34 jnthn FROGGS: I saw taht in the daily run
10:34 jnthn arnsholt++ # progress
10:34 FROGGS k
10:34 FROGGS and something about enums
10:34 FROGGS t/spec/S12-enums/pseudo-functional.t ............................ Failed 1/11 subtests
10:35 arnsholt jnthn: Could you review https://github.com/perl6/nqp/commit/c9c5f7224bfe60b806f7a8dae099da57c166d22e for me?
10:37 arnsholt It changes P6Opaque a tiny bit as well, so a second opinion would be nice
10:37 jnthn oh wow...
10:37 jnthn That sounds like a pretty good optimization..
10:38 arnsholt Spiffy!
10:38 jnthn arnsholt: That said...
10:38 jnthn arnsholt: I think we might be better making an instance of it, and hanging it off GlobalContext.
10:39 jnthn arnsholt: So it works out properly-er with evalserver.
10:39 arnsholt Right
10:39 jnthn arnsholt: Then we can share it between CStructand P6opaque
10:40 arnsholt Yeah, definitely
10:40 arnsholt I almost did that too, but wasn't confident enough that there wasn't some threading-related thing I'd missed =)
10:42 dalek nqp: 8c378e7 | (Tobias Leich)++ | src/HLL/Grammar.nqp:
10:42 dalek nqp: align charname to std
10:42 dalek nqp:
10:42 dalek nqp: Which allows things like \c[BRAILLE PATTERN DOTS-13456]
10:42 dalek nqp: review: https://github.com/perl6/nqp/commit/8c378e7ed8
10:42 arnsholt The evalserver, is that a JVM thing we're using to do stuff, or something Perl-specific?
10:42 nwc10 is there an easy way to see which tests fail on Moar, but pass on JVM or pass on Parrot?
10:43 FROGGS nwc10: not that I know.... no
10:43 moritz arnsholt: jvm-specific
10:43 moritz arnsholt: 'cause it's the one with very high startup time
10:44 FROGGS moritz: but it is our (sorear++'s) invention, not a thing jvm provides ootb, right?
10:44 jnthn Yes, it's a sorear++ creation :)
10:48 berekuk joined #perl6
10:49 timotimo nwc10: almost all the tests that don't pass on parrot or jvm should be fudged
10:49 nwc10 if it's not obvious, I'm curious what Parrot can do that MoarVM can't do yet
10:49 timotimo moritz: could the hard hang of the jvm possibly be related to trying to dump a very, very, very big core?
10:49 timotimo i had that before that i couldn't kill a process while it was dumping core
10:50 timotimo or rather, i killed it and it hung for a whole while because it had to dump core
10:52 timotimo i have another feature request for camelia
10:53 fhelmberger joined #perl6
10:54 timotimo r: say "hey, heyo, heya".split(", ").tree>>.comb.tree.perl
10:54 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«LoL.new(("h", "e", "y").list.item, ("h", "e", "y", "o").list.item, ("h", "e", "y", "a").list.item)␤»
10:54 timotimo r: say "hey, heyo, heya".split(", ").tree>>.comb.perl
10:54 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«(("h", "e", "y").list, ("h", "e", "y", "o").list, ("h", "e", "y", "a").list)␤»
10:55 timotimo r: for "hey, heyo, heya".split(", ").tree>>.comb.perl -> @a { say @a.perl }
10:55 camelia rakudo-moar c8ec1d: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Str␤  in block  at /tmp/tmpfile:1␤␤»
10:55 camelia ..rakudo-jvm c8ec1d: OUTPUT«Nominal type check failed for parameter '@a'␤  in block  at /tmp/tmpfile:1␤␤»
10:55 camelia ..rakudo-parrot c8ec1d: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Str instead␤  in block  at /tmp/tmpfile:1␤␤»
10:55 timotimo r: for "hey, heyo, heya".split(", ").tree>>.comb.perl -> $a { say $a.perl }
10:55 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«"((\"h\", \"e\", \"y\").list, (\"h\", \"e\", \"y\", \"o\").list, (\"h\", \"e\", \"y\", \"a\").list)"␤»
10:55 timotimo ooph, haha
10:55 timotimo r: for "hey, heyo, heya".split(", ").tree>>.comb -> @a { say @a.perl }
10:55 camelia rakudo-moar c8ec1d: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Str␤  in block  at /tmp/tmpfile:1␤␤»
10:55 camelia ..rakudo-jvm c8ec1d: OUTPUT«Nominal type check failed for parameter '@a'␤  in block  at /tmp/tmpfile:1␤␤»
10:55 camelia ..rakudo-parrot c8ec1d: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Str instead␤  in block  at /tmp/tmpfile:1␤␤»
10:55 timotimo r: for "hey, heyo, heya".split(", ").tree>>.comb -> $a { say $a.perl }
10:55 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«"h"␤"e"␤"y"␤"h"␤"e"␤"y"␤"o"␤"h"␤"e"␤"y"␤"a"␤»
10:55 timotimo r: for "hey, heyo, heya".split(", ").tree>>.comb.tree -> $a { say $a.perl }
10:55 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«("h", "e", "y").list.item␤("h", "e", "y", "o").list.item␤("h", "e", "y", "a").list.item␤»
10:56 timotimo that's better ... kind of
10:56 timotimo now how do i ...
10:56 * timotimo takes it to a local repl instead of spamming the chat
10:59 denis_boyun joined #perl6
11:00 kivutar joined #perl6
11:02 timotimo r: https://gist.github.com/timo/8538083
11:03 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Variable '$common-prefix' is not declared�at /tmp/tmpfile:6�------> [32m    $common-prefix[33m�[31m = @pieces[0].substr(0,$_);[0m�    e…»
11:03 timotimo d'oh
11:03 timotimo r: https://gist.github.com/timo/8538083
11:03 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«rakudo-{parrot,jvm,moar} c8ec1d␤»
11:03 timotimo what this doesn't do is leave out pieces that don't fit, like "niecza blahblah"
11:04 timotimo rn: say "test"
11:04 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, niecza v24-109-g48a8de3: OUTPUT«test␤»
11:05 timotimo moritz: ^ it ought to have rakudo-moar in it, too, no?
11:07 timotimo oh hey, rakudo-moar reached 98.84%
11:07 timotimo nice work!
11:07 bjz joined #perl6
11:07 timotimo 90 more test passes :)
11:08 timotimo (since yesterday, i mean)
11:08 jnthn So close to the 99%...
11:08 timotimo m: say "only {28379 - 28169} more tests until i've caught up with rakudo-parrot!"
11:08 camelia rakudo-moar c8ec1d: OUTPUT«only 210 more tests until i've caught up with rakudo-parrot!␤»
11:09 moritz timotimo: yes
11:09 jnthn To folks in Germany: seems that the German Perl Workshop submissions closed before I got chance to submit. Didn't think it'd happen so early.
11:09 timotimo m: say "and {28499 * 0.99 - 28169} needed to get to 99% of rakudo-jvm; even without parallelism stuff!"
11:09 camelia rakudo-moar c8ec1d: OUTPUT«and 45.01 needed to get to 99% of rakudo-jvm; even without parallelism stuff!␤»
11:09 timotimo now we need to figure out how to make 0.01 test pass :\
11:10 jnthn Just pass 46...
11:10 FROGGS jnthn: I can talk to them if you want
11:10 timotimo jnthn: oh shoot, i didn't submit anything either!
11:10 timotimo (and i'ven't even begun thinking about a topic)
11:10 jnthn FROGGS: Well, no, they already have a schedule sorted, I shouldn't barge in.
11:10 timotimo jnthn: but you're jnthn!
11:10 jnthn timotimo: But still, it's not really fair to expect them to kick somebody off the schedule who already got a talk accepted.
11:11 timotimo that's right
11:11 timotimo maybe they'll add a slot somewhere :P
11:11 jnthn Especially when those folks were more proactive than me. :)
11:11 FROGGS jnthn: I will ask them anyway if there are free slots that want filling
11:11 jnthn FROGGS: OK, but plesae don't pressure them to find one.
11:11 FROGGS sure
11:12 jnthn I've got FOSDEM and invites to other workshops...it's not like I ain't gonna get chance to speak at some places this year :)
11:14 jnthn Anyway, I guess my question was gonna be: if I ain't speaking, I'm not really hugely feeling a need to be at the workshop, given I won't understand most of the talks anyway. But I know some folks had hackathon-around-that-time ideas. Did anything concrete get planned?
11:15 FROGGS jnthn: I dunno if pmichaud still wants to come to gpw to meet you...
11:16 kivutar joined #perl6
11:17 FROGGS jnthn: I'm not sure that there is a hackathon at all... but I want to propose something: let us meet in late february? then I might even meet moritz :o)
11:21 * timotimo should probably have another look at the calendar around that time
11:22 FROGGS jnthn: is there already a workshop/hackathon in feb where we could meet?
11:31 jnap joined #perl6
11:36 * timotimo thinks maybe this problem may make a good candidate for a code golf actually
11:36 dalek nqp: 523a33f | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp:
11:36 dalek nqp: fix \C[MUMBLE], negated version of \c[MUMBLE]
11:36 dalek nqp: review: https://github.com/perl6/nqp/commit/523a33f072
11:37 dalek rakudo/nom: bc98d54 | (Tobias Leich)++ | tools/build/NQP_REVISION:
11:37 dalek rakudo/nom: pull in \C fixes
11:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bc98d54ed6
11:37 broquaint joined #perl6
11:37 timotimo this should give more passing tests on the two other backends as well, no?
11:39 FROGGS 34 passes on all three, yes
11:39 dalek roast: 32c36c7 | (Tobias Leich)++ | S05-mass/named-chars.t:
11:39 dalek roast: untodo now working \C tests
11:39 dalek roast: review: https://github.com/perl6/roast/commit/32c36c7c32
11:39 FROGGS err, 54 actually
11:39 jnthn FROGGS: Well, I think Pm is open with regard to exactly when he comes. One other idea I have for that is that the Czech and Polish Perl workshops are very close together in time.
11:41 FROGGS may does not work though for moritz
11:41 jnthn FROGGS: I already got somebody coming to visit late Feb so can't really do that...
11:41 FROGGS k
11:41 jnthn FROGGS: I'd be open to coming for some weekend hackathon in Germany sometime in the next month or two, though.
11:41 grondilu joined #perl6
11:41 grondilu r: say first *>10, ^100
11:41 moritz you should plan without me; anything I plan for the next ~6 months is very unreliable
11:42 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«11␤»
11:42 jnthn FROGGS: If it were to happen on the weekend after GPW, I could easily come down to Hannover on the Friday, meet in the evening, and hack for the weekend.
11:42 * timotimo could make any weekend except 2/21-2/23 work
11:42 moritz and as much as I'd like to meet all of you, I don't think it would be productive to rely on my plans
11:42 FROGGS jnthn: that sounds acceptable :o)
11:42 jnthn FROGGS: Hannover is one of the easily-reached-by-train bits of Germany from here. :)
11:42 jnthn I suspect I could either return on Monday or take a late train on the Sunday.
11:42 fhelmberger joined #perl6
11:43 * timotimo attends a birthday party on the evening of the 28th of march
11:43 jnthn timotimo: Ah
11:44 timotimo i can contribute via telepresence, though ;)
11:46 jnthn Hm, the train trip is not quite so convenient as I thought to go back late on Sunday.
11:46 kivutar joined #perl6
11:48 kivutar joined #perl6
11:58 kivutar joined #perl6
12:03 FROGGS nr: say "\c[BRAILLE PATTERN DOTS-13456]"
12:03 camelia niecza v24-109-g48a8de3: OUTPUT«⠽␤»
12:03 camelia ..rakudo-parrot c8ec1d, rakudo-jvm c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unrecognized \c character�at /tmp/tmpfile:1�------> [32msay "\c[[33m�[31mBRAILLE PATTERN DOTS-13456]"[0m�    expecting any of:�        argument list�  ÃƒÂ¢Ã¢â€šÂ¬Ã‚¦Ã‚»
12:03 SubTerra joined #perl6
12:05 timotimo r: say [1, 2, 3, 4].keys.combinations.perl;
12:05 camelia rakudo-parrot c8ec1d: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method combinations at gen/parrot/CORE.setting:8109␤  in block  at /tmp/tmpfile:1␤␤»
12:05 camelia ..rakudo-moar c8ec1d: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method combinations at src/gen/m-CORE.setting:8089␤  in block  at /tmp/tmpfile:1␤␤»
12:05 camelia ..rakudo-jvm c8ec1d: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method combinations at gen/jvm/CORE.setting:8089␤  in block  at /tmp/tmpfile:1␤␤»
12:05 timotimo r: say [1, 2, 3, 4].keys.combinations(*).perl;
12:05 camelia rakudo-moar c8ec1d: OUTPUT«Cannot call 'combinations'; none of these signatures match:␤:(List : Int $of, Mu *%_)␤:(List : Range $of = { ... }, Mu *%_)␤  in method combinations at src/gen/m-CORE.setting:8089␤  in block  at /tmp/tmpfile:1␤␤»
12:05 camelia ..rakudo-parrot c8ec1d: OUTPUT«Cannot call 'combinations'; none of these signatures match:␤:(List : Int $of, Mu *%_)␤:(List : Range $of = { ... }, Mu *%_)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in method combinations at gen/pa…»
12:05 camelia ..rakudo-jvm c8ec1d: OUTPUT«Cannot call 'combinations'; none of these signatures match:␤:(List : Int $of, Mu *%_)␤:(List : Range $of = { ... }, Mu *%_)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in method combinations at gen/jvm/CORE.se…»
12:05 timotimo huh.
12:06 timotimo why isn't it taking the range version with the default value?
12:06 timotimo r: say [1, 2, 3, 4].keys.combinations(0..*).perl;
12:06 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«([0], [1], [2], [3], [0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3], [0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3], [0, 1, 2, 3]).list␤»
12:07 woolfy1 joined #perl6
12:07 timotimo oh
12:07 timotimo the proto method has a $ in its signature
12:07 timotimo maybe that ought to be $?
12:08 bjz joined #perl6
12:09 berekuk joined #perl6
12:10 hoelzro does --gen-moar not work?  I feel like it's broken the last few times I've tried it
12:11 FROGGS hoelzro: I know about issues on osx, but it should work for anybody else...
12:11 hoelzro hmm
12:11 hoelzro I'm on an ARch VM
12:11 FROGGS *except 32bit users
12:12 hoelzro I did perl Configure.pl --prefix=$HOME/.mokudo --backends=moar --gen-moar
12:12 hoelzro 64-bit Arch
12:12 FROGGS do I would guess you can build MoarVM itself?
12:12 FROGGS how does it fail?
12:13 hoelzro I can build Moar no problem
12:13 hoelzro it doesn't even try
12:13 hoelzro hang on, I'll paste the output
12:13 FROGGS k
12:14 hoelzro FROGGS: http://pastebin.com/98gAmZ9v
12:15 jnthn If you add --gen-nqp does it then do the two?
12:15 * hoelzro tries
12:15 hoelzro ah, that's it I think
12:15 hoelzro yeah, it's building Moar now at least
12:15 hoelzro I guess I just figured --gen-moar implied --gen-nqp
12:15 hoelzro --gen-parrot does, right?
12:16 moritz it does, yes
12:16 moritz feel free to patch Configure.pl to make it more consistent
12:16 hoelzro noted =)
12:17 berekuk joined #perl6
12:17 grondilu timotimo: $? would not work
12:17 grondilu but
12:18 timotimo why wouldn't it? :(
12:18 grondilu r: proto f($?) {*}; multi f($x) { $x }; say f;
12:18 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' requires arguments (line 1)␤    Expected any of:␤    :($x)␤»
12:18 grondilu but you can do proto f($ = 0..*) {*}
12:18 timotimo er ... i can?
12:18 grondilu r: proto f($ = 2) {*}; multi f($x) { $x }; say f;
12:18 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'f' requires arguments (line 1)␤    Expected any of:␤    :($x)␤»
12:19 grondilu oops
12:19 grondilu I tired it locally and it worked :/
12:19 grondilu r: proto f($ = 2) {*}; multi f($x = 1) { $x }; say f;
12:19 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«1␤»
12:19 grondilu weird
12:20 timotimo well, clearly perl6 is broken
12:20 moritz I think the signature of the proto is just checked
12:20 grondilu do we have to put a proto anyway?
12:21 * timotimo is not sure when putting a proto is necessary
12:21 grondilu it's not nqp, so it should be fine, right?
12:23 moritz you only need to use an explicit proto if you want to put constraint on all candidates, or if you want to hide an outer proto
12:24 timotimo the latter case i knew about
12:24 timotimo or you could use "only method foobar"
12:25 jnthn Putting a proto is needed if (a) you're writing NQP, (b) you're writing CORE.setting, (c) you want to hide an outer set of multis, or (d) you want to control what &thingy.arity or &thingy.count will return, which can be useful if you want to work well with map, reduce, etc.
12:25 timotimo b i'm not understanding, d is actually pretty cool
12:25 jnthn Oh, and you want to constraint all candidates in some way, like moritz++ said.
12:26 jnthn timotimo: b is because auto-generating a proto doesn't work in the setting
12:26 grondilu hang on, $? *should* work
12:26 timotimo ah, fair enough
12:26 grondilu r: proto f($?) {*}; multi f($x = 1) { $x }; say f;
12:26 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«1␤»
12:26 tadzik hm, don't you need a proto when you export a multi?
12:26 grondilu yeah, I forgot to put a default in the multi
12:26 jnthn grondilu: It worked, the error you got was 'cus the multi itself didn't handle the optional case, and you had no zero-arity multi candidate.
12:26 jnthn tadzik: You don't have to have one, but it may be convenient in so far as you get to export all the candidates
12:27 tadzik hm, I remember wrong then :)
12:28 grondilu timotimo: feel free to add ? in the combinations proto
12:28 timotimo r: my %foo{Any}; %foo{$[1, 2, 3]} = 5; say %foo.perl;
12:28 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of $[ variable; in Perl 6 please use user-defined array indices�at /tmp/tmpfile:1�------> [32mmy %foo{Any}; %foo{[33m�[31m…»
12:28 timotimo r: my %foo{Any}; %foo{$(1, 2, 3)} = 5; say %foo.perl;
12:28 camelia rakudo-parrot c8ec1d, rakudo-jvm c8ec1d, rakudo-moar c8ec1d: OUTPUT«Hash[Any,Any].new($(1, 2, 3) => 5)␤»
12:28 timotimo fair enough
12:30 kivutar joined #perl6
12:31 jnap joined #perl6
12:35 grondilu talking about combinations, I notice that the Int multi is not lazy (it does not use gather/take)
12:35 arnsholt jnthn: Spectesting an NQP patch with the ByteClassLoader hanging off the GlobalContext now
12:36 timotimo you could check the output of time to see if it reduces the overall memory usage by much
12:36 timotimo this may even help with garbage collecting grammars
12:36 timotimo because if i understood correctly, it would have created one p6opaque per grammar, and one classloader per p6opaque
12:42 berekuk joined #perl6
12:47 grondilu proto foo($) { gather {*} }; multi foo(A $x) { for do-stuff { take something } }  # <-  Is something like this supposed to work?
12:48 timotimo sounds about right, yeah
12:48 jnthn whoa
12:48 jnthn Does it work? :)
12:48 timotimo i would like that
12:48 grondilu no, but it used to
12:49 jnthn m: proto foo($) { gather {*} }; multi foo($x) { .take for ^$x }; say foo(10)
12:49 grondilu I used to write this for same fringe in RC:  https://gist.github.com/grondilu/8539314
12:49 camelia rakudo-moar bc98d5: OUTPUT«␤»
12:49 jnthn r: proto foo($) { gather {*} }; multi foo($x) { .take for ^$x }; say foo(10)
12:49 camelia rakudo-parrot bc98d5, rakudo-jvm bc98d5, rakudo-moar bc98d5: OUTPUT«␤»
12:49 jnthn Hmm
12:49 jnthn r: proto foo($) { gather {*} }; multi foo($x) { say 'here'; .take for ^$x }; say foo(10)
12:49 camelia rakudo-parrot bc98d5, rakudo-jvm bc98d5, rakudo-moar bc98d5: OUTPUT«␤»
12:50 jnthn Curious.
12:50 moritz I guess it parses it as gather {     } with a Whatever in there
12:50 moritz not as a {*}
12:50 jnthn Oh!!
12:50 jnthn r: proto foo($) { gather { {*} } }; multi foo($x) { say 'here'; .take for ^$x }; say foo(10)
12:50 camelia rakudo-parrot bc98d5: OUTPUT«here␤splice() not implemented in class 'Mu'␤  in method reify at gen/parrot/CORE.setting:7243␤  in method reify at gen/parrot/CORE.setting:7241␤  in method reify at gen/parrot/CORE.setting:7241␤  in method reify at gen/parrot/CORE.setting:7337…»
12:50 camelia ..rakudo-moar bc98d5: OUTPUT«here␤0 1 2 3 4 5 6 7 8 9␤»
12:50 camelia ..rakudo-jvm bc98d5: OUTPUT«here␤control operator crossed continuation barrier␤  in block  at /tmp/tmpfile:1␤␤»
12:51 grondilu neat
12:51 moritz moar++
12:52 grondilu the result is still not right, though:
12:52 timotimo i'm really glad [eq] exists
12:52 grondilu m: https://gist.github.com/grondilu/8539314
12:52 camelia rakudo-moar bc98d5: OUTPUT«1..6␤ok 1 - ␤ok 2 - ␤ok 3 - ␤not ok 4 - ␤not ok 5 - ␤not ok 6 - ␤# Looks like you failed 3 tests of 6␤»
12:53 timotimo :o
12:56 raiph joined #perl6
12:56 atroxaper joined #perl6
12:59 berekuk joined #perl6
13:03 grondilu though maybe at times where a gather was in proto, I had failed to notice that the result was incorrect.  So it may have never truly worked, after all.
13:08 colomon grondilu: is the code really meant to have recursive calls to gather?
13:09 colomon seems like what you want is a wrapper function that calls gather, and then the recursive multi called from that.
13:12 grondilu that's what is being done in the current RC entry
13:12 grondilu but it's inelegant, imho
13:12 grondilu r: proto foo($) { gather { {*} } }; multi foo(Int) { foo $_ for <foo bar> }; multi foo(Str $s) { take $s }; say foo(Int);
13:12 camelia rakudo-jvm bc98d5: OUTPUT«control operator crossed continuation barrier␤  in block  at /tmp/tmpfile:1␤␤»
13:12 camelia ..rakudo-moar bc98d5: OUTPUT«␤»
13:12 camelia ..rakudo-parrot bc98d5: OUTPUT«Cannot call 'foo'; none of these signatures match:␤:(Int )␤:(Str $s)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in block  at /tmp/tmpfile:1␤␤»
13:13 grondilu m: proto foo($) { gather { {*} } }; multi foo(Int) { foo $_ for <foo bar> }; multi foo(Str $s) { take $s }; say foo(Int);
13:13 camelia rakudo-moar bc98d5: OUTPUT«␤»
13:13 * grondilu was expecting "foo bar"
13:13 colomon grondilu: but what is the point of making fringe (Any) be gather take $leaf ?
13:13 jnthn Why?
13:14 jnthn The fall to foo in the first multi will establish a new gather
13:14 jnthn And then you throw away the results of it.
13:14 jnthn *call
13:14 grondilu hum
13:14 jnthn The proto is called on each foo call
13:14 colomon I get the impression grondilu is thinking the proto is only called once
13:14 grondilu oh yeah
13:14 jnthn And take finds the nearest
13:15 jnthn So recursion kinda kills the cute idiom, sadly :(
13:15 grondilu m: proto foo($) { gather { {*} } }; multi foo(Int) { take foo $_ for <foo bar> }; multi foo(Str $s) { take $s }; say foo(Int);
13:15 camelia rakudo-moar bc98d5: OUTPUT«foo bar␤»
13:15 grondilu ah
13:15 jnthn That does it, yes :)
13:15 grondilu m: https://gist.github.com/grondilu/8539314
13:15 camelia rakudo-moar bc98d5: OUTPUT«1..6␤ok 1 - ␤ok 2 - ␤ok 3 - ␤ok 4 - ␤ok 5 - ␤ok 6 - ␤»
13:15 grondilu cool
13:16 jnthn That is kinda neat.
13:16 colomon but why would you ever want to call gather take to return one value?  it's incredibly wasteful.
13:16 jnthn Though...what colomon said :)
13:16 jnthn It's going to be slow.
13:16 kivutar joined #perl6
13:16 jnthn Well. It's going to be slower than it need be.
13:16 jnthn It makes sense if the candidates may take many things of course.
13:17 grondilu once you reach a leaf, you only have one value to return.  I don't know about efficiency, but it does make sense.
13:17 colomon grondilu: no, it doesn't make sense
13:17 grondilu :/
13:18 grondilu notice that even with a wrapper function (as in the current RC entry), you'll also have a multi that only takes one thing.
13:20 berekuk joined #perl6
13:24 kivutar joined #perl6
13:25 colomon grondilu: the point is, the RC version has one gather which collects all of the takes.  Yours has one gather call for every node and leaf of the $tree
13:25 grondilu well, RC is a wiki after all.  I'll put the code there.  If someone is not happy with it, we'll discuss it there.
13:26 grondilu colomon: indeed
13:26 arnsholt joined #perl6
13:27 kivutar joined #perl6
13:28 grondilu good point
13:28 * colomon is trying to think of how he can clearly demonstrate how mixed up this is
13:30 grondilu maybe with a samewith or something like that?  I mean, it's possible to call an other candidate without calling the proto, isn't it?
13:31 * grondilu doesn't know well the samewith, nextwith and similar :/
13:31 colomon maybe?  I've never understood all the rules for that.
13:31 jnthn Thing is...
13:31 berekuk joined #perl6
13:31 jnthn m: proto foo($) { gather { {*} } }; multi foo(Int) { take foo $_ for <foo bar> }; multi foo(Str $s) { take $s }; say foo(Int);
13:31 camelia rakudo-moar bc98d5: OUTPUT«foo bar␤»
13:32 jnthn m: proto foo($) { {*} }; multi foo(Int) { foo $_ for <foo bar> }; multi foo(Str $s) { $s }; say foo(Int); # I bet it does the same with the gather/take removed :)
13:32 camelia rakudo-moar bc98d5: OUTPUT«foo bar␤»
13:33 * grondilu thought this had been tried earlier
13:33 colomon jnthn: right
13:33 colomon the original uses gather / take so that it is lazy
13:33 jnthn Ah...
13:33 colomon but doing a gather on each bit of the recursive call means it's only kind of lazy
13:34 * grondilu notices that there is not gather/take at all
13:35 grondilu jnthn: no comment on the samewith/nextwith suggestion?
13:35 jnthn I have a bad feeling that the first thing eqv does on two lists is .elems them
13:35 jnthn Which, of course, evaluates the whole thing
13:36 jnthn nextwith is for iterating the current candidate list - that is, those valid in the initial dispatch.
13:36 jnthn samewith will invoke the proto gain.
13:36 jnthn *again
13:36 grondilu k
13:36 jnthn So I don't think either help in this case
13:37 colomon jnthn: you're totally right about eqv
13:37 colomon that's annoying
13:38 jnthn Well, in the non-lazy case it's the fastest way to determine two things differ
13:39 grondilu m: https://gist.github.com/grondilu/8539314
13:39 camelia rakudo-moar bc98d5: OUTPUT«1..6␤ok 1 - ␤ok 2 - ␤ok 3 - ␤ok 4 - ␤ok 5 - ␤ok 6 - ␤»
13:39 grondilu the non-lazy version is not too bad for RC
13:40 kivutar joined #perl6
13:41 hoelzro hmm
13:42 hoelzro when the synopses say that alphanumeric characters may not be used as delimiters for m{ ... }, what's the definition of "alphanumeric"?
13:42 hoelzro STD seems to consider _ as alnum:
13:42 hoelzro std: m _o_
13:42 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0m�Alphanumeric character is not allowed as delimiter at /tmp/CpdiOGTXJp line 1:�------> [32mm [33m�[31m_o_[0m�Parse failed�FAILED 00:01 120m�»
13:44 colomon Seems to me we need an easy way to determine if a List (Array, etc…) is lazy.
13:44 colomon because (for example) infix:<eqv> is efficient if its inputs are not lazy, and wildly incorrect if they are.
13:45 colomon TimToady: ^^ RC, same-fringe, and eqv
13:47 dalek nqp: 6ee4813 | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/ (7 files):
13:47 dalek nqp: Only use a single ByteClassLoader, attached to the GlobalContext.
13:47 dalek nqp:
13:47 dalek nqp: In a few cases (Java interop), we still have to create additional
13:47 dalek nqp: ByteClassLoaders, but this should cut down memory use a bit.
13:47 dalek nqp: review: https://github.com/perl6/nqp/commit/6ee48136a0
13:47 berekuk joined #perl6
13:48 ajr joined #perl6
13:49 kaleem joined #perl6
13:50 bjz joined #perl6
13:51 hoelzro ah, apparently _ are considered alnums by NQP/Rakudo as well
13:55 jnap joined #perl6
13:56 kivutar joined #perl6
14:01 [Coke] m: say "Only { 28499*.99-28169} tests left for moar to hit 99%"
14:01 camelia rakudo-moar bc98d5: OUTPUT«Only 45.01 tests left for moar to hit 99%␤»
14:02 nwc10 what's the ratio of Moar to Parrot?
14:04 [Coke] m: say "Moar is at {100*28169/28379}% of parrot."
14:04 camelia rakudo-moar bc98d5: OUTPUT«Moar is at 99.260016% of parrot.␤»
14:05 hoelzro wow
14:05 hoelzro such passing
14:05 hoelzro many test.
14:06 grondilu .oO( sounds like a doge.  Intentional? )
14:06 kivutar joined #perl6
14:10 berekuk joined #perl6
14:11 hoelzro maaaaaaybe
14:15 kivutar joined #perl6
14:16 araujo joined #perl6
14:19 kbaker joined #perl6
14:20 sqirrel joined #perl6
14:23 berekuk joined #perl6
14:25 [Coke] crapcrapcrap I had a 3 day weekend to work on my perl 6 presentation, and did not.
14:25 kivutar joined #perl6
14:29 skids joined #perl6
14:37 jnap joined #perl6
14:37 salv0 joined #perl6
14:38 ajr joined #perl6
14:39 jnap1 joined #perl6
14:41 kivutar joined #perl6
14:46 grondilu for some reason I have to run make install twice until I can run tests.
14:47 FROGGS I guess all of us have that problem
14:49 berekuk joined #perl6
14:49 * jnthn don't...
14:51 colomon I tried make spectest on jvm (I think) yesterday and it ran a bunch of tests and then hung, very odd
14:52 dalek rakudo/nom: 58b1a27 | moritz++ | Configure.pl:
14:52 dalek rakudo/nom: [Configure] --gen-moar should imply --gen-nqp
14:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/58b1a2726a
14:54 berekuk joined #perl6
14:56 thou joined #perl6
15:00 btyler joined #perl6
15:00 smls joined #perl6
15:02 smls Is there any user-friendly documentation that explains when binding should be used instead of assignment (and when not)?
15:02 kivutar joined #perl6
15:02 grondilu r: use MONKEY_TYPING; class Foo { my sub talk { say "hi" } }; augment class Foo { method talk { talk } }; Foo.new.talk;
15:03 camelia rakudo-parrot bc98d5, rakudo-jvm bc98d5, rakudo-moar bc98d5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Undeclared routine:�    talk used at line 1��»
15:03 smls For example, in yesterday's log I see a bunch of "my $s := Supply.new;" - why the binding?
15:03 dalek roast: 6bb4aad | (Tobias Leich)++ | S05-mass/properties-general.t:
15:03 dalek roast: unskip tests that are meant to work on moar
15:03 dalek roast: review: https://github.com/perl6/roast/commit/6bb4aad231
15:03 moritz smls: I don't think it matters in that case
15:03 johnmilton joined #perl6
15:04 moritz smls: http://doc.perl6.org/language/containers tries to explain what binding is, but not really when to use it
15:04 smls Also, many Perl 6 examples floating around the net use binding for storing a lazy list in an array, but even that seems to work with assignment...
15:04 smls p: my @array = 1..*; say @array[4]
15:04 camelia rakudo-parrot bc98d5: OUTPUT«5␤»
15:04 grondilu when I do monkey typing, the 'my'-scoped lexical variables and functions are not visible inside an 'augment' block?
15:05 moritz smls: the assignment only works properly when the compiler can find out that the list is infinite
15:05 grondilu (see example above)
15:05 moritz smls: otherwise it might reify lots of list items that you don't want; which is why binding is safer in the context of laziness
15:05 grondilu r: use MONKEY_TYPING; class Foo { our sub talk { say "hi" } }; augment class Foo { method talk { talk } }; Foo.new.talk;
15:05 camelia rakudo-parrot bc98d5, rakudo-jvm bc98d5, rakudo-moar bc98d5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Undeclared routine:�    talk used at line 1��»
15:06 grondilu r: use MONKEY_TYPING; class Foo { our sub talk { say "hi" } }; augment class Foo { method talk { self::talk } }; Foo.new.talk;
15:06 moritz grondilu: lexicals are lexically scoped
15:06 camelia rakudo-jvm bc98d5: OUTPUT«Could not find symbol '&talk'␤  in method <anon> at gen/jvm/CORE.setting:12133␤  in any  at gen/jvm/Metamodel.nqp:2610␤  in any find_method_fallback at gen/jvm/Metamodel.nqp:2609␤  in any find_method at gen/jvm/Metamodel.nqp:947␤  in any  at gen/j…»
15:06 camelia ..rakudo-parrot bc98d5: OUTPUT«Could not find symbol '&talk'␤  in method <anon> at gen/parrot/CORE.setting:12154␤  in any  at gen/parrot/Metamodel.nqp:2693␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2681␤  in any find_method at gen/parrot/Metamodel.nqp:948␤  i…»
15:06 camelia ..rakudo-moar bc98d5: OUTPUT«===SORRY!===␤Could not find symbol '&talk'␤»
15:06 moritz so, no, not visible in an augment
15:06 grondilu ok
15:07 grondilu r: use MONKEY_TYPING; class Foo { our sub talk { say "hi" } }; augment class Foo { method talk { Foo::talk } }; Foo.new.talk;
15:07 camelia rakudo-parrot bc98d5, rakudo-jvm bc98d5, rakudo-moar bc98d5: OUTPUT«hi␤»
15:07 smls moritz: does the spec define the cases in which the compiler can be assumed to figure this out?
15:08 moritz smls: I don't know
15:08 colomon smls: not very well, so far as I know.
15:08 smls also, wasn't there supposed to be a "lazy" keyword to tell the compiler when you want lazyness?
15:08 colomon p: my @array = 1...*; say @array[4]
15:08 camelia rakudo-parrot bc98d5: OUTPUT«5␤»
15:08 moritz smls: yes
15:11 smls re. http://doc.perl6.org/language/containers, I still can't make head or tail of it... First it says: "a variable is not a user-exposed object in Perl 6", but then a little later: "objects of type Scalar are everywhere in Perl 6". Which is it?
15:11 moritz a variable isn't an object of type Scalar
15:11 moritz it can contain one
15:11 smls then what is a Scalar?
15:12 moritz it's a container.
15:12 sqirrel joined #perl6
15:12 smls So there are 3 levels: variable - container - value ?
15:12 moritz yes
15:13 smls why would users need to deal with Scalar as an object?
15:14 moritz it plays a critical role in understanding whether something will flatten in list context
15:14 moritz p: my $x = (1, 2, 3); my $cnt = 0; ++$cnt for $x; say $cnt
15:14 camelia rakudo-parrot bc98d5: OUTPUT«1␤»
15:14 moritz p: my \x = (1, 2, 3); my $cnt = 0; ++$cnt for x; say $cnt
15:14 camelia rakudo-parrot bc98d5: OUTPUT«3␤»
15:15 moritz the difference here is that $x is containerized, so it doesn't flatten
15:15 colomon https://news.ycombinator.com/item?id=7095532 # may be the nicest thing I've ever seen about p6 on HN
15:17 ajr_ joined #perl6
15:18 kivutar joined #perl6
15:19 Leland joined #perl6
15:19 smls Wait, what? Variables without sigils?
15:19 smls what are those called?
15:20 smls p: my $x = (1, 2, 3); my $cnt = 0; ++$cnt for @$x; say $cnt  # Also, you could have just used this, no?
15:20 camelia rakudo-parrot bc98d5: OUTPUT«3␤»
15:21 moritz smls: my intention was to demonstrate that Scalar containers matter, not to iterate over a list :-)
15:22 smls ok :)
15:22 smls but why do non-containerized, sigil-less variables exist?
15:23 smls (Other than to confuse Perl 5 developers like myself?)
15:23 Alina-malina joined #perl6
15:23 moritz smls: mostly to be able to pass around stuff without imposing context
15:24 PerlJam mostly?  What else?
15:24 moritz PerlJam: performance optimization
15:24 moritz PerlJam: aesthetics, maybe
15:24 btyler colomon: or about perl at all, if you take the thread as a whole
15:25 PerlJam ah, I hadn't considered that there would be opportunity for optimization
15:25 PerlJam But yes, certainly aesthetics
15:25 moritz one less object to allocate
15:25 smls Can't $scalar variables be optimized to avoid the indirection in many cases?
15:26 moritz smls: that's a bit tricky, because variables can be passed to methods, and you generally don't know to which method a call dispatches at compile time
15:27 moritz but there are cases that have potential for optimization, yes
15:27 jnthn Yeah. "Not easily".
15:27 jnthn But MoarVM knows what containers are, at least.
15:27 jnthn Once it type specializes, and provided it inlines methods, a bunch more opportunities might open up.
15:30 smls But isn't that a reason *against* making Scalar containers so user-visible?
15:30 moritz smls: how would you control whether something flattens?
15:30 smls $foo, @foo, $@foo, list $foo
15:31 jnthn smls: In general, "hide stuff and make it magical" is not really the Perl 6 way.
15:31 jnthn smls: We tend to encode most things through the type system somehow.
15:31 moritz smls: ok, and if you bind that stuff to a sigilless parameter, you need to preserve that
15:32 moritz smls: so you need runtime information about whether something flattens
15:32 moritz (same for returning stuff)
15:32 kivutar joined #perl6
15:35 smls What about Perl 5, does it also use this sort of   "lexpad entry -> container -> value"  indirection?
15:35 smls (behind the scenes)
15:35 [Coke] colomon: were you using the eval server?
15:35 colomon [Coke]: … errr … when?
15:35 moritz smls: not really, but it has tie and magic
15:35 bluescreen10 joined #perl6
15:35 moritz smls: and for symbol tables it has the 'typeglob' layer
15:36 smls moritz: "if you bind that stuff to a sigilless parameter" - well, why allow sigilless parameters then?
15:37 smls as for tie, yeah, I can imagine how that might make things more complicated/slow
15:38 moritz smls: it's very important to be able to pass stuff around without imposing a context; the setting uses it all over the place
15:38 moritz smls: for example for delegation
15:38 moritz smls: also, you still have the same problem for returns
15:39 berekuk joined #perl6
15:40 smls but won't the compiler know the target context when it puts the whole program together?
15:41 moritz no
15:41 moritz and, more importantly, it's fine to return an item in list context
15:41 moritz if you want it to not flatten
15:41 moritz otherwise you couldn't build nested data structures
15:43 moritz I think we all would be happy if we could get rid of a level of indirection, but so far none of us have managed
15:43 PerlJam smls: If you didn't have sigilless parameters, how would you tell the compiler "pass the context through unchanged"?  (You'd kind of shoe-horn it in "scalar context" like P5 does.  P6 tries to be better :)
15:44 * smls is still not convince that a little magical "shoe-horning" is worse than allocating an additional object for each value.
15:45 moritz smls: also, how do you make 'is rw' params without containers?
15:45 smls magical aliasing? :P
15:45 moritz or rw accessors?
15:46 moritz smls: maybe you should apply your magic to rakudo to make it faster :-)
15:46 smls how does Perl 5 do it?
15:46 smls it also aliases function parameters
15:47 PerlJam smls: magic should be used sparingly.
15:47 berekuk joined #perl6
15:49 benabik joined #perl6
15:56 woolfy1 left #perl6
15:59 smls_ joined #perl6
15:59 Psyche^_ joined #perl6
16:03 smls_ On a completely unrelated note: I was wondering, is Damian Conway no longer involved with Perl 6 development?
16:04 kivutar joined #perl6
16:05 smls_ He was always the "Perl celebrity" I associated most with the Perl 6 project, besides Larry.
16:06 FROGGS I've not seen nor talked to him since I am here (Oct '12)
16:08 grondilu he talked about Perl and Perl 6 at OSCON 2013:  https://www.youtube.com/watch?v=MxcVjbyKzQA
16:09 grondilu but he does not stick around here, as far as I know (but I know little :) )
16:11 kivutar joined #perl6
16:12 arnsholt From what I gather, Damian doesn't do IRC, but he's still around
16:18 diakopter he withdrew from helping with Programming Perl 6
16:18 kivutar joined #perl6
16:18 diakopter so there's that
16:18 sqirrel joined #perl6
16:20 berekuk joined #perl6
16:22 benabik Hm.  Looks like recent changes to \c cause test failures with nqp-p
16:23 diakopter well the tests were updated to match latest unicode
16:23 benabik Parrot uses icu, which should be up to date.  Had problems with the vowel separator well before Moar did.
16:24 diakopter well yeah icu upstream should be up to date
16:24 diakopter but that doesn't mean the packages are anywhere close
16:25 benabik Three failures: t/qregex/01-qregex.t 428,429,430 all labeled "hex (\c[])"
16:25 FROGGS umm
16:26 FROGGS nqp: say("A" ~~ /\c[65]/)
16:26 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«A␤»
16:26 FROGGS nqp: say("A" ~~ /\c[]/)
16:26 camelia nqp-jvm: OUTPUT«Unrecognized \c character at line 2, near "[]/)"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤  in charspec (gen/jvm/stage2/NQPHLL.nqp)␤  in backslash:sym<c> (gen/jvm/stage2/NQPP6QRegex.nqp)␤  in !protoregex (gen/jvm/stage2/QRegex.nqp:756)␤  in backslash (gen…»
16:26 camelia ..nqp-parrot: OUTPUT«Unrecognized \c character at line 2, near "[]/)"␤current instr.: 'panic' pc 15952 (gen/parrot/stage2/NQPHLL.pir:5947) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
16:26 camelia ..nqp-moarvm: OUTPUT«Unrecognized \c character at line 2, near "[]/)"␤   at gen/moar/stage2/NQPHLL.nqp:369  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:119)␤ from <unknown>:1  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:charspec:367)␤ from <…»
16:26 kaleem joined #perl6
16:26 * FROGGS looks at the test
16:26 benabik home-brew packages icu4c 42.1, which appears to be the most recent.
16:27 diakopter ok
16:28 benabik Actually....  I'm having that problem on -j and -m as well.
16:28 kivutar joined #perl6
16:28 benabik So, I'm going to revise that to "recent changes to \c cause test failures on my machine"
16:30 benabik Passes all the TODOed \C33 tests though.
16:31 benabik Moar is notably faster than Parrot on this test.
16:31 FROGGS r: say "abc!!def" ~~ /\c[33,33]/
16:31 camelia rakudo-jvm 58b1a2: OUTPUT«(timeout)»
16:31 camelia ..rakudo-parrot 58b1a2, rakudo-moar 58b1a2: OUTPUT«「!」␤␤»
16:32 benabik It appears to fail on all the tests with commas.
16:33 FROGGS r: say("abc!!def" ~~ /c \c[33,33] d/) # that is the problem
16:33 camelia rakudo-parrot 58b1a2, rakudo-jvm 58b1a2, rakudo-moar 58b1a2: OUTPUT«Nil␤»
16:33 benabik nqp: say("abc!!def" ~~ /c \c[33,33] d/)
16:33 FROGGS it was meant to has a width of two
16:34 camelia nqp-moarvm: OUTPUT«Substring length (-5) cannot be negative␤   at gen/moar/stage2/QRegex.nqp:1127  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/QRegex.moarvm:Str:22)␤ from gen/moar/stage2/NQPCORE.setting:674  (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPCORE.setting.moarvm:…»
16:34 camelia ..nqp-parrot: OUTPUT«␤»
16:34 camelia ..nqp-jvm: OUTPUT«java.lang.StringIndexOutOfBoundsException: String index out of range: -5␤  in Str (gen/jvm/stage2/QRegex.nqp:1127)␤  in  (gen/jvm/stage2/NQPCORE.setting:674)␤  in print (gen/jvm/stage2/NQPCORE.setting:673)␤  in say (gen/jvm/stage2/NQPCORE.setting:680)␤  in …»
16:34 FROGGS r: say("abc!!def" ~~ /c \c[33,33]+ d/) # that is the problem
16:34 camelia rakudo-parrot 58b1a2, rakudo-jvm 58b1a2, rakudo-moar 58b1a2: OUTPUT«「c!!d」␤␤»
16:34 FROGGS damn, so there was a reason nobody converted it into an enumcharlist :(
16:36 kivutar joined #perl6
16:38 grondilu timotimo: FYI https://github.com/rakudo/rakudo/pull/240
16:41 benabik Wow.  nqp/m-test takes 0:36.  nqp/p-test takes 2:42
16:41 arnsholt Wow. I should get hacking on Moar =)
16:42 benabik j-test takes approximately forever, of course.  ;-)
16:43 arnsholt Sounds about right
16:47 berekuk joined #perl6
16:49 TimToady backlogus enormus enormus est
16:50 benabik Is \C[33,33] supposed to be the same as \C[33]\C[33]?
16:50 FROGGS benabik: yes
16:50 benabik Or is it a negated literal match?  (i.e. any two characters as long as they aren't \c[33,33])
16:51 benabik (i.e. would match \c[32,33])
16:51 benabik *e.g.
16:51 FROGGS I think \C[33,33] should match \c[32,33]
16:52 jnap joined #perl6
16:53 TimToady a third alternative is that it act like a character class an advance only one char regardless of how much it's matching
16:53 TimToady *and
16:53 djanatyn joined #perl6
16:53 FROGGS I implemented that as an enumcharlist right now by accident
16:54 TimToady which would make it equiv to [<!before \c[33,33]> .]
16:54 benabik That seems...  surprising.
16:54 TimToady is consistent with how <-[]> is defined
16:55 benabik But \c isn't like <[]>.
16:55 TimToady sure it is
16:56 benabik <[!!]> would only match one character.  \c[33,33] matches two.
16:56 TimToady especially when you compare to how tr looks up characters
16:56 FROGGS you talk, and I mop up the blood after dinner :o)
16:57 berekuk joined #perl6
16:58 TimToady in the abstract, we have an alternation of characters, and some of those could be longer than one position, depending on the Unicode level or language
16:58 TimToady the negated forms always advance by a . regardless
16:59 TimToady (the positive forms advance by the actual length matched)
16:59 dalek rakudo-star-daily: fcee223 | coke++ | log/ (5 files):
16:59 dalek rakudo-star-daily: today (automated commit)
16:59 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fcee223052
17:00 sqirrel pleas tell me that "mop up blood after dinner" is a programmers joke....or should I get prepared for a bloodbath before my husband arrives at home? o.O
17:00 TimToady arguably \C[33,33] is not an alternation, unless you count it as an alternation of 1 :)
17:01 TimToady but consider whether \C[10,13]* should stop at the second 10 in "\c[10,10,13]"
17:01 kivutar joined #perl6
17:02 [Coke] colomon: (eval server) when the jvm spec test died on you.
17:02 TimToady and then it starts looking a lot more like a negated character class that happens to support the CRLF "grapheme"
17:02 colomon [Coke]: I just said "make spectest"
17:02 TimToady er, I guse those 10's and 13's should be swapped
17:03 TimToady guess, even
17:04 TimToady or you're processing spanish, and want to match everything up to a \C[ll]
17:04 TimToady well, except that form doesn't work :)
17:06 cognominal__ joined #perl6
17:06 benabik_ joined #perl6
17:07 * TimToady will think a bit to see if there are arguments for the other approaches
17:08 dalek rakudo/nom: 7adb6dd | grondilu++ | src/core/List.pm:
17:08 dalek rakudo/nom: Update List.pm
17:08 dalek rakudo/nom:
17:08 dalek rakudo/nom: adds a ? to the prototype signature so that it can be called with no arguments, as suggested by timotimo.
17:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7adb6dd235
17:08 dalek rakudo/nom: 695493b | timo++ | src/core/List.pm:
17:08 dalek rakudo/nom: Merge pull request #240 from grondilu/patch-1
17:08 dalek rakudo/nom:
17:08 dalek rakudo/nom: Update combinations prototype in List.pm
17:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/695493beca
17:09 cotto joined #perl6
17:10 ivan`` joined #perl6
17:10 bluescreen10 joined #perl6
17:10 djanatyn joined #perl6
17:10 ivan`` joined #perl6
17:12 raiph joined #perl6
17:13 kivutar joined #perl6
17:15 berekuk joined #perl6
17:18 FROGGS joined #perl6
17:21 berekuk joined #perl6
17:23 kivutar joined #perl6
17:24 markov joined #perl6
17:24 xfix .u ☃
17:24 yoleaux U+2603 SNOWMAN [So] (☃)
17:28 berekuk joined #perl6
17:34 kivutar joined #perl6
17:36 TimToady jnthn: I believe OSCON has a submission deadline coming up soonish, if you want to consider that
17:37 djanatyn joined #perl6
17:38 berekuk joined #perl6
17:43 kivutar joined #perl6
17:46 PZt joined #perl6
17:48 ajr joined #perl6
17:49 jeffreykegler joined #perl6
17:49 spider-mario joined #perl6
17:51 [Sno] joined #perl6
17:52 kivutar left #perl6
17:53 lizmat joined #perl6
17:55 census joined #perl6
17:57 berekuk joined #perl6
18:07 timotimo fwiw, rakudo-parrot doesn't start up much slower than rakudo-moar does
18:07 timotimo 0.31s vs 0.21s respectively
18:08 diakopter yeah it's pretty much the same for me too
18:09 lee__ 33% faster! :P
18:11 benabik 2.16s vs 0.72s here.  Although I'm running debug builds of both.
18:11 Rotwang joined #perl6
18:11 timotimo i have --debug=3 of moarvm, too
18:11 timotimo but --optimize=1 (which is the default)
18:12 japhb Which is faster?  (I haven't backlogged yet.)
18:12 telex joined #perl6
18:13 benabik Moar
18:13 * benabik work &
18:14 berekuk joined #perl6
18:15 raydiak good morning #perl6
18:16 timotimo hello raydiak :)
18:17 japhb Wow, 1.5x to 3x faster startup?  Very nice indeed!
18:17 * japhb wonders how many of his personal tools can already have s/perl6-p/perl6-m/ in the shebang for an instant win.
18:18 timotimo any that don't need sockets at the very least
18:18 timotimo and i think dir() is also currently not perfect
18:20 jnthn japhb: Now imagine that for your concurrent ones too... :)
18:21 berekuk joined #perl6
18:21 TimToady eqv was lazy when I tested it, but maybe I tested it on niecza at the time
18:21 timotimo raydiak: can you try to run pray under rakudo-moar?
18:22 TimToady I would say that an eqv that calls .elems first is simply incorrect in the face of laziness
18:23 raydiak timotimo: sure, give me some time to compile it [thought it scares me...jvm is slow enough atm :) ]
18:24 raydiak which reminds me, japhb: did you decide anything on your priority list you were talking about a few days ago? I'm almost at a stopping point and will be able to work on that math lib you conceived of
18:24 [Coke] r: say $a=;
18:24 pecastro joined #perl6
18:24 camelia rakudo-parrot 58b1a2, rakudo-jvm 58b1a2, rakudo-moar 58b1a2: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Variable '$a' is not declared�at /tmp/tmpfile:1�------> [32msay $a[33m�[31m=;[0m�    expecting any of:�        postfix�»
18:24 * timotimo tries to hook up perl6-bench and rakudo-moarvm
18:24 [Coke] ^^ was that Mouq++ ?
18:26 timotimo was what exactly?
18:28 timotimo what's necessary to let rakudo-moar run from outside the rakudo dir?
18:29 jnthn timotimo: That already worked for me. How does it fail for you?
18:29 timotimo Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp'
18:29 jnthn timotimo: Oh, that one. Zap your install dir...
18:29 timotimo will do
18:29 jnthn timotimo: We used to install things in wrong places, it seems.
18:29 [Coke] timotimo: note that there was one single response, not three different ones becaue the temp file changed.
18:29 jnthn timotimo: And then stopped, but now old versions sit somwehere in install...
18:30 timotimo fair enough!
18:30 timotimo yes, Mouq++ did that
18:30 berekuk joined #perl6
18:45 berekuk joined #perl6
18:46 locsmif joined #perl6
18:50 dalek specs: 1206d5e | larry++ | S03-operators.pod:
18:50 dalek specs: eqv must respect laziness
18:50 dalek specs: review: https://github.com/perl6/specs/commit/1206d5e6d1
18:51 raiph joined #perl6
18:54 eternaleye joined #perl6
18:54 [Coke] huh: https://www.gnu.org/software/perl/manual/
19:03 raydiak "because they found it useful to have the core Perl documentation available in Info and other formats"
19:03 raydiak in what way is that useful?
19:03 timotimo info is the best help system ever devised
19:04 geekosaur ...except for all the others...
19:04 raydiak guess I don't know much about it, than
19:04 raydiak *then
19:04 moritz ... except that nobody uses it
19:04 timotimo yeah, it's stupid unintuitive to use
19:06 dalek specs: 8601457 | larry++ | S05-regex.pod:
19:06 dalek specs: \c \C \x \X \o \O create "long characters"
19:06 dalek specs: review: https://github.com/perl6/specs/commit/8601457bf3
19:07 japhb__ jnthn, Yes, fast startup for my concurrent stuff will be VERY VERY NICE.
19:07 * japhb__ wants ALL THE THINGS.
19:08 dalek roast: 1bf7816 | (Tobias Leich)++ | S05-mass/properties-derived.t:
19:08 dalek roast: fix test about Unassigned and ID_Continue
19:08 dalek roast:
19:08 dalek roast: \x[9FC4] is in both ID_Continue and ID_Start. In fact, all ID_Start are in ID_Continue.
19:08 dalek roast: \x[27EC] is an assigned char now (MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET), so choosed something else.
19:08 dalek roast: review: https://github.com/perl6/roast/commit/1bf7816229
19:09 * timotimo pulled all the commits
19:09 timotimo japhb__: can we teach perl6-bench to cache git repositories if they have the same address?
19:09 * japhb__ blinks
19:10 japhb__ .oO( What makes tonight different from all other nights? )
19:10 timotimo well ./bench fetch will fetch the same stuff like 4 times
19:10 arnsholt Yeah, I'm sure info is awesome (it certainly sounds good), it's just that the interface is atrocious
19:10 japhb__ timotimo, It's fetching into the local master mirrors, and then fetching from the mirrors into the individual copies.
19:10 japhb__ Only one fetch happens "over the wire"
19:11 timotimo fair enough
19:11 FROGGS TimToady: so \C[1,2] matched one but \c[1,2] two chars? just wanna confirm, before I fix nqp :o)
19:12 FROGGS and btw, is <:Any> specced somewhere?
19:12 * timotimo tries his rakudo-moar config for perl6-bench
19:13 japhb__ That said, any way that you know of to speed up that operation while at the same time retaining the isolation properties, I'm all ears.
19:13 timotimo what are isolation properties? :|
19:13 timotimo also, i'd love a fancier display during benchmarking to see where things are going and perhaps an estimation of the remaining time
19:13 timotimo and all kinds of convenient things like that :P
19:14 japhb__ When I can count on everyone being able to use r-m (i.e. when an r-m is released that supports panda and all the piping and such bench does), I'll consider doing that stuff concurrently.
19:14 timotimo i probably asked this already, but what are our plans for testing the same benchmark across historical versions of given backends?
19:14 timotimo yes, that would be quite cool
19:14 timotimo especially since the builds could parallelize, but don't
19:14 eternaleye joined #perl6
19:14 japhb__ timotimo, the isolation is that you can't accidently mess things up in the mirror or in another clone when "trying stuff out" in one of the child clones.
19:15 timotimo ah, good point. i hadn't considered that
19:15 timotimo you already use the "make hardlinks" feature, right?
19:15 japhb__ timotimo, It's automatic when you do a same-local-disk clone.
19:18 japhb__ timotimo, Historical benchmark history?  I think we need a few things there:  1) more tests, 2) a fair way to summarize all the test results to one (or a small number) of results per-backend-per-rev, 3) an accessible place to store the data, 4) a decent UI to display that data, 5) some otherwise idle systems donating time to run the tests fairly, and 6) retroactive runs to fill in older data (optional, but may be desirable),
19:20 timotimo what i mean is a single benchmark over time
19:21 TimToady FROGGS: yes, \C[1,2] only matches one char when \c[1,2] doesn't match at this position
19:22 arnsholt Summarisation of several runs should probably be the median, with interquartile range or something like that if you want to show variation too
19:22 FROGGS k, thanks
19:22 arnsholt (Can't remember how p6bench does that, even though I attended japhb__'s talk)
19:22 japhb__ timotimo, Yes, I'm saying that while it will be nice to track e.g. rc-forest-fire over time, since it includes enough different idioms to be "interesting" by itself, for a lot of the microbenchmarks, you want to aggregate them like with speed.pypy.org
19:24 japhb__ arnsholt, most of the benchmarks are better served with fastest-of-N rather than showing performance variation, because almost all of the variation for a given compiler, test, and scale will end up being external effects (cron jobs firing and suchlike).
19:24 timotimo well... i guess
19:25 arnsholt Yeah, that's true
19:25 timotimo hm. my old laptop is no longer needed for laptopy things
19:25 japhb__ I'm not doing things like DB accesses, or (other than rc-forest-fire), any randomized inputs.
19:25 timotimo i could make it wake up once a day and do a benchmark run of the newest commit
19:25 japhb__ Ooh, that's a cool idea.
19:26 japhb__ You could have it do runs when "Europe is asleep", because that's when people have mostly gotten in their commits for the day.
19:26 arnsholt Yeah, that'd be awesome!
19:26 TimToady and <:Any> appears to have been defined by Perl 5
19:26 arnsholt Could save us some day when it turns out we have a massive performance regression somewhere too =)
19:26 bjz joined #perl6
19:27 TimToady FROGGS: see the mktables script in the P5 distribution for more about 'Any'
19:27 japhb__ arnsholt, definitely.
19:27 FROGGS TimToady: I will!
19:27 japhb__ It already found some really weird performance corner cases during the run-up to YAPC::NA last year.
19:27 raydiak timotimo: Pray gives "Cannot find method" errors under moar. Anything specific jump to mind that I might tweak to make it work?
19:27 timotimo aaw :(
19:28 timotimo no clue, sorry
19:28 raydiak can't find anything special about those methods either, so far
19:30 timotimo japhb__: i now get Compiler variant 'rakudo-parrot' is unknown!  To list compiler variants, use:
19:30 timotimo for parrot, moar and jvm
19:30 timotimo what could i have done wrong?
19:30 timotimo --list-variants displays absolutely nothing! =o
19:31 timotimo ah, i dropped a { from compilers.pl
19:32 timotimo and didn't get an error out of it :(
19:36 timotimo hm. i could also use my *new* laptop for benchmarks, as it's quite a bit faster than the old one and i'm more likely to keep its system maintained properly
19:36 japhb__ timotimo, really, no error?  Funky.
19:36 japhb__ Oh right, Perl 5 eval.  Sigh.
19:36 timotimo heh :)
19:37 timotimo hm. i still don't know what the exact status of my richards benchmark is and wether or not somebody is porting it to perl5
19:38 japhb__ TimToady, feel free to chastise the Perl 5 designer.  He could use it.  ;-)
19:39 japhb__ Is there a status question *other* than the porting one?
19:39 japhb__ Because if that's all that's needed, I could probably find some tuits somewhere.
19:39 japhb__ (Steal them from Net--IRC, maybe.)
19:39 timotimo i'm not exactly sure if i made it work properly the last time i tried :|
19:39 timotimo as in: does the benchmark give the expected results?
19:40 timotimo i *think* i did make it work
19:40 japhb__ Oh, gotcha.  OK, that's worth looking at.
19:41 timotimo ah, i only have an nqp version
19:42 timotimo after this benchmark run completes ( i'm not sure if it's doing moar right now?) i'll push commits to enable moar building and timing :)
19:42 timotimo should we start measuring maxrss in addition to time?
19:47 moritz rss isn't all that interesting
19:48 moritz virtual memory usage is
19:48 timotimo ah?
19:55 moritz just today I watched parts of a talk by tim bunce where he tried to explain that
19:56 pdcawley joined #perl6
19:56 moritz http://blog.timbunce.org/2012/10/05/introducing-develsizeme-visualizing-perl-memory-use/
19:58 timotimo not a single parrot benchmark could be run :o
19:59 timotimo beh. the videos have been removed from blip.tv
20:01 timotimo even with --verbose, timeall didn't output the error message rakudo-parrot gave
20:09 SHODAN joined #perl6
20:12 eternaleye joined #perl6
20:13 timotimo blergh, the jvm benchmarks take soooo loooong
20:14 benabik s/ benchmarks//
20:17 jdv79 isn't that why jvms are usually long running like a daemon or a j2ee app server;)
20:17 jdv79 working with j2ee stuff was easy when i did it for a few months because most of my time was spent waiting for the server to restart.
20:18 timotimo yeah, but these are our microbenchmarks :\
20:18 timotimo we really ought to come up with better benchmarks
20:18 japhb__ timotimo, Yes, measuring mem size as well as runtime would definitely be nice.
20:18 timotimo forest fire is nice enough, but it's actually so slow that it hardly does even one iteration and "sometimes one data point" is useless
20:19 japhb__ timotimo, Well, you can turn up the test run time to capture more data points.
20:19 jnthn I'm not sure that's the benchmark's fault :P
20:19 japhb__ Oh, and timotimo++ for perl6-bench Moar patches.
20:19 timotimo :)
20:20 timotimo anyway, the jvm benchmark run is going to take another like 5 hours
20:20 timotimo after that i can look into why the parrot backend benchmarks didn't run
20:20 timotimo then i'll be able to show some results :)
20:20 japhb__ Wow, that's one SLOW computer!
20:20 japhb__ (And I should know, I have some very slow ones of my own.)
20:21 timotimo hah :)
20:21 timotimo the 10 runs done to measure the compile time definitely don't help
20:21 timotimo each takes almost 5 seconds
20:22 japhb__ It's all tuneable, just less accurate when tuned down *too* much.  But if the compiles are really slow, they probably have lower relative variance, so you'd probably be fine.
20:22 timotimo so that's like 20 minutes wasted on finding out the startup times :P
20:25 eternaleye joined #perl6
20:26 skids You're welcome to throw my Sum module in there as a macro-benchmark :-)
20:26 skids It is *dreadfully* slow :-)
20:27 timotimo oh yikes :)
20:27 timotimo have you already looked if it runs under moarvm?
20:27 timotimo i'm not aware of a specific reason why it would be much faster there, but ... you never know :)
20:27 skids No I haven't had the time to compile other than star.
20:27 timotimo fair enough
20:27 timotimo some time in the future we'll get proper compact/native arrays. that'll be very nice.
20:28 SHODAN joined #perl6
20:29 skids I did replace some hypers with equivalent X ops at one point but other than that and trying to tighten types up I haven't done any tweaking for performance.
20:29 skids And yes, proper native types is probably the key to that.
20:30 timotimo properly natively typed code has no reason to be much slower than compiled C. I WANT.
20:33 * skids waiting 90+ minutes for a mysql database restore at the moment :-)
20:34 skids with no status bar.
20:34 timotimo oh mysql, you so wacky
20:36 skids eh, it gave me time to google for and find "SHOW TABLE STATUS" so there's an upside.
20:37 eternaleye joined #perl6
20:39 araujo joined #perl6
20:39 araujo joined #perl6
20:41 raydiak r: class A { has $.a = 0 }; for ^2 { my $a = .a given A.new; say $a; }
20:41 camelia rakudo-moar 695493: OUTPUT«0␤(Any)␤»
20:41 camelia ..rakudo-parrot 695493, rakudo-jvm 695493: OUTPUT«0␤0␤»
20:41 raydiak where are moar bugs reported?
20:42 timotimo oh wow, that's weird
20:42 timotimo jnthn: did you see that? wow!
20:42 raydiak reduced from my Pray failure
20:43 moritz raydiak++
20:43 moritz raydiak: rakudobug@perl.org, like all rakudo bugs
20:43 moritz r: .say given 42;
20:43 camelia rakudo-parrot 695493, rakudo-jvm 695493, rakudo-moar 695493: OUTPUT«42␤»
20:44 moritz r: for ^2 { .say given 42; }
20:44 camelia rakudo-parrot 695493, rakudo-jvm 695493, rakudo-moar 695493: OUTPUT«42␤42␤»
20:44 timotimo does it not thunk the A.new?
20:44 raydiak :q
20:44 * hugme hugs raydiak, good vi(m) user!
20:44 raydiak heh, mt
20:45 timotimo r: class A { has $.a = 0; submethod new { say "hi"; self.bless() } }; for ^2 { my $a = .a given A.new; say $a; }
20:45 camelia rakudo-moar 695493: OUTPUT«hi␤0␤hi␤(Any)␤»
20:45 camelia ..rakudo-parrot 695493, rakudo-jvm 695493: OUTPUT«hi␤0␤hi␤0␤»
20:45 timotimo r: class A { has $.a = 0; submethod new { say "hi"; my $res = self.bless(); say $res.a; $res } }; for ^2 { my $a = .a given A.new; say $a; }
20:45 camelia rakudo-moar 695493: OUTPUT«hi␤0␤0␤hi␤0␤(Any)␤»
20:45 camelia ..rakudo-parrot 695493, rakudo-jvm 695493: OUTPUT«hi␤0␤0␤hi␤0␤0␤»
20:46 grondilu m: class A { has $.a = 0 }; for ^2 { say my $ = .a given A.new }
20:46 camelia rakudo-moar 695493: OUTPUT«0␤0␤»
20:47 zakharyas joined #perl6
20:47 jeffreykegler left #perl6
20:48 eternaleye joined #perl6
20:51 dalek roast: 51f135a | (Tobias Leich)++ | S05-mass/properties-derived.t:
20:51 dalek roast: LEFT PARENTHESIS does not have prop OtherMath
20:51 dalek roast: review: https://github.com/perl6/roast/commit/51f135a092
20:54 berekuk joined #perl6
20:56 [Coke] (moar bugs) rakudo-moar bugs are rakudobug'd. if you know for sure it's a moar bug, can put it on moar's github page, I think.
20:56 [Coke] (but if you don't know, that's fine, just rakudobug it)
20:57 timotimo my benchmarks are almost halfway done
20:57 raydiak bug filed
20:57 dalek nqp: f9e23e6 | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp:
20:57 dalek nqp: align \c\C to latest spec
20:57 dalek nqp:
20:57 dalek nqp: \C[13,10] behaves like an enumcharlist while \c[13,10] literal-ish.
20:57 dalek nqp: https://github.com/perl6/specs/commit/8601457bf3d072f8b39730b0c5f6525a4a8c2bd3
20:57 dalek nqp: review: https://github.com/perl6/nqp/commit/f9e23e6637
20:58 jnthn rylinaux: Wow, nice golf
20:58 jnthn uh, raydiak
20:58 jnthn d'oh
20:58 timotimo knowing jnthn, the bug is probably going away tonight :3
20:58 moritz raydiak++
20:58 eternaleye joined #perl6
20:59 * skids discovers shapecatcher.com, has geekgasm, then notices all the subpages are borked.
20:59 raydiak jnthn: thanks :)
21:00 jnthn Though, it does golf rather further.
21:00 jnthn m: for ^2 { my $a = $_ given 0; say $a; }
21:00 camelia rakudo-moar 695493: OUTPUT«0␤(Any)␤»
21:00 timotimo so the second time it's executed the given does nothing?
21:03 raydiak m: for ^2 { my $a = 0 given True; say $a; }
21:03 camelia rakudo-moar 695493: OUTPUT«0␤(Any)␤»
21:03 timotimo oh, huh
21:04 raydiak the whole thing before given apparently does nothing the 2nd time
21:04 timotimo m: for ^2 { my $a = say "test" given True; say $a }
21:04 camelia rakudo-moar 695493: OUTPUT«test␤True␤test␤(Any)␤»
21:04 timotimo but it does run
21:04 timotimo 23rd out of 43 benchmarks ...
21:04 jnthn yeah, looking
21:04 raydiak between the = and the given, then
21:05 timotimo raydiak: do you want to put a test case into roast? :)
21:05 jnthn Yes, a test case would be great
21:06 * raydiak does not know about roast
21:06 raydiak but will go look; I'm sure I could
21:07 raydiak ah, roast is just what you call the test suite
21:07 jnthn spectesting a fix
21:07 timotimo yup
21:07 berekuk joined #perl6
21:08 raydiak looking to see where that might belong...
21:09 jnthn In a given.t I guess
21:09 jnthn S04-statement-modifiers/given.t
21:09 moritz that looks right
21:10 raydiak giving it a shot...never wrote a test before, but it all seems simple
21:11 dalek nqp: 2dcf199 | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/CStruct.java:
21:11 dalek nqp: Properly tag Structure classes for CStruct as by reference.
21:11 dalek nqp:
21:11 dalek nqp: This fixes the problem with CStructs in CStructs. Last CStruct related TODO is
21:11 dalek nqp: CArray of CStruct, then callbacks and refreshing from native memory are all
21:11 dalek nqp: that's left.
21:11 dalek nqp: review: https://github.com/perl6/nqp/commit/2dcf199865
21:11 FROGGS awesome!
21:12 arnsholt That one turned out to be a lot easier than I feared (thankfully)
21:12 timotimo arnsholt++ # jvm NativeCall stuffs
21:12 jnthn yo dawg, I heard you like CStructs...
21:12 arnsholt CArray of CStruct should be mostly a matter of plumbing, refreshing likewise
21:12 jnthn arnsholt++
21:12 btyler joined #perl6
21:12 arnsholt I haven't looked to hard at callbacks, but from the looks of it JNA makes it reasonable
21:13 timotimo so, rakudo-jvm star in february seems absolutely doable
21:13 timotimo i think the january release is going to happen Real Soonâ„¢?
21:14 jnthn Thursday
21:14 jnthn e
21:14 dalek rakudo/nom: bbacaa2 | jnthn++ | src/Perl6/Actions.nqp:
21:14 jnthn argh
21:14 dalek rakudo/nom: Fix statement modifying given on Moar.
21:14 dalek rakudo/nom:
21:14 dalek rakudo/nom: raydiak++ for golfing a bug down to this construct.
21:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bbacaa2872
21:14 timotimo indeed, in 2 days
21:14 jnthn Aaaaand...masak is on the hook for it :)
21:14 FROGGS umm, <:Any> is weird: All Unicode code points: [\\x{0000}-\\x{10FFFF}]
21:14 arnsholt Yeah, I think NativeCall should be in shape for a February release
21:15 arnsholt Thursday is a bit harder, since I suspect my advisor wants me to write on my thesis (and not just doing Perl 6 hackery)
21:16 arnsholt jnthn: Also, it turns out JNA and C# have different approaches to how to signal "this struct should be flattened/not flattened"
21:16 treehug88 joined #perl6
21:16 timotimo and tadzik will do the star release i see.
21:17 arnsholt JNA has it as an intrinsic property of the type, while C# does it at the member level
21:18 eternaleye joined #perl6
21:20 dayangkun joined #perl6
21:22 lue FROGGS: where is <:Any> defined?
21:22 jnthn arnsholt: Curious, given that sturct vs class in C# is a properly of the type...
21:23 FROGGS lue: in Perl 5's guts
21:23 FROGGS like Word
21:23 lue FROGGS: huh. Sounds to me like /./ in any case
21:23 FROGGS nr: say "a" ~~ /<:Word>/
21:23 dalek roast: ce545c7 | raydiak++ | S04-statement-modifiers/given.t:
21:23 dalek roast: Add test for RT #121049 - postfix given in a loop
21:23 dalek roast: review: https://github.com/perl6/roast/commit/ce545c7f7f
21:23 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121049
21:23 camelia rakudo-parrot 695493: OUTPUT«Unicode property 'Word' not found␤  in regex  at /tmp/tmpfile:1␤  in method ACCEPTS at gen/parrot/CORE.setting:12497␤  in method ACCEPTS at gen/parrot/CORE.setting:778␤  in block  at /tmp/tmpfile:1␤␤»
21:23 camelia ..rakudo-jvm 695493: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {Word} near index 7␤\p{Word}␤       ^␤␤Error while creating backtrace: Cannot unbox a type object␤  in block  at gen/jvm/CORE.setting:10596␤  in block  at gen/jvm/CORE.setti…»
21:23 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��WORD does not exist as a UCD table at /tmp/tmpfile line 1:�------> [32msay "a" ~~ /<:Word[33m�[31m>/[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (d…»
21:24 FROGGS lue: yeah, hence the "weird"
21:24 Mouq joined #perl6
21:24 lue P5's /./ didn't match \n though...
21:24 arnsholt jnthn: What're the differences between the two in C# again? I can't remember
21:24 jnthn arnsholt: struct is a value type, allocated on the stack or directly in an array or other class/struct body rather than being a GCable object
21:24 arnsholt At any rate, the C# FFI thing (name escapes me ATM) uses annotations to signal whether a member struct is inlined or a pointer
21:24 arnsholt Ah, right
21:25 jnthn And C# calls annotations attributes ;)
21:25 arnsholt Not sure how structs interact with the FFI facilities. It's been a while since I looked at the C# side of the fence
21:25 daxim joined #perl6
21:25 timotimo are we making progress on the rakudo .net backend yet? :)
21:25 [Coke] timotimo: *thwap*
21:26 raydiak (now to recompile moar, which takes longer than it took jnthn++ to fix the bug)
21:27 tadzik timotimo: uh-oh :>
21:27 btyler on the topic of r-m bugs - is there anything folks on osx/linux platforms could do to help diagnose the REPL problem in r-m?
21:28 FROGGS in case my math is correct, we are down to 184 fails... and we miss 42 test from IO-Socket-INET.t
21:29 FROGGS umm, somebody fudged IO-Socket-INET.t wrong >.<
21:30 FROGGS it skips everywhere with: 'rakudo.jvm systemic failures/OOM error'
21:32 jnthn btyler: Yes, apply https://gist.github.com/jnthn/8548807 in Moar and make install it and then try again (no need to rebuild anything else)
21:32 jnthn btyler: Let me knwo if it helps or not
21:32 btyler jnthn: roger!
21:32 [Coke] FROGGS: looks like it was me - the #?rakudo.jvm emit should only be emitting on rakudo.jvm
21:33 FROGGS hmmm, my wifi is laggy... must push harder...
21:34 timotimo 10 more tests to go
21:34 [Coke] and it looks like rakudo.moar is running the .t, and rakudo.jvm is running the .rakudo.jvm
21:34 [Coke] which platform are you seeing the skips where you shouldn't?
21:34 dalek roast: dc71d4b | (Tobias Leich)++ | S32-io/IO-Socket-INET.t:
21:34 dalek roast: emit skip for rakudo.jvm only
21:34 dalek roast: review: https://github.com/perl6/roast/commit/dc71d4b798
21:34 [Coke] OH.
21:34 FROGGS [Coke]: well, that is the plan if there is no actual fudge for moar
21:34 kaare__ joined #perl6
21:34 timotimo hehehehe
21:34 [Coke] I bet we need #?rakudo.jvm emit's on the 2 lines interspersed there.
21:35 [Coke] checking...
21:35 FROGGS [Coke]: it skipped on parrot too
21:35 timotimo yeah, the emit lines did nothing
21:35 timotimo and the following lines were unconditionally in the file
21:35 eternaleye joined #perl6
21:36 [Coke] yup. my bad. fixing.
21:36 timotimo froggs already fixed it, though
21:37 dalek perl6-roast-data: de807de | coke++ | / (6 files):
21:37 dalek perl6-roast-data: today (automated commit)
21:37 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/de807de4ce
21:37 FROGGS [Coke]: just pull and lean back :o)
21:38 [Coke] FROGGS++
21:38 Mouq jnthn: That patch you made gives me:
21:38 Mouq error: too many arguments to function call, expected 2, have 3
21:39 Mouq GET_REG(cur_op, 0).s = MVM_file_readline_fh(tc, GET_REG(cur_op, 2).o, GET_REG(cur_op, 4).s);
21:39 [Coke] good catch. (and thanks for improving parrot's numbers at the expense of jvm & moar. :)
21:39 FROGGS Mouq: more like this I think: GET_REG(cur_op, 0).s = MVM_file_readline_fh(tc, GET_REG(cur_op, 2).s);
21:39 jnthn uh, .o but yes
21:40 jnthn readlineint takes one extra arg
21:40 jnthn Its the final one that needs to go
21:40 FROGGS yeah: this GET_REG(cur_op, 0).s = MVM_file_readline_fh(tc, GET_REG(cur_op, 2).o);
21:40 jnthn Yeah, try that
21:40 Mouq Ok
21:40 jnthn It's not a patch to apply (though I did intend it to build :)) so much as one to try and eliminate a possible cause.
21:41 timotimo oh, we're down to only 99.09 of JVM, because of some unskipped tests
21:41 eternaleye joined #perl6
21:42 FROGGS yeah, I wanted to play fair and unskipped stuff that works on the jvm
21:42 FROGGS I hope it works on all jvms out there
21:43 btyler drat, mouq beat me to it :) was making a gist
21:43 timotimo not on avian i'm afraid
21:43 Mouq jnthn: readline from filehandle requires an object with REPR MVMOSHandle
21:43 timotimo (they don't have indy)
21:43 [Coke] FROGGS: thanks. that was on my list of things to do (make tickets or unfudge all rakudo skips/todos)
21:44 Mouq I can gist the full error from perl6-m if you want
21:44 FROGGS Mouq: you get one from openfh
21:44 [Coke] FROGGS++
21:44 Mouq FROGGS: What?
21:44 FROGGS [Coke]: there are still lots of unneeded/wrong skips
21:45 FROGGS Mouq: the object you pass as the second parameter, must be a filehandle you get from open()
21:45 FROGGS Mouq: though, I have no idea what you are up to, so if I am telling rubbish... that's why
21:45 jnthn FROGGS: I think it's stdin that should be making it in there...
21:46 btyler FROGGS: just trying to figure out the repl borked-ness on linux/osx for r-m
21:46 [Coke] FROGGS: well, once something is skipped, someone has to go through and check them.
21:46 Mouq Oh, I had an incorrect number :/
21:46 [Coke] and some of the java stuff was skipped when were at this point in the process. (I haven't skipped anything in moar yet to avoid this, because I want tickets for everything when we skip it for moar)
21:47 [Coke] see also "nom regression" for more evil.
21:47 Mouq K, how 'bout "Failed to seek in filehandle: 9" from perl6-m
21:47 FROGGS [Coke]: yeah, skip and forget :/
21:47 LLamaRider joined #perl6
21:47 FROGGS Mouq: that sounds like a place where you actually have to hack something
21:48 Mouq Coming from "my $code := nqp::readlineintfh($stdin, ~$prompt);"
21:50 eternaleye joined #perl6
21:52 btyler the full error, with git diff for the patch applied: https://gist.github.com/kanatohodets/ca61c18cb8f2d8776f6e
21:53 hoelzro new PR for pygments lexer \o/
21:54 Mouq If someone wants to fix an R-M S32-exceptions test, btw, they could make 6model/6model.c:44 read "No such method '%s' for invocant of type '%s'", and Rakudo will substitute a typed exception for it
21:55 Mouq I don't know how to get the type name
21:55 Mouq r: 1.foo
21:55 camelia rakudo-moar 695493: OUTPUT«Cannot find method 'foo'␤  in block  at /tmp/tmpfile:1␤␤»
21:55 camelia ..rakudo-parrot 695493, rakudo-jvm 695493: OUTPUT«No such method 'foo' for invocant of type 'Int'␤  in block  at /tmp/tmpfile:1␤␤»
21:58 * Mouq should've followed Moar closely, is pretty lost trying to hack on MoarVM related things
21:59 timotimo 2:30h for moar+jvm benchmarks
21:59 timotimo i'm pretty sure more than half the time was spent on jvm, maybe even two thirds
22:01 timotimo ah, the rakudo-parrot build just failed
22:02 dalek nqp: 0b57c7d | (Tobias Leich)++ | tools/build/MOAR_REVISION:
22:02 dalek nqp: bump moar rev for unicode fixes
22:02 dalek nqp: review: https://github.com/perl6/nqp/commit/0b57c7dcba
22:02 FROGGS timotimo: the build failed??
22:03 timotimo yup. i'll soon see why
22:08 Mouq Looks like MVM_platform_lseek is failing
22:08 Mouq Well, obviously
22:09 Mouq but specifically, MVM_platform_lseek(handle->body.u.fd, offset, flag)
22:09 timotimo i seem to be able to build rakudo-parrot just fine; huh?
22:09 FROGGS and this is the seek used in eof check?
22:09 timotimo are offset and flag correct?
22:10 FROGGS Mouq: I tried to set ...u.fd = type in getstdstream, but this segfaults at some point
22:10 timotimo time for the benchmarks
22:10 Mouq It's in void MVM_file_seek
22:10 timotimo wow, it's so much faster
22:10 FROGGS timotimo: u.fd is not set I think
22:12 jnthn timotimo: What's the "it" here? :)
22:12 timotimo jnthn: startup time of parrot vs jvm
22:14 raydiak .oO(or startup time of a diesel engine in alaskan winter vs jvm, for that matter)
22:14 timotimo :)
22:17 dalek nqp: d0c5f84 | (Tobias Leich)++ | t/qregex/rx_metachars:
22:17 dalek nqp: un-todo passing \C tests
22:17 dalek nqp: review: https://github.com/perl6/nqp/commit/d0c5f847aa
22:17 dalek rakudo/nom: 0d90b30 | (Tobias Leich)++ | tools/build/NQP_REVISION:
22:17 dalek rakudo/nom: bump nqp rev for unicode fixes
22:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d90b30c1e
22:18 Mouq How do I check the "errno" returned by a func in C?
22:18 Mouq As per http://pubs.opengroup.org/onlinepubs/009695399/functions/lseek.html
22:18 timotimo print errno ← in gdb
22:18 timotimo errno is a global variable
22:19 Mouq timotimo: Ok, thanks
22:19 FROGGS printf("%d\n", errno);
22:19 Mouq So it is being printed already :P
22:19 timotimo perror("seek")
22:19 FROGGS TIMTOWTDI, even in C :P
22:21 Mouq Sooo then EINVAL "The whence argument is not a proper value, or the resulting file offset would be negative for a regular file, block special file, or directory."
22:22 Ayiko joined #perl6
22:25 Mouq And the offset is 0
22:25 Mouq ...so?
22:25 * Mouq is not a C hacker
22:25 timotimo something about ttys?
22:25 FROGGS Mouq: what is in u.fd?
22:25 geekosaur what is the whence? (flag)
22:26 FROGGS as I mentioned, I think it is not initialized for streams
22:26 FROGGS I guess SEEK_CUR
22:27 geekosaur see, uninitialized would normally get you EBADF unless it just happens to contain a value which is a valid fd
22:28 hoelzro new PR for rakudo moar-support: https://github.com/rakudo/rakudo/pull/242
22:29 [Sno] joined #perl6
22:29 timotimo 34 of 43 benchmarks done ...
22:30 Mouq handle->body.u.fd is -1312510592 (?)
22:30 timotimo hoelzro: moar-support is dead
22:30 timotimo long live nom!
22:30 hoelzro what?
22:30 hoelzro ='(
22:30 Mouq hoelzro: merged!
22:30 hoelzro wow, that's great news!
22:30 hoelzro since when?
22:30 timotimo a couple of days
22:31 hoelzro I'll fix my PR then
22:32 Mouq Well, handle->body.u.fd changes with each run, but printf'ing it to "%d" indicates that it's at least initialized
22:32 hoelzro ugh, had to create a new one =/
22:32 dalek nqp: e3e0d0b | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
22:32 dalek nqp: Fix incorrect call to get new register.
22:32 dalek nqp: review: https://github.com/perl6/nqp/commit/e3e0d0bbbd
22:32 dalek nqp: b50229c | jnthn++ | src/vm/moar/QAST/QAST (2 files):
22:32 dalek nqp: Fix some named param usages.
22:32 dalek nqp:
22:32 dalek nqp: Moar didn't detect these before.
22:32 dalek nqp: review: https://github.com/perl6/nqp/commit/b50229c90f
22:32 dalek nqp: 0e91789 | jnthn++ | / (2 files):
22:32 hoelzro https://github.com/rakudo/rakudo/pull/243
22:32 dalek nqp: Start emitting extra named args check.
22:32 dalek nqp: review: https://github.com/perl6/nqp/commit/0e91789027
22:33 dalek rakudo/nom: 3552c6e | (Rob Hoelz)++ | tools/lib/NQP/Configure.pm:
22:33 dalek rakudo/nom: Make sure --gen-moar implies --gen-nqp
22:33 dalek rakudo/nom:
22:33 dalek rakudo/nom: It does only if --backends is not set.  Well, it did.  Now it always
22:33 dalek rakudo/nom: does!
22:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3552c6eae6
22:33 dalek rakudo/nom: f888a9a | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
22:33 dalek rakudo/nom: Merge pull request #243 from hoelzro/nom
22:33 dalek rakudo/nom:
22:33 dalek rakudo/nom: Make sure --gen-moar implies --gen-nqp
22:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f888a9a4c1
22:34 hoelzro \o/
22:34 hoelzro thanks FROGGS
22:34 FROGGS you're welcome :o)
22:36 dalek rakudo/nom: 774f761 | jnthn++ | src/Perl6/Actions.nqp:
22:36 dalek rakudo/nom: Fix bind lowering of proto method foo (|) { }
22:36 dalek rakudo/nom:
22:36 dalek rakudo/nom: Got away with it before 'cus we didn't check for excess named args.
22:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/774f761c20
22:36 dalek rakudo/nom: 07c483e | jnthn++ | tools/build/NQP_REVISION:
22:36 dalek rakudo/nom: Bump to Moar/NQP that finds excess named args.
22:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07c483e029
22:37 BenGoldberg joined #perl6
22:40 timotimo now i've got the benchmarks
22:41 jnthn uh-oh :)
22:41 timotimo but i seem to no longer have access to my webspace
22:41 timotimo well, it's not all bad
22:41 timotimo a general theme seems to be: in "foobar-baz", moar is faster, in "foobar-baz-native", parrot is faster
22:41 jnthn Yes.
22:41 timotimo we don't do anything with native stuff yet?
22:42 jnthn Well, one of the things my named args work just turned up is that we aren't hanlding inlinability stuff yet.
22:42 timotimo ah, fair enough
22:42 jnthn This in turn means we never save AST to inline, which in turn means we never inline int + int
22:42 timotimo ah!
22:42 jnthn And it's the inlining that makes it have any chance of performing.
22:42 timotimo yeah, that'd make a difference
22:43 jnthn mebbe I should fix that
22:43 jnthn btw, I got tomorrow set aside for Perl 6 stuff. :)
22:43 timotimo in trim_string, parrot beats moar pretty handily
22:43 timotimo in reduce_range parrot is a bit ahead all the time
22:44 timotimo in all the for_concat tests (native and nonnative, "_2" and ""), parrot beats moarvm by a very big amount
22:44 timotimo in fact, the shape of the curve is drastically different
22:44 LLamaRider jnthn++ any Perl6 day is a day well spent :) I'm jut trying MoarVM and make test is impressively fast. Thanks to all involved :)
22:44 timotimo moar goes straight down while parrot stays horizontal
22:45 jnthn That's itnresting...
22:45 jnthn I suspect profiling will be revealing.
22:47 timotimo now where do i upload my results? :\
22:47 timotimo i'll just dropbox a tarball
22:48 timotimo https://www.dropbox.com/s/qkub8n24okbu3ns/benchmark_all_three_benchmarks_2014_01_21.tar.bz2
22:48 Mouq timotimo: timo.github.io?
22:48 timotimo that would certainly be an option
22:50 Mouq timotimo++ # tarball works fine though
22:54 sftp joined #perl6
22:58 dalek nqp: b7252c9 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
22:58 dalek nqp: Save inlinability info.
22:58 dalek nqp: review: https://github.com/perl6/nqp/commit/b7252c920b
22:58 wooden joined #perl6
23:05 * clsn made it home, finally.  Yow.
23:05 jeffreykegler joined #perl6
23:06 clsn Ran roast with my Signature changes; turns out it broke one or two other things because my .perl for Parameters isn't the same and tests were testing against the string.  Fixed the tests.
23:16 bjz joined #perl6
23:17 timotimo japhb__: i think i'll investigate google charts api to replace jqplot in the benchmark plots
23:18 timotimo one bad thing about it is, that you are not allowed to rehost or download it for offline use >_<
23:18 timotimo on the other hand, it's maintained actively
23:30 clsn In a .t file, is it better to have a big list of Test, Expected-Value and then loop through them, or a bunch of ok/nok statements?
23:31 clsn Huh.  Because in Signature literals, an unspecified variable is Mu, I made Mu not show up as a type unless necessary.  However, in subroutine signatures, an unspecified variable is Any.
23:32 colomon clsn: if there's not any framework, I'd say a bunch ok ok/nok statements is preferable.
23:32 clsn I guess ok/nok statements would allow people to put in ?skip comments easier.
23:32 colomon right
23:32 colomon and also makes figuring out what test just failed much easier
23:33 colomon I will use a loop if each test requires a lot, though.
23:33 clsn OK.
23:33 colomon but if it can be a comfortable one line "ok", that's the best way to do it, IMO.
23:33 dalek nqp: 46ac27f | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
23:33 dalek nqp: Mapped ops need inline info setting too.
23:33 dalek nqp: review: https://github.com/perl6/nqp/commit/46ac27f333
23:34 diakopter .oO( I remember back in the day there used to be these things called servers.. )
23:37 daniel-s_ joined #perl6
23:40 benabik joined #perl6
23:43 thou joined #perl6
23:54 telex joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo