Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-01-22

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:00 telex joined #perl6
00:02 telex joined #perl6
00:02 woolfy joined #perl6
00:03 japhb__ timotimo, Not that I mind more rendering support, but what's the problem with jqplot that you're trying to solve?
00:10 telex joined #perl6
00:15 Mouq Hey, so if MVM_file_readline_fh has a while (uv_fs_read(…) > 0) { bytes_read++ }, and I end up with bytes_read == 0, isn't that sort of an issue?
00:15 Mouq I've been AFK for a while
00:16 jnthn Mouq: Uh, yes, that'd mean it'd hang...
00:18 Mouq And then I'm guessing lseek is failing because it's trying to seek when seeking doesn't make sense
00:24 Mouq Uhm, yeah
00:24 Mouq before that loop there's an errno of 2, after there's an errno of 9
00:27 geekosaur hm, 9 is EBADF
00:28 Mouq Oh, it is?
00:29 geekosaur most unixlikes, at least
00:29 Mouq Welp.
00:29 geekosaur (and 2 is ENOENT. did something fail to open a file and fail to notice?)
00:37 Mouq nqp: say(nqp::eof_fh(nqp::getstdin()))
00:37 camelia nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu'␤  in coerce (gen/jvm/stage2/QAST.nqp:4205)␤  in as_jast (gen/jvm/stage2/QAST.nqp:2988)␤  in  (gen/jvm/stage2/QAST.nqp:3785)␤  in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3773)␤  in as_jast (gen/jvm…»
00:37 camelia ..nqp-parrot: OUTPUT«Error while compiling op eof_fh (source text: "nqp::eof_fh(nqp::getstdin())"): No registered operation handler for 'eof_fh'␤current instr.: '' pc 57020 (gen/parrot/stage2/QAST.pir:21039) (gen/parrot/stage2/QAST.nqp:3629)␤»
00:37 camelia ..nqp-moarvm: OUTPUT«Error while compiling op eof_fh (source text: "nqp::eof_fh(nqp::getstdin())"): No registered operation handler for 'eof_fh'␤   at gen/moar/stage2/QAST.nqp:4340  (/home/p6eval/rakudo-inst-2/lang​uages/nqp/lib/QAST.moarvm::17)␤ from gen/moar/stage2/QAST.nqp:4339 …»
00:37 Mouq nqp: say(nqp::eoffh(nqp::getstdin()))
00:37 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
00:37 camelia ..nqp-jvm, nqp-parrot: OUTPUT«0␤»
00:38 Mouq ^^ That's the problem, me thinks
00:38 Mouq Well. IDK
00:38 Mouq But it's certainly not well-boding
00:40 [Coke] r: class A { has $.a = 0 }; for ^2 { my $a = .a given A.new; say $a; } # RT 121049
00:40 camelia rakudo-parrot 07c483, rakudo-jvm 07c483, rakudo-moar 07c483: OUTPUT«0␤0␤»
00:40 [Coke] raydiak: ^^
00:41 [Coke] nevermind, jnthn++ is too fast. :)
00:43 benabik joined #perl6
00:43 [Coke] raydiak: I hear you might have a test: please note it on the ticket when added (or ping me here if not)
00:44 Mouq [Coke]: https://github.com/perl6/roast/commit/c​e545c7f7f201c569d30c36716fe963f1fdab129
00:45 [Coke] Mouq++ raydiak++
00:46 [Coke] if you want bug closing powers, ping me.
00:47 silug joined #perl6
00:48 Util joined #perl6
00:49 Mouq nqp-m -e'nqp::getstdin()'
00:49 Mouq getstdin error? No such file or directory
00:49 Mouq getstdin error? No such file or directory
00:50 Mouq That could be a problem
00:50 [Coke] I think we should close #113666 - testing for memory leaks seems outside the sscope of
00:50 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=113666
00:50 Mouq Also: [Coke]: Yes please! :D
00:53 [Coke] mouq: what's your rt.perl.org id?
00:53 Mouq Mouq
00:53 raydiak [Coke]++ thanks for following up :)
00:54 [Coke] done.
00:54 [Coke] mouq: when replying to tickets, make sure p6c is cc'd. (there's a toggle link)
00:54 Mouq Woo! [Coke]++
00:54 Mouq Ok, will do
00:55 dalek rakudo/nom: fdd210b | benabik++ | Configure.pl:
00:55 dalek rakudo/nom: Be more specific about linking to libmoar on OS X
00:55 dalek rakudo/nom:
00:55 dalek rakudo/nom: ld doesn't seem to pay attention to rpath when looking for -lmoar,
00:55 dalek rakudo/nom: which made the build fail when installing to an install/ directory
00:55 dalek rakudo/nom: instead of something like /usr/local.
00:55 dalek rakudo/nom:
00:55 dalek rakudo/nom: Reported by lee__++
00:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fdd210befc
00:55 dalek rakudo/nom: 25462c7 | jonathan++ | Configure.pl:
00:55 dalek rakudo/nom: Merge pull request #244 from Benabik/nom
00:55 dalek rakudo/nom:
00:55 dalek rakudo/nom: Be more specific about linking to libmoar on OS X
00:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/25462c7aab
00:56 Mouq [Coke]: Would you mind checking if I'm in CLA list? I sent an email containing a scanned, signed copy some time ago
00:57 [Coke] Mouq++: I see no "Mouq" in either spreadsheet that is shared with me.
00:58 [Coke] sorry. :(
00:58 Mouq And Moquin?
00:58 * geekosaur reads commit message, confirms it; RPATH is not a thing on OS X
00:58 geekosaur it uses a path compiled into the dylib, overrideable by DYLD_LIBRARY_PATH (but this is very dangerous)
00:59 Mouq Karen said she passed the email along for me
00:59 [Coke] Mouq: what's your first name?
00:59 Mouq Alexander
00:59 geekosaur see also install_name_tool
00:59 benabik geekosaur: OS X ld at least reports rpath as something that exists.  And I think it ended up being needed to make something else world.
00:59 benabik *work
00:59 [Coke] boom. he's clear, someone give him a commit bit.
00:59 [Coke] him == Mouq
01:00 lizmat joined #perl6
01:00 Mouq \o/ [Coke]++ # my hero
01:00 geekosaur well, I think it does something, that something just isn't very closely related to what you get on linux
01:03 [Coke] m: sub foo($x? is rw) {}; foo(); say "alive" #RT #79288
01:03 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=79288
01:03 camelia rakudo-moar 07c483: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Fl0TyVxfL5�Cannot use 'is rw' on an optional parameter�at /tmp/Fl0TyVxfL5:1�------> �»
01:04 jnap joined #perl6
01:08 Mouq Can someone on windows tell me what the debugging output of `nqp-m -e1` is with https://gist.github.com/Mouq/8551748
01:08 Mouq Please
01:17 [Coke] r: class A { ... }; class B is A { }; class A { }; say B.new # RT#81060
01:17 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=81060
01:17 camelia rakudo-moar 07c483: OUTPUT«Cannot invoke null object␤  in block  at /tmp/tmpfile:1␤␤»
01:17 camelia ..rakudo-parrot 07c483, rakudo-jvm 07c483: OUTPUT«No such method 'new' for invocant of type 'B'␤  in block  at /tmp/tmpfile:1␤␤»
01:20 FOAD joined #perl6
01:23 jnthn Mouq: Trying
01:25 jnthn C:\consulting\rakudo\nqp>nqp-m -e1
01:25 jnthn getstdin error before? No error
01:25 jnthn getstdin error after? No error
01:25 Mouq I get "…? No such file or directory" for both, I'm having trouble hunting down where this error comes from though. It's doesn't occur in or after MVM_file_get_stdstream...
01:25 Mouq jnthn: Hmm
01:26 Mouq jnthn: Thank you very much
01:26 jnthn Mouq: np, thanks for looking into this :)
01:28 Mouq jnthn: np, it's a good challenge :) i need to understand C better anyway
01:28 TimToady as another datapoint, when I do     shell "stty raw -echo min 1 time 1";
01:28 TimToady I get: stty: standard input: Inappropriate ioctl for device
01:29 TimToady which seems to indicate that STDIN is getting closed or redirected at some point before the shell is running
01:30 diakopter I don't know if libuv is configured to share stdin
01:30 diakopter for children
01:30 [Coke] rakudo: say :(Int).perl
01:30 camelia rakudo-parrot 07c483, rakudo-jvm 07c483, rakudo-moar 07c483: OUTPUT«:(Int )␤»
01:30 TimToady well, that code works under parrot or jvm
01:31 * diakopter is tempted to try out all the [WEIRD] bug reports in RT against moar
01:31 [Coke] rakudo: say :(Array of Int).perl
01:31 camelia rakudo-parrot 07c483, rakudo-jvm 07c483, rakudo-moar 07c483: OUTPUT«:(Array[Int] )␤»
01:31 TimToady and under niecza
01:31 diakopter but [Coke] may beat me to it
01:31 TimToady so if libuv is the problem, it's the odd-man out...
01:32 diakopter but it could be a setting in the library call I mean
01:32 Mouq "stty: stdin isn't a terminal"
01:32 * TimToady wonders whether the "device" in question is /dev/null
01:33 TimToady but yeah, could be something close-on-exec-ish
01:35 [Coke] anyone know where tests for command line options are?
01:35 diakopter r: say .WHICH
01:35 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«Nil␤»
01:35 diakopter r: say .WHICH.WHICH
01:35 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«ObjAt|Nil␤»
01:35 [Coke] bah, found it.
01:35 diakopter r: say .WHICH.WHICH.WHICH
01:35 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«ObjAt|ObjAt|Nil␤»
01:35 diakopter O_O
01:37 [Coke] r: say .WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WH​ICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH​.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WH​ICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH​.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WH​ICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH.WHICH
01:37 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|Ob​jAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt​|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|Ob​jAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt​|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt|ObjAt…»
01:40 TimToady adding a </dev/tty in the shell command successfully works aroung the bug, but then getc only seems to read every other character I type
01:47 diakopter o_O
01:47 TimToady using .read works instead, so I have a working quiz editor under moar, using those workarounds
01:47 diakopter so type each character twice..
01:47 TimToady but I'd still consder them bugs
01:49 dalek rakudo/nom: 2e05b3c | coke++ | t/spectest.data:
01:49 dalek rakudo/nom: run these tests (100% or pre-fudged)
01:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e05b3c345
01:50 [Coke] ^ free tests.
01:50 TimToady (will still use the niecza version until moar achieves performance parity though...)
01:50 jnthn [Coke]++
01:51 [Coke] r: tc('what the').say
01:51 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«What the␤»
01:51 [Coke] is tc deprecated? (trying to figure out why we're not running that one.)
01:51 diakopter r: tc('what the what').say
01:51 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«What the what␤»
01:52 * [Coke] guesses it is not deprecated and re-enables the test.
01:52 TimToady looks like it works right
01:52 TimToady tc only titlecases the first char
01:53 TimToady since titlecase makes no sense on embedded letters generally
01:53 jnthn Time for sleep...'night o/
01:53 Mouq r: 'what the what'.words>>.tc.join(' ').say
01:53 TimToady r: tc('WHAT THE').say
01:53 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«What The What␤»
01:53 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«WHAT THE␤»
01:53 Mouq 'night jnthn \o
01:54 TimToady r: 'what the what'.wordcase
01:54 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: ( no output )
01:54 TimToady r: 'what the what'.wordcase.say
01:54 camelia rakudo-parrot 25462c, rakudo-jvm 25462c, rakudo-moar 25462c: OUTPUT«What The What␤»
01:56 dalek rakudo/nom: 7f9bba2 | coke++ | t/spectest.data:
01:56 dalek rakudo/nom: run these now-fudged tests
01:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f9bba2234
01:56 dalek roast: cbac866 | coke++ | S32-str/tc.t:
01:56 dalek roast: refudge for rakudo
01:56 dalek roast: review: https://github.com/perl6/roast/commit/cbac8667d7
01:57 [Coke] S05-modifier/perl5_6.t is passing a lot of tests.
01:58 [Coke] some fudging would get rakudo bout 100 more tests.
01:58 * [Coke] heads out.
01:59 diakopter [Coke]++
02:00 logie joined #perl6
02:02 benabik joined #perl6
02:03 araujo joined #perl6
02:13 berekuk joined #perl6
02:17 prevost joined #perl6
02:22 berekuk joined #perl6
02:36 berekuk joined #perl6
02:37 cognominal joined #perl6
02:40 raydiak awesome job, moarvm folks: it already runs Pray almost half as fast as jvm
02:41 raydiak timotimo: ^ you asked me to try it out
02:44 berekuk joined #perl6
02:53 diakopter raydiak: half as fast or twice as fast?
02:54 diakopter oh, jvm :)
02:54 diakopter IC
02:55 pdcawley joined #perl6
02:58 raydiak diakopter: I'm guessing 2 or more times faster than parrot, if that sounds better :) though I haven't actually tried parrot in months
03:05 felher joined #perl6
03:05 berekuk joined #perl6
03:06 felher o/ folks :)
03:13 Mouq r: (class :: {}).foo
03:13 camelia rakudo-parrot 7f9bba, rakudo-jvm 7f9bba: OUTPUT«No such method 'foo' for invocant of type '<anon>'␤  in block  at /tmp/tmpfile:1␤␤»
03:13 camelia ..rakudo-moar 7f9bba: OUTPUT«Cannot find method 'foo'␤  in block  at /tmp/tmpfile:1␤␤»
03:13 Mouq o/ felher
03:14 berekuk joined #perl6
03:19 FOAD joined #perl6
03:19 TimToady oh dear, "Unexpected named parameter 'r' passed" trying to compile RESTRICTED.setting
03:20 skids joined #perl6
03:23 berekuk joined #perl6
03:23 diakopter a little too restricted?
03:23 wooden left #perl6
03:29 TimToady forgot git pull in nom, so maybe just out of sync with latest things down below...
03:34 berekuk joined #perl6
03:35 TimToady that's better
03:39 japhb r: my @primes := 2, 3, 5, -> $p { ($p+2, $p+4 ... &is-prime)[*-1] } ... *; sub is-prime($n) { $n %% none @primes ...^  * > sqrt $n }; .say for @primes[^5];
03:39 camelia rakudo-jvm 7f9bba: OUTPUT«Cannot do aggregate operation on a type object␤  in method reify at gen/jvm/CORE.setting:7239␤  in method gimme at gen/jvm/CORE.setting:7649␤  in method exists_pos at gen/jvm/CORE.setting:7637␤  in method at_pos at gen/jvm/CORE.setting:7611␤  in m…»
03:39 camelia ..rakudo-parrot 7f9bba, rakudo-moar 7f9bba: OUTPUT«2␤3␤5␤7␤11␤»
03:39 dayangkun joined #perl6
03:39 japhb Note r-j's weird fail there ^^
03:39 raydiak ah! you found one of the things that's been plaguing me for days!
03:40 japhb raydiak: Was that to me?
03:40 raydiak japhb: ya. I get it when I crank the threads up past 2 or 3
03:40 raydiak in Pray, I mean
03:40 * japhb is trying to remember the one-liner version of the primes sieve.
03:40 japhb A Haskell adherent challenged me on that one.
03:41 Mouq japhb: "... &is-prime" doesn't make sense
03:41 TimToady sure it does
03:41 Mouq Ohhhh!
03:41 Mouq bluhg
03:41 japhb raydiak: Yuck.  Wonder what's wrong there.
03:42 Mouq japhb: Sorry, forgot how '...' works
03:42 japhb No worries!
03:43 japhb I forget, is @primes supposed to be usable withing the @primes definition directly? (Can you recurse within a binding definition, in other words?)
03:46 japhb Yup, works, yay!
03:47 TimToady one would like that to work at least with a constant definition; the problem with := is it rebinds at run-time, so isn't really quite definitional
03:47 berekuk joined #perl6
03:48 * TimToady is not really going to be happy until we can do http://rosettacode.org/wiki/Hamming_numbers as a single definition
03:49 diakopter how declarative
03:52 benabik Most prime sieves aren't a sieve: http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf
03:52 TimToady we'll need a lazy list merge operator first, as well as proper self-recursive definition of lists
03:53 berekuk joined #perl6
03:54 TimToady at least we've got the squish operator now
03:56 Mouq diakopter: Is there any way to do the equivalent of Obj.HOW.name(Obj) in the MoarVM source?
03:56 Mouq that you know of?
03:57 diakopter yeah but I'm curious why you ask :)
03:57 Mouq I've been scouring the 6model directory hoping for some kind of hint
03:57 Mouq r: 1.foo
03:57 camelia rakudo-moar 7f9bba: OUTPUT«Cannot find method 'foo'␤  in block  at /tmp/tmpfile:1␤␤»
03:57 camelia ..rakudo-parrot 7f9bba, rakudo-jvm 7f9bba: OUTPUT«No such method 'foo' for invocant of type 'Int'␤  in block  at /tmp/tmpfile:1␤␤»
03:57 diakopter oh
03:58 Mouq If you output the correct error message there, Rakudo captures it and outputs a typed error
03:58 diakopter oh yea :)
03:58 diakopter heh
03:59 Mouq It's src/6model/6model:44 if you want to do it
04:00 Mouq *6model.c
04:10 diakopter C:\Users\mwilson\src\rakudo>C:\Perl64\bin\perl.exe Configure.pl "--prefix=..\install" "--backends=moar" "--gen-nqp=master" "--gen-moar=master" "--make-install"
04:10 diakopter Already on 'master'
04:10 diakopter :)
04:10 diakopter bash.exe: warning: could not find /tmp, please create!
04:11 diakopter nqp builds unbelievably fast now
04:18 berekuk joined #perl6
04:21 diakopter TimToady: I got that same error
04:22 TimToady the pull fixed it
04:24 diakopter so it did.
04:24 diakopter I thought I'd pulled
04:25 diakopter TimToady: I guess the generic way to do that would be an inline macro definition of some sort
04:27 TimToady constant @hamming = squish @hamming.map(* * 2) M @hamming.map(* * 3) M @hamming.map(* * 5)
04:27 TimToady assuming an M infix that is a lazy list merge
04:28 diakopter O_O
04:28 diakopter x_x
04:29 jnap joined #perl6
04:30 TimToady M is not the problem, the recursive referentiality is the problem
04:30 berekuk joined #perl6
04:30 diakopter how is it a problem
04:31 TimToady something gets too concretized in there, and ends up referring to an array that can't tell it's being extended on the fly
04:31 Mouq TimToady: How does @hamming know its first value?
04:31 diakopter oh, it's a problem in implementation, not language design?
04:32 TimToady Mouq: oops, forgot that part :)
04:32 TimToady constant @hamming = 1, squish @hamming.map(* * 2) M @hamming.map(* * 3) M @hamming.map(* * 5)
04:33 diakopter 519312780448388736089589843750000000000000​000000000000000000000000000000000000000000
04:33 Mouq TimToady: Ah, cool :)
04:45 BenGoldberg joined #perl6
04:53 jeffreykegler left #perl6
04:57 diakopter Mouq: what is it supposed to catch for the missing method on 1
04:59 xenoterracide joined #perl6
04:59 diakopter r-p: 1.foo
04:59 camelia rakudo-parrot 7f9bba: OUTPUT«No such method 'foo' for invocant of type 'Int'␤  in block  at /tmp/ds8kNp2RRY:1␤␤»
04:59 berekuk joined #perl6
05:00 diakopter r: .foo
05:00 diakopter o_O
05:00 camelia rakudo-jvm 7f9bba: OUTPUT«(timeout)»
05:00 camelia ..rakudo-parrot 7f9bba, rakudo-moar 7f9bba: ( no output )
05:00 diakopter triple fail
05:00 diakopter n: .foo
05:00 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method foo in type Any␤  at /tmp/QkmJ8oTpTy line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤…»
05:00 Mouq Rakudo just tests to see if the error is ~~ /No such method '(.?)' for invocant of type '(.*?)'/ and replaces it with an X::Method::NotFound
05:01 diakopter oh
05:01 diakopter .tell
05:01 yoleaux Relay a telegram to someone
05:01 diakopter yoleaux: wb
05:01 diakopter .tell jnthn r: .foo # triple fail
05:01 yoleaux diakopter: I'll pass your message to jnthn.
05:02 diakopter std: .bleh
05:02 camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
05:02 diakopter well.
05:03 Mouq diakopter: I though Nil.method is Nil?
05:03 diakopter hrm
05:03 diakopter r: say .foo
05:03 camelia rakudo-parrot 7f9bba, rakudo-jvm 7f9bba, rakudo-moar 7f9bba: OUTPUT«Nil␤»
05:04 diakopter well, r-jvm shouldn't timeout
05:04 diakopter C:\Users\mwilson\src\rakudo>perl6-m -e "1.foo"
05:04 diakopter No such method 'foo' for invocant of type '' in block  at -e:1
05:04 diakopter hrm
05:04 diakopter closer
05:06 berekuk joined #perl6
05:09 SamuraiJack joined #perl6
05:25 bjz joined #perl6
05:30 jnap joined #perl6
05:34 berekuk joined #perl6
05:43 berekuk joined #perl6
05:52 berekuk joined #perl6
06:00 berekuk joined #perl6
06:12 berekuk joined #perl6
06:18 FROGGS joined #perl6
06:23 kaleem joined #perl6
06:24 [Sno] joined #perl6
06:31 jnap joined #perl6
06:33 rindolf joined #perl6
06:47 berekuk joined #perl6
06:51 darutoko joined #perl6
06:58 berekuk joined #perl6
07:05 dmol joined #perl6
07:06 berekuk joined #perl6
07:14 FROGGS joined #perl6
07:15 berekuk joined #perl6
07:23 sqirrel joined #perl6
07:32 jnap joined #perl6
07:47 timotimo Mouq++ # commit bit, bug closing power
07:47 timotimo raydiak++ # testing pray under moarvm
08:03 timotimo i kind of wish there was a "git localclone" that takes remotes with it, too
08:05 moritz rsync :-)
08:06 zakharyas joined #perl6
08:06 timotimo :\
08:07 timotimo i guess
08:09 FROGGS joined #perl6
08:24 bjz joined #perl6
08:32 drin_m joined #perl6
08:32 jnap joined #perl6
08:38 dalek nqp: 330ef77 | (Timo Paulssen)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
08:38 dalek nqp: introduce nqp::hintfor on moarvm
08:38 dalek nqp: review: https://github.com/perl6/nqp/commit/330ef77c0e
08:38 dalek nqp: f557441 | (Timo Paulssen)++ | src/vm/moar/stage0/ (11 files):
08:38 dalek nqp: update stage0 to get hintfor (for real this time)
08:38 dalek nqp: review: https://github.com/perl6/nqp/commit/f5574415be
08:38 dalek nqp: ce0b730 | (Timo Paulssen)++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
08:38 dalek nqp: hintfor for attribute vars at compile-time.
08:38 dalek nqp: review: https://github.com/perl6/nqp/commit/ce0b730bd2
08:42 timotimo hm, actually, i need to change that to emit MAST code directly rather than new nqp code
08:43 timotimo otherwise i'll generate var lookups for bindattr/getattr and then getattr/bindattr operations for var lookups 'round and 'round
08:43 timotimo actually, no, this already is mast code
08:43 timotimo cool :)
08:51 FROGGS umm
08:51 FROGGS can't believe it:
08:51 FROGGS Stage parse      :  59.177
08:51 FROGGS Stage mast       :  26.432
08:52 FROGGS I thought I was seeing messed up output when I built all three at once, but the timings I pasted are from a single run, so no doubt
08:53 moritz woah
08:54 nwc10 maybe there is a stray blackhole near the clock, slowing time
08:55 sqirrel joined #perl6
08:55 moritz the pocket black box!
08:55 timotimo \o/
08:57 timotimo jnthn said the try_get_slot path is kinda hot
08:57 arnsholt Am I a bad person for looking forward to the naysayers' reactions to these numbers? ^_^
08:57 timotimo so when i'm finished with this work here, it may be a bit better :)
08:58 timotimo arnsholt: "that's what you get when you use a VM that's actually made for your language"
08:58 FROGGS arnsholt: no, I am proud of these numbers, and I will smile happily at everybody who says that it still sucks :o)
08:58 timotimo note we're still quite slow when compared to other things
08:58 arnsholt timotimo: Well, that's not much of a defense for those who said that this was never going to work =D
08:59 moritz moar and jvm finished stage parse in 42.5 and 57.6s on my machine
08:59 bjz joined #perl6
08:59 moritz ($work desktop, that is)
09:00 timotimo i'm looking forward to our first moarvm compiled with -O3
09:00 FROGGS I'd like to read chromatic's mind now... I hope there is a glimpse of a thought in there that says: oO( It might even be not that bad... )
09:00 arnsholt timotimo: Oh, what -O level is Moar using ATM?
09:01 timotimo 1
09:01 timotimo -O2 breaks casting our pointers around like crazy
09:01 FROGGS timotimo: and I am looking forward of jnthn saying "ohh, I fix something there...", and then it drops compile time by another 20%
09:01 FROGGS err, jnthn++
09:01 timotimo yeah, that'll happen quite often i think :P
09:01 FROGGS yes, and that makes me very happy
09:01 arnsholt timotimo: Oh, higher levels break?
09:01 timotimo yes, they do
09:02 timotimo i tried finding out what optimization exactly breaks it
09:02 timotimo i couldn't pinpoint a single one and didn't have the patience to bisect through the space of all combinations :)
09:02 dalek nqp: 2ad8755 | Mouq++ | src/QRegex/P6Regex/Grammar.nqp:
09:02 dalek nqp: Fix Null Regex detection
09:02 dalek nqp: review: https://github.com/perl6/nqp/commit/2ad8755b51
09:05 obra joined #perl6
09:06 timotimo Mouq: oh, that fixes the weird "unrecognized metachar" errors? :D
09:07 dalek roast: 6846f8a | Mouq++ | S32-exceptions/misc.t:
09:07 dalek roast: Unfudge NullRegex tests
09:07 dalek roast: review: https://github.com/perl6/roast/commit/6846f8ab9b
09:08 Mouq Yup :)
09:08 timotimo awesome! :)   Mouq++
09:08 timotimo tomorrow's release is really going to be splendid
09:09 moritz note that those tests will still fail until somebody bumps NQP_REVISION
09:09 Mouq Mouq-- it was my fault in the first place
09:10 Mouq moritz: oop
09:10 timotimo jnthn: did the inlinability stuff get fixed by the "mapped ops need inline info setting too" commit or is there still stuff missing?
09:10 moritz Mouq: 's OK, by current development trends it'll happen in a few hours anyway
09:10 nwc10 so bump NQP_REVISION before anyone forgets?
09:11 * moritz flexes his commit bit
09:11 Mouq May I try my new, magical commit powers?
09:12 moritz Mouq: oh, you have a rakudo commit bit too?
09:12 moritz Mouq: then go for it
09:12 timotimo with my hintfor changes: Stage parse      :  49.798  Stage mast       :  22.443
09:13 Mouq Aww. Nope, [Coke] gave the clear, but no one actually gave it to me '<
09:13 nwc10 do you have the numbers for the same machine before it?
09:13 nwc10 (in scrollback?)
09:13 moritz stage mast is nearly 4s faster? that's way cool
09:13 timotimo nwc10: no. will create them now.
09:13 moritz oh wait, I compared timotimo's timing with FROGGS's previous timings
09:13 timotimo also, hintfor stuff for bindattr is still NYI :)
09:14 timotimo that'll be my third timing
09:14 dalek rakudo/nom: 37d445c | moritz++ | tools/build/NQP_REVISION:
09:14 dalek rakudo/nom: bump NQP_REVISION to get Null regex fixes by Mouq++
09:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37d445c88c
09:14 moritz is anybody interested in a nopaste of m-spectest results?
09:15 * nwc10 is more interested in which tests perl6-m fails, but perl6-p or perl6-j pass
09:15 FROGGS moritz: no, I can have one within six minutes :o)
09:15 nwc10 and really curious if there is stuff that perl6-m manages that neither of the other two do yet
09:16 hoelzro morning #perl6
09:16 FROGGS nwc10: something like this but with individual tests listed? https://github.com/rakudo-p​5/v5/blob/master/STATUS.md
09:16 FROGGS moin hoelzro
09:17 FROGGS nwc10: maybe we should create csv files by synopsis
09:17 nwc10 FROGGS: yes, I guess so. So it would have "skip" split into several columns, such as "skipped on all", "skipped on Moar and Parrot, but passes on JVM"
09:18 FROGGS and we could, like STATUS.md does, list the different results in case they don't match
09:18 diakopter timotimo++ FROGGS++ nwc10++ jnthn++
09:18 nwc10 yes, or that way :-)
09:18 FROGGS I imagined that the backends would be the columns
09:18 diakopter hoelzro++ moritz++ too :)
09:18 nwc10 FROGGS: yes, I think that that works
09:19 FROGGS and collapse rows that all pass
09:19 nwc10 yes. :-)
09:19 FROGGS damn, now I want to do it :(
09:19 nwc10 oh sorry
09:19 nwc10 what are you *supposed* to be doing?
09:19 FROGGS $work
09:19 nwc10 I'm sort of cheating. I'm waiting for a benchmark to run (or break the server)
09:20 moritz nwc10: in yesterday's backlog there's fun with protos and gather/take that only moar gets right
09:20 nwc10 I saw that. I don't even really understand what that syntax is about.
09:20 nwc10 ie, how that gets to produce 1 to 10
09:20 nwc10 bloggage needed? :-)
09:22 moritz it's not very hard :-)
09:22 diakopter nwc10: I empathasize and comiserate: I've never gotten it either.
09:22 moritz a set of multi subs is called by first calling its proto, and the proto re-dispatches to the appropriate multi candidate
09:23 moritz it does that with the magic {*} term
09:23 nwc10 Ah.
09:23 moritz so that example is a gather/take, just with the gather in the proto
09:23 moritz (and since gather/take is dynamically scoped, that's fine)
09:24 LLamaRider joined #perl6
09:24 timotimo Stage parse      :  50.108  /  Stage mast       :  22.890
09:24 timotimo not that big, but measurable
09:24 timotimo now for bindattr
09:25 Mouq Technically should be possible with grammars too (proto token category { 'prelim' [ {*} ]+ 'or something' })
09:27 Mouq Pretty sure we just parse it as proto [rule|token|regex] <name> '{'['*'|'...']'}' currently though :p
09:27 Mouq IIRC
09:28 moritz no, as a closure returning Whatever
09:30 timotimo hm. how do i build the proper QAST for setting the return value of a node to a specific input node?
09:30 timotimo i guess i could use Stmts for that
09:30 Mouq r: grammar G {proto token category { 'prelim' [ {*} ]+ 'or something' }}
09:30 camelia rakudo-parrot 7f9bba, rakudo-jvm 7f9bba, rakudo-moar 7f9bba: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Proto regex body must be {*} (or <*> or <...>, which are deprecated)�at /tmp/tmpfile:1�------> [32mory { 'prelim' [ {*} ]+ 'or something' }[3…»
09:31 diakopter timotimo: I'm curious about the optimization level; on windows msvc it sure seems all the way turned up
09:31 timotimo hm.
09:31 timotimo well, on linux we can't do that :)
09:32 timotimo huh. introducing a local for every bindattr seems very costly
09:32 diakopter right, I'm curious why
09:32 diakopter [why you can't on linux]
09:32 Mouq {*} is considered a regex metachar though, looks like
09:33 timotimo Mouq: i think the syntax you want is <...>
09:33 dakkar joined #perl6
09:33 jnap joined #perl6
09:34 timotimo r: grammar G {proto token category { 'prelim' [ <...> ]+ 'or something' }; token category:sym<foo> { <sym> } }; say G.parse("prelimfoofoofooor something")
09:34 camelia rakudo-parrot 7f9bba, rakudo-jvm 7f9bba, rakudo-moar 7f9bba: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/tmpfile:1�------> [32m {proto token category { 'prelim' [ <...[33m�[31m> ]+ 'or something' }; …»
09:34 timotimo ... er ...
09:34 moritz no, {*} is right
09:34 timotimo diakopter: please advise for QAST? :\
09:34 diakopter what about it
09:34 timotimo i want to build a QAST piece that returns a child node
09:34 FROGGS I believe it expects <...> or * as the only thing in the body
09:34 timotimo without evaluating it twice
09:35 diakopter explain more?
09:35 timotimo but creating locals is much costlier than what the qastcomp does if it has a :returnarg
09:35 diakopter can you show me that one?
09:35 diakopter (I'm not sure what you're tryign to do)
09:35 Mouq FROGGS: That's what I was trying to say when I was talking about how we parse it
09:36 timotimo surely can. should i implement it in terms of a bind to a local first?
09:36 diakopter sure
09:37 denis_boyun joined #perl6
09:40 timotimo let me try if it compiles at all
09:40 diakopter it's ok; I just want to see the intent
09:40 timotimo https://gist.github.com/timo/1805bb7bbbc6c2aa5140
09:41 timotimo misses at least :decl('var') for the local vars
09:41 timotimo could probably wrap it all into a nqp::locallifetime to get it optimized better, but our mast qastcomp doesn't use that at all so far
09:42 diakopter wat is locallifetime
09:43 denis_boyun joined #perl6
09:43 timotimo i *think* it's supposed to set a boundary for new locals
09:43 timotimo any local declared within is only valid inside the locallifetime's tree
09:44 diakopter hm oh
09:44 timotimo the else branch is pretty busted, though %)
09:44 timotimo what the hell was i thinking
09:45 diakopter stayed up all night? :)
09:45 timotimo nah
09:47 diakopter for one thing, $want needs to be op-compile-time, not op-sub-construct time
09:47 denisboyun joined #perl6
09:48 diakopter er
09:48 diakopter *shakes head at self*
09:49 timotimo :)
09:50 timotimo i have some syntax error here :\
09:50 timotimo i'll update the gist
09:50 timotimo there you go
09:51 timotimo Unable to parse expression in blockoid; couldn't find final '}'  at line 3216, near "$qastcomp."
09:51 timotimo that lise points at what is line 31 in the updated gist
09:51 timotimo line*
09:51 kivutar joined #perl6
09:51 timotimo ah, got it
09:51 timotimo missing comma before the last QAST::Var
09:53 timotimo now i've got P6opaque: representation mismatch when storing value to attribute; i didn't set the want anywhere ... but where would i put it?
09:53 diakopter what is in $op[3]
09:53 timotimo the value to set
09:53 timotimo (and to return)
09:54 diakopter why does it needs its own var
09:54 timotimo because i need to return it
09:54 diakopter (it's already a local register when you get it)
09:54 timotimo it is?
09:54 timotimo isn't it whatever tree it may be?
09:54 diakopter oh
09:54 timotimo as in: if i don't stash it in a var, wouldn't i evaluate stuff twice?
09:54 diakopter yah
09:55 PZt joined #perl6
09:55 diakopter sry, didn't write 3000 of these lines in a while
09:55 timotimo :)
09:55 timotimo maybe there's a method in the $qastcomp i can use to get a local register handle i could play around with?
09:56 diakopter well as_mast does that
09:56 timotimo hm. can i put the result of as_mast back into the qast tree?
09:56 diakopter that's the usual way to do it
09:56 timotimo cool
09:56 timotimo that'd be a solution thet
09:56 timotimo then
09:56 diakopter er
09:56 diakopter wait wait
09:57 diakopter wait wait wait
09:57 diakopter are you sure you need to be generating qast?
09:58 timotimo i'd prefer to be generating qast
09:58 diakopter why
09:58 timotimo because it's simpler (to me)
09:58 diakopter o_O
09:58 diakopter it should be avoided in the to_mast stage
09:58 timotimo … what
09:58 timotimo you must be confused
09:59 diakopter qast should ideally be generated only in the parse stage
09:59 timotimo there's other ops here that do QAST stuff, too
09:59 diakopter only in exceptional cases
09:59 diakopter that can't be done directly to mast
10:00 diakopter I'm not confused about this :)
10:00 diakopter you can still use the parametric closure thing you're doing
10:01 diakopter let me try to write one
10:01 timotimo well, bindattr is sufficiently hot to be done "properly" :\
10:01 diakopter yeah
10:01 diakopter tell me what its params are in $op[]
10:01 diakopter wait, it already has impls
10:02 timotimo bindattr takes the object to bind on, the class the attribute belongs to, the name of the attribute and the value to bind
10:02 timotimo it's supposed to decont the class and return the value
10:02 timotimo take a look at my updated gist, please
10:03 timotimo it now fails with Error while compiling op bindattr (source text: "nqp::bindattr($obj, MAST::InstructionList, '@!instructions', @instructions)"): Cannot find method 'node'
10:03 timotimo but other than that i think it ought to be somewhat correct
10:03 * timotimo takes a quick break
10:03 pecastro joined #perl6
10:03 * diakopter writes an updated gist
10:07 diakopter I don't see how these are different from the current op implementations
10:08 diakopter I thought you wanted to use the hinted versions
10:11 kivutar joined #perl6
10:12 * diakopter continues working on it
10:18 jnthn morning o/
10:18 yoleaux 05:01Z <diakopter> jnthn: r: .foo # triple fail
10:18 diakopter timotimo: ping
10:19 diakopter jnthn: nm on the triple fail; it's just jvm that looped
10:20 jnthn I think getting nqp::getattr and nqp::bindattr optimized is mostly gonna be cargo-culting the code from QAST::Var attribute compilation...
10:20 diakopter jnthn: how do I use nqp::hintfor at compile time to get the type of a MAST::InstructionList
10:21 diakopter [or get it from the qast before it becomes mast?]
10:21 jnthn diakopter: You...can't. But you don't need to.
10:21 jnthn Yeah
10:21 pecastro joined #perl6
10:21 diakopter how to do that
10:21 nwc10 good UGT, jnthn
10:21 jnthn Same as the code in attribute compilation
10:21 diakopter oh
10:21 jnthn if nqp::istype($op[1], QAST::WVal) or so
10:25 djanatyn joined #perl6
10:25 rindolf joined #perl6
10:27 daniel-s_ joined #perl6
10:31 kivutar joined #perl6
10:33 jnthn Mouq: Commit bit granted
10:34 jnap joined #perl6
10:34 Mouq thank you jnthn++ \o/
10:38 jnthn bbi10
10:42 fhelmberger joined #perl6
10:49 diakopter jnthn: how does this look https://gist.github.com/dia​kopter/b2522f054f633fc4cc0a
10:49 diakopter timotimo: ^
10:49 diakopter er hang on
10:49 diakopter fixing
10:50 diakopter fixed
10:50 diakopter forgot the name arg in both branches
10:50 mtk joined #perl6
10:51 pippo joined #perl6
10:51 pippo o/ #perl6
10:51 diakopter argh.
10:51 diakopter fixing another thing
10:52 Mouq o/ pippo
10:52 pippo I have one question. if I pipe a file to perl6 like cat FILE | perl6 -e ' ???? ~~ /.*/'
10:53 pippo What do I have to put instead of the ???
10:53 diakopter gist updated.
10:54 pippo What do I have to put instead of the ???? to do a regex on each line of the FILE?
10:54 diakopter gah, fixing something else
10:54 Ayiko pippo: lines
10:55 diakopter gist updated again
10:56 diakopter gist updated again
10:59 FROGGS p: say so lines ~~ /.*/ # pippo: camelia here has a default stdin for testing stuff like that
10:59 camelia rakudo-parrot 37d445: OUTPUT«False␤»
10:59 FROGGS uhh
10:59 FROGGS p: say lines
10:59 camelia rakudo-parrot 37d445: OUTPUT«Stille Nacht! Heilige Nacht! Alles schläft; einsam wacht Nur das traute heilige Paar. Holder Knab im lockigem Haar, Schlafe in himmlischer Ruh! Schlafe in himmlischer Ruh!  Stille Nacht! Heilige Nacht! Gottes Sohn! O wie lacht Lieb´ aus deinem göttlic…»
10:59 FROGGS p: say so lines
10:59 camelia rakudo-parrot 37d445: OUTPUT«True␤»
10:59 tadzik such lines. So True
10:59 FROGGS p: say lines() ~~ /.*/
10:59 camelia rakudo-parrot 37d445: OUTPUT«「Stille Nacht! Heilige Nacht!」␤␤»
10:59 FROGGS p: say so lines() ~~ /.*/
10:59 camelia rakudo-parrot 37d445: OUTPUT«True␤»
10:59 tadzik much christmas
10:59 FROGGS okay, I passed the regex to the sub first
10:59 diakopter frog in a blender
11:00 tadzik wæt‽
11:00 diakopter STEGOSAURUS
11:00 tadzik STOMP
11:01 pippo Thank you all!!! Have a very nice day!
11:01 pippo left #perl6
11:04 diakopter fixed some more things; working on it still.
11:04 diakopter timotimo: i'm on it
11:05 jnthn diakopter: Where's latest?
11:07 diakopter gist updated just now
11:08 pippo joined #perl6
11:08 pippo p: say lines;
11:08 camelia rakudo-parrot 37d445: OUTPUT«Stille Nacht! Heilige Nacht! Alles schläft; einsam wacht Nur das traute heilige Paar. Holder Knab im lockigem Haar, Schlafe in himmlischer Ruh! Schlafe in himmlischer Ruh!  Stille Nacht! Heilige Nacht! Gottes Sohn! O wie lacht Lieb´ aus deinem göttlic…»
11:08 pippo m: say lines;
11:08 camelia rakudo-moar 37d445: OUTPUT«(signal SEGV)»
11:09 pippo Moar does not work.
11:09 pippo j: say lines;
11:09 camelia rakudo-jvm 37d445: OUTPUT«␤»
11:09 Mouq pippo: Moar is iffy with STDIN as of yet
11:09 pippo OK understood. Thank you.
11:10 jnthn That comes out with "Failed to seek in filehandle: 9" on Windows...
11:10 diakopter pippo: it's very very new :)
11:10 Mouq Opening normal files on Rakudo Moar has worked fine for me thus far
11:10 pippo Yes new. And I like it very much :-))
11:11 pippo Mouq: yes also for me. But I cannot pout it on pipe chain.
11:11 pippo Mouq: yes also for me. But I cannot pout it on pipe chain. To do one liners...
11:11 Mouq pippo: I feel you pain :)
11:11 Mouq *your
11:12 pippo o/ #perl6
11:12 pippo left #perl6
11:12 Mouq \o pippo
11:19 Mouq r: say qw[<h3> </h3>].join: "Section header"
11:19 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«<h3>Section header</h3>␤»
11:24 slavik joined #perl6
11:35 jnap joined #perl6
11:38 dalek nqp: f2ac686 | diakopter++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
11:38 dalek nqp: timotimo++ # bindattr hinted inspiration # jnthn++ # fixing all the things
11:38 dalek nqp:
11:38 dalek nqp: oh btw, still broken.
11:38 dalek nqp: review: https://github.com/perl6/nqp/commit/f2ac686b00
11:42 Mouq r: END { say q:to[WUT]; }␤  </␤  WUT
11:42 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Regex not terminatedâ�¤at /tmp/tmpfile:3â�¤------> [32m  WUT[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement e…»
11:42 moritz std: END { say q:to[WUT]; }␤  </␤  WUT
11:42 camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
11:55 moritz current nqp-m build dies with   This representation (P6num) does not support attribute storage
11:56 jnthn yeah, diakopter pushed a non-working patch...
11:56 jnthn I think I've got a fix locally, hang on a moment...
11:56 moritz *grumble* that's what branches are for
11:57 jnthn yes, that's what I said
11:59 diakopter sry, my battery was at 1%
11:59 diakopter home now
11:59 diakopter er, 0%
12:01 dalek nqp: ce95c7e | jnthn++ | / (2 files):
12:01 dalek nqp: Fix attribute access optimization.
12:01 dalek nqp: review: https://github.com/perl6/nqp/commit/ce95c7e260
12:01 diakopter o_O
12:01 jnthn If you don't push things in the order you compile 'em, then you may mess up temporaries.
12:02 diakopter oh yeah......... gee
12:02 jnthn That gives me a win on CORE.setting compilation, but I guess doing getattr this way will get one too :)
12:03 diakopter want me to?
12:03 diakopter or timotimo?
12:03 jnthn Or me? :)
12:03 jnthn I don't mind who does it :)
12:03 diakopter i'll do it unless timotimo wants it in teh next -2 seconds
12:06 Mouq FROGGS: re: http://irclog.perlgeek.de/​perl6/2014-01-22#i_8155398 I put together a simple prototype that pulls the data in [Coke]++'s perl6-roast-data together into an ugly HTML file https://gist.github.com/Mouq/8557617
12:07 FROGGS Mouq: ohh, nice
12:07 FROGGS I will try it in a minute (or two)
12:10 Mouq http://mouq.github.io/feast
12:11 Mouq ^^ the resulting, very basic page is there
12:12 jnthn Mouq++
12:13 timotimo jnthn: i already did it
12:13 tadzik wow :)
12:13 timotimo just didn't push it yet
12:13 moritz Mouq++
12:13 tadzik Mouq++
12:13 timotimo compiling the combined code now
12:13 jnthn timotimo: Wait, I think diakopter was doing it too? :)
12:14 Mouq 'tanks. I'm going to school, o/ #perl6
12:14 jnthn o/ Mouq
12:14 timotimo diakopter: don't do it! nooooooooooo!
12:14 moritz moar hackers on the same piece of code!
12:14 jnthn I think I got that enum regression that I did fixed
12:15 dalek nqp: c915a72 | diakopter++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
12:15 dalek nqp: tooooooo late
12:15 dalek nqp: review: https://github.com/perl6/nqp/commit/c915a72128
12:15 timotimo :(
12:15 timotimo my code is much shorter
12:15 timotimo oh well.
12:15 diakopter no it wasn't :P
12:16 moritz diakopter: it would be nice to have better commit messages in nqp
12:16 diakopter uhm, stage mast was 22s
12:17 jnthn And now?
12:17 diakopter is now 22
12:17 diakopter yesterday was 40 something
12:17 tadzik oh
12:17 diakopter <- nap
12:18 FROGGS it was about 80s the day before
12:18 FROGGS it was equal to stage parse, which is about 56s now on my box
12:19 timotimo Stage parse      :  49.380 / Stage mast       :  22.543
12:19 timotimo 10:24 < timotimo> Stage parse      :  50.108  /  Stage mast       :  22.890
12:19 timotimo so a barely measurable win
12:19 timotimo oh well.
12:20 timotimo at least try_get_slot won't be a hot path any more
12:22 lizmat joined #perl6
12:23 kaleem joined #perl6
12:23 Mouq joined #perl6
12:23 Mouq o/ #perl6
12:23 Mouq my school just canceled
12:23 Mouq long time no see
12:23 tadzik haha
12:24 dalek rakudo/nom: 5bfffc6 | jnthn++ | src/core/Enumeration.pm:
12:24 dalek rakudo/nom: Fix Enum($val) coercion regression.
12:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5bfffc62cc
12:24 tadzik lucky you :)
12:24 jnthn Mouq: Wow...snow?
12:25 amkrankruleuen joined #perl6
12:26 Mouq Yeah, I'm in rural Pennsylvania where we get enough snow to be dangerous but not enough to have enough plowers for when it does, like Vermont etc
12:27 LLamaRider joined #perl6
12:27 Mouq So, a couple inches that weren't well prepared for == no school :p
12:27 timotimo jnthn: should i re-run the moarvm benchmarks with the new changes? did we get native inlinability working?
12:28 jnthn timotimo: It works but...
12:29 * timotimo expects dalek to report a commit in the next few seconds
12:30 prevost joined #perl6
12:30 jnthn ...it inlines a return type check, which it should toss.
12:30 timotimo oh
12:30 jnthn On all backends, mind
12:30 timotimo ah well. could be worse.
12:30 jnthn So I'm gonna fix that also.
12:30 timotimo but sure, do that :)
12:30 timotimo are getattr and bindattr inlinable, btw?
12:31 jnthn timotimo: Your getattr may not have had much impact on CORE.setting, but you did make a new Moar spectest time record on my box.
12:31 jnthn Yes, they are.
12:31 timotimo it should get that set on it, then
12:31 * timotimo does it
12:31 jnthn timotimo: wait!
12:31 jnthn Don't sent :inlinable on things
12:31 jnthn The default is inlinable in Moar
12:31 jnthn And JVM
12:31 jnthn You have to opt *out*
12:31 timotimo ah, ok!
12:32 jnthn I did it opt-in on Parrot in the first place
12:32 jnthn It still is that way.
12:32 jnthn But I realized...opting in is the common case.
12:32 timotimo how much better is the new spectest time record, ooc?
12:32 jnthn So I made it opt out instead.
12:32 jnthn 5 seconds
12:32 timotimo that's not that bad :)
12:32 jnthn Down to 316s for make spectest here.
12:32 timotimo how many concurrent jobs and how many cores?
12:32 jnthn 4 physical, 8 virtual, --jobs=6
12:32 timotimo not bad!
12:33 timotimo okay, i'll let you get back to coding :)
12:33 colomon woah
12:34 jnthn To put it into perspective, earlier on in the month spectest on this machine with that number of jobs was 1662s.
12:35 timotimo i'll look into trim_string now
12:35 Mouq Oh, btw: the page I linked to was generated with Rakudo Moar ^_^ didn't run into any rakudo-bugs, either, just Mouq-bugs. MoarVM++ Rakudo++
12:35 timotimo \o/
12:35 timotimo what page was that?
12:35 Mouq This: http://mouq.github.io/feast
12:35 timotimo oh, that's cool
12:35 jnap joined #perl6
12:37 moritz <tr><td>S01-perl-5-integration/basic.t</td><td></td><td>    20 skipped: <unknown><br/></td><td>    20 skipped: <unknown><br/></td><td>    20 skipped: <unknown><br/></td></tr>
12:37 moritz needs a bit HTML escaping
12:38 Mouq Oi, yeah, hadn't even considered that
12:38 moritz Mouq: if you add some nice few class="..." attributes, we could add some JS that can collapse columns (like if you want to only compare two rakudos)
12:38 smls joined #perl6
12:39 moritz also, No candidates for dispatch to &infix:<==> # three html meta characters in one operator name :-)
12:42 smls r: say q[a\b\\c\'d];
12:42 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«a\b\c\'d␤»
12:42 smls ^^ I realize this matches Perl 5's behavior, but is it really sensible to keep it?
12:42 moritz r: say Q[a\b\\c\'d]
12:42 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«a\b\\c\'d␤»
12:42 smls ah
12:42 moritz smls: it's sensible to have it as an option :-)
12:43 Mouq smls: http://perlcabal.org/syn/S02.html#Q_forms
12:51 smls r: .say for Qw['' \' \\]
12:51 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«''␤\'␤\\␤»
12:51 smls nice.
13:02 smls my $x = rx/./; say +$x.DUMP.lines;   # .DUMP sure is verbose...
13:02 smls r: my $x = rx/./; say +$x.DUMP.lines;   # .DUMP sure is verbose...
13:02 camelia rakudo-moar 37d445: OUTPUT«(signal SEGV)use of uninitialized value of type Any in string context␤use of uninitialized value of type Any in string context␤use of uninitialized value of type Any in string context␤»
13:02 camelia ..rakudo-jvm 37d445: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError␤␤Error while creating backtrace: Cannot unbox a type object␤  in block  at gen/jvm/CORE.setting:10596␤  in block  at gen/jvm/CORE.setting:7368␤  in method reify at gen/jvm/CORE.setting:7319…»
13:02 camelia ..rakudo-parrot 37d445: OUTPUT«85␤»
13:02 timotimo heh.
13:04 smls did I do something wrong to make rakudo-moar/jvm complain like that?
13:06 djanatyn joined #perl6
13:06 moritz maybe a .DUMP bug
13:07 Mouq r: say +1.Dump.lines
13:07 camelia rakudo-moar 37d445: OUTPUT«Cannot find method 'Dump'␤  in block  at /tmp/tmpfile:1␤␤»
13:07 camelia ..rakudo-parrot 37d445, rakudo-jvm 37d445: OUTPUT«No such method 'Dump' for invocant of type 'Int'␤  in block  at /tmp/tmpfile:1␤␤»
13:07 Mouq r: say +1.DUMP.lines #blug
13:08 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«1␤»
13:08 Mouq \o/ :P
13:08 timotimo i think "blug" is #perl6 slang for "to have blogged"
13:09 timotimo so you better have a blogpost about that ready :))
13:09 Mouq timotimo: Erm... ! :)
13:10 Mouq timotimo: Maybe ...like... a couple weeks or months or so, just gotta polish it up a bit
13:11 dalek perl6-bench: 236bd02 | (Timo Paulssen)++ | bench:
13:11 dalek perl6-bench: replace another Hash.delete with :delete adverb
13:11 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/236bd02d3f
13:11 dalek perl6-bench: 08add84 | (Timo Paulssen)++ | comp (2 files):
13:11 dalek perl6-bench: introduce rakudo-moar
13:11 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/08add840a0
13:11 timotimo :D
13:15 jnthn \o/
13:16 FROGGS joined #perl6
13:16 Mouq r: say 'rakudo.moar'.wordcase
13:16 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«Rakudo.Moar␤»
13:20 sctt joined #perl6
13:24 atroxaper joined #perl6
13:27 xinming joined #perl6
13:28 pdcawley joined #perl6
13:33 FROGGS r: say "a" ~~ /<:Any>/
13:33 camelia rakudo-parrot 37d445: OUTPUT«Unicode property 'Any' 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␤␤»
13:33 camelia ..rakudo-jvm 37d445: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {Any} near index 6␤\p{Any}␤      ^␤␤Error while creating backtrace: Cannot unbox a type object␤  in block  at gen/jvm/CORE.setting:10596␤  in block  at gen/jvm/CORE.setting:…»
13:33 camelia ..rakudo-moar 37d445: OUTPUT«「a」␤␤»
13:33 FROGGS r: say "a" ~~ /<test=:Any>/
13:33 camelia rakudo-parrot 37d445: OUTPUT«Unicode property 'Any' 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␤␤»
13:33 camelia ..rakudo-jvm 37d445: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {Any} near index 6␤\p{Any}␤      ^␤␤Error while creating backtrace: Cannot unbox a type object␤  in block  at gen/jvm/CORE.setting:10596␤  in block  at gen/jvm/CORE.setting:…»
13:33 camelia ..rakudo-moar 37d445: OUTPUT«「a」␤␤»
13:33 moritz m: "a" ~~ /<test=:Any>/ and say $/.keys
13:34 camelia rakudo-moar 37d445: OUTPUT«␤»
13:34 FROGGS I was hoping it would work automagically
13:35 FROGGS r: say "a" ~~ /<:!Blk<ASCII>>/ # I am looking forward to implement that
13:35 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in metachar:sym<assert>; couldn't find final '>' �at /tmp/tmpfile:1�------> [32msay "a" ~~ /<:!Blk[33m�[31m<ASC…»
13:35 FROGGS n: say "a" ~~ /<:!Blk<ASCII>>/ # I am looking forward to implement that
13:35 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Extra argument not allowed; pair already has False argument at /tmp/QA5VZ4egC8 line 1:�------> [32msay "a" ~~ /<:!Blk[33m�[31m<ASCII>>/ # I am looking forward to impl[0m��Parse failed��»
13:35 FROGGS ohh
13:35 FROGGS n: say "a" ~~ /<:Blk<ASCII>>/ # I am looking forward to implement that
13:35 camelia niecza v24-109-g48a8de3: OUTPUT«「a」␤␤»
13:35 FROGGS r: say "a" ~~ /<:Blk<ASCII>>/ # I am looking forward to implement that
13:35 camelia rakudo-parrot 37d445, rakudo-jvm 37d445, rakudo-moar 37d445: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in metachar:sym<assert>; couldn't find final '>' �at /tmp/tmpfile:1�------> [32msay "a" ~~ /<:Blk[33m�[31m<ASCI…»
13:36 FROGGS std: say "a" ~~ /<:Blk<ASCII>>/ # I am looking forward to implement that
13:36 camelia std 09dda5b: OUTPUT«ok 00:01 126m␤»
13:36 FROGGS should not be too hard
13:36 jnap joined #perl6
13:41 djanatyn joined #perl6
13:41 Somarys joined #perl6
13:42 timotimo japhb: a friend of mine has some crazy rendering artifacts on jqplot
13:42 Somarys left #perl6
13:42 timotimo http://i.imgur.com/zgjddMc.png
13:43 kbaker joined #perl6
13:46 ajr joined #perl6
13:46 Somarys joined #perl6
13:46 Somarys Hola
13:47 moritz hi Somarys
13:49 timotimo hey there
14:02 FROGGS std: /<test=[A..Z]>/
14:02 camelia std 09dda5b: OUTPUT«ok 00:01 123m␤»
14:02 FROGGS n: say "A" ~~ /<test=[A..Z]>/
14:02 camelia niecza v24-109-g48a8de3: OUTPUT«「A」␤ test => 「A」␤␤»
14:02 FROGGS ool
14:02 FROGGS cool*
14:04 colomon p:  say "A" ~~ /<test=[A..Z]>/
14:04 camelia rakudo-parrot 5bfffc: OUTPUT«「A」␤␤»
14:05 colomon p:  say ("A" ~~ /<test=[A..Z]>/).perl
14:05 camelia rakudo-parrot 5bfffc: OUTPUT«Match.new(orig => "A", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new())␤»
14:05 colomon ah
14:05 FROGGS - QAST::Regex(:rxtype(concat)) <test=[A..Z]>
14:05 FROGGS - QAST::Regex(:rxtype(charrange) :subtype(capture) :name(test)) <test=[A..Z]>
14:05 FROGGS it is meant to capture...
14:07 timotimo i hope i didn't break that?
14:07 timotimo try it with --target=ast
14:07 timotimo instead of --target=optimize?
14:08 FROGGS timotimo: just an additional concat is stripped when optimized
14:09 timotimo phew.
14:09 FROGGS :o)
14:14 Somarys joined #perl6
14:14 Somarys hablan español¿¿¿???
14:17 tadzik me no comprende espagnol
14:17 timotimo una cerveca por favor
14:18 tadzik and so my polite vocabulary ends
14:18 timotimo mine too :(
14:18 tadzik (☞゚ヮ゚)☞
14:19 tadzik here, have some Summer Steel Toes: http://tomash.soup.io/post/391683822/Glanda-y
14:21 Somarys o.O
14:22 timotimo wow
14:23 FROGGS O.o
14:23 Somarys :)
14:24 huf wow, those look _terribly_ tacky
14:26 jnthn Let's all wear them to YAPC::EU! :P
14:26 jnthn ...not. :)
14:26 tadzik YAY! ...awww
14:26 jnthn tadzik: Well, maybe...
14:26 jnthn :)
14:26 huf that and kilts, yes.
14:26 tadzik haha
14:26 huf it'd go well with the black utility kilts (or what are those called)
14:26 tadzik let's give it as a present to mst
14:27 grondilu rn: for 1, 2 ... -1 { last }; say "alive"
14:27 jnap joined #perl6
14:27 camelia rakudo-parrot 5bfffc, rakudo-jvm 5bfffc: OUTPUT«(timeout)»
14:27 camelia ..niecza v24-109-g48a8de3: OUTPUT«alive␤»
14:28 grondilu niecza is right here, isn't it?
14:28 moritz aye
14:29 grondilu k
14:31 timotimo yeah, for shouldn't slurp up the whole list all at once
14:31 jnthn Not sure if it's going for whole list or just hugely chunking...
14:31 jnthn (when it shoudln't be)
14:31 arnsholt huf: Utilikilt, if memory serves =)
14:35 FROGGS I would wear a kilt on the YAPC::EU
14:36 dalek rakudo-star-daily: 5b43f2a | coke++ | log/ (5 files):
14:36 dalek rakudo-star-daily: today (automated commit)
14:36 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/5b43f2aaf4
14:37 timotimo now the only warnings that remain are three warnings in modules/panda/t/common.t
14:37 timotimo tadzik: ^ ?
14:37 tadzik oh?
14:37 tadzik I'll check at home
14:37 timotimo https://github.com/coke/rakudo-star-da​ily/blob/5b43f2aaf41c15d2853ccbe5856e2​096660ca855/log/test-modules.log#L139
14:40 * timotimo heads out
14:41 rindolf joined #perl6
14:41 btyler joined #perl6
14:41 dalek evalbot: 14b977c | Mouq++ | evalbot.pl:
14:41 dalek evalbot: Add rakudo-moar to rn: and nr:
14:41 dalek evalbot: review: https://github.com/perl6/evalbot/commit/14b977c6b0
14:42 FROGGS cool
14:44 moritz evalbot control pull
14:44 camelia (success)
14:44 grondilu nr: say "Hi, I'm running on {$*VM<name>.fc}."
14:44 camelia rakudo-parrot 5bfffc, rakudo-jvm 5bfffc: OUTPUT«No such method 'fc' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
14:44 camelia ..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method fc in type Any␤  at /tmp/tmpfile line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤  at…»
14:45 moritz evalbot control restart
14:45 grondilu nr: say "Hi, I'm running on {$*VM<name>}."
14:45 camelia joined #perl6
14:45 grondilu :/
14:45 grondilu bah, nevermind
14:46 moritz nr: say "Hi, I'm running on {$*VM<name>}."
14:46 camelia niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1389 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 269 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/tmpfile line 1 (m…»
14:46 camelia ..rakudo-moar 5bfffc: OUTPUT«Hi, I'm running on moar.␤»
14:46 camelia ..rakudo-jvm 5bfffc: OUTPUT«Hi, I'm running on jvm.␤»
14:46 camelia ..rakudo-parrot 5bfffc: OUTPUT«Hi, I'm running on parrot.␤»
14:47 * grondilu wonders why calling $*VM is so slow
14:47 benabik joined #perl6
14:48 grondilu s/call/fetch/
14:48 moritz is it?
14:49 moritz the first execution of a newly started camelia is nearly always very slow, no matter what you do
14:49 moritz I have no idea why
14:49 nwc10 nr: say "Hi, I'm running on {$*VM<name>}."
14:49 camelia niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1389 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 269 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/tmpfile line 1 (m…»
14:49 camelia ..rakudo-moar 5bfffc: OUTPUT«Hi, I'm running on moar.␤»
14:49 camelia ..rakudo-jvm 5bfffc: OUTPUT«Hi, I'm running on jvm.␤»
14:49 camelia ..rakudo-parrot 5bfffc: OUTPUT«Hi, I'm running on parrot.␤»
14:49 nwc10 I didn't look the first time - was that faster?
14:50 grondilu 'say $*VM' took 24 seconds on rakudo* on my machine
14:50 nwc10 P: say "Hi, I'm running on {$*VM<name>}."
14:50 camelia pugs: OUTPUT«Hi, I'm running on .␤»
14:50 moritz it's a big-ish hash that's being .perl()ed
14:51 grondilu 9.5 seconds on r-m, though.
14:51 jnthn What on earth are we doing in .perl... :)
14:51 moritz take 1.4s with r-m here, and 2.9s in r-p (both including startup time)
14:51 moritz jnthn: iterating, joining strings, escaping stuff...
14:52 bluescreen10 joined #perl6
14:52 * colomon is wishing he could easily do /.* (d+)$/ in C++ right now....
14:53 * colomon also just typed "my" to define a variable in C++.
14:57 grondilu that would not be C++ anymore.
14:58 dalek rakudo/nom: 37ca9f1 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
14:58 dalek rakudo/nom: Improve p6decontrv code-gen for native returns.
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37ca9f173b
14:58 dalek rakudo/nom: 1eaa897 | jnthn++ | src/core/Backtrace.pm:
14:58 dalek rakudo/nom: Fix backtraces not to rely on bust code-gen.
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1eaa897334
14:58 dalek rakudo/nom: d780360 | jnthn++ | src/ (2 files):
14:58 dalek rakudo/nom: Generate much simpler code for int/num/str unbox.
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d780360ca1
14:59 jnthn Think that may have fixed a test too...
15:01 colomon grondilu: it's always remarkable to me how much easier it is to write tests in p6 than in C++.
15:04 colomon huh, the XML module started failing its prereqs over night?!?
15:05 colomon oh, "Failed cloning git repository 'git://github.com/supernovus/exemel.git'
15:05 colomon "
15:05 pdcawley joined #perl6
15:05 colomon guessing that was just transitory?
15:06 moritz probably
15:06 shlomocomputer joined #perl6
15:06 thou joined #perl6
15:07 skids joined #perl6
15:07 shlomocomputer niecza: say 5
15:07 camelia niecza v24-109-g48a8de3: OUTPUT«5␤»
15:09 xenoterracide joined #perl6
15:10 moritz m: sub circumfix:<<` `>>(*@args) { @args.join('-') }
15:10 camelia rakudo-moar 5bfffc: ( no output )
15:10 moritz m: sub circumfix:<<` `>>(*@args) { @args.join('-') }; say `3, 4, "f"`
15:10 camelia rakudo-moar 5bfffc: OUTPUT«===SORRY!===␤Cannot find method 'flat'␤»
15:10 moritz ... on which invocant?
15:10 moritz and why not?
15:11 colomon p: sub circumfix:<<` `>>(*@args) { @args.join('-') }; say `3, 4, "f"`
15:11 camelia rakudo-parrot 5bfffc: OUTPUT«3-4-f␤»
15:11 colomon sweet.
15:11 bluescreen100 joined #perl6
15:12 moritz it dies in the optimizer
15:12 moritz src/Perl6/Optimizer.nqp:665
15:12 FROGGS[mobile] joined #perl6
15:12 moritz for @($op) {
15:12 moritz # Can't cope with flattening or named.
15:12 moritz if $_.flat || $_.named ne '' {
15:12 moritz return [];
15:12 moritz }
15:12 moritz the .flat there dies
15:13 moritz that's method analyze_args_for_ct_call
15:14 moritz and the test is from S06-operator-overloading/sub.t
15:15 jnthn oh, that's the test we fail there?
15:15 moritz yes
15:15 moritz and with --optimize=off, it dies with
15:16 moritz Error while compiling op call (source text: "say `3, 4, \"f\"`"): Unknown QAST node type NQPMu
15:16 moritz so it seems it somehow places an NQPMu into the argument list
15:17 timotimo jnthn: i'll kick off a benchmark run if that's okay with you
15:17 timotimo should i run jvm and parrot as well?
15:17 jnthn timotimo: Make sure you grab HEAD of moar/nqp/rakudo
15:18 jnthn timotimo: I'm still working on natives things but it should be a bit better already
15:19 FROGGS[mobile] I have scripts for pull_all and make_all that are very useful these days
15:20 FROGGS[mobile] I bet in a few weeks perl6-m is installed before we see stage parse of perl6-p
15:23 timotimo jnthn: will the other backends see significant changes, too?
15:23 timotimo and will the other backends have seen differences since the last time i benchmarked them?
15:23 jnthn timotimo: lemme see..
15:24 jnthn timotimo: Only improvements intentionally made for natives are all directly Moar related
15:24 timotimo great, i don't have to spend 3 hours benchmarking then :)
15:25 jnap1 joined #perl6
15:26 colomon timotimo: the benchmarking is automatic, right?
15:26 timotimo yeah, mostly
15:26 jnthn timotimo: Here, a simple native loop went from nearly six seconds to under 1.5
15:26 jnthn But the code is still kinda shit.
15:26 timotimo any changes needed for the release guide of rakudo to account for moar?
15:26 timotimo probably only for nhqp
15:26 timotimo nqp*
15:27 jnthn Yeah, we need to cut a Moar release...
15:27 timotimo since things are still rapidly changing, i suppose we should cut it ALAP
15:28 timotimo do we put moarvm release tarballs up on the rakudo.org site, too?
15:28 moritz we could
15:28 moritz create another subdirectory under ~rakudo/public_html/downloads/
15:29 jnthn Could do that
15:29 jnthn We could also maybe get them on a MoarVM.org or so
15:30 timotimo jnthn: how long approximately until the code is no longer kinda shit? :)
15:30 benabik Is there a .vm TLD?  moar.vm?
15:30 jnthn benabik: hehe
15:30 moritz $ whois moar.vm
15:30 moritz No whois server is known for this kind of object.
15:31 timotimo aaw
15:31 moritz looks like "no"
15:31 timotimo moar.no?
15:31 jnthn seems not
15:31 btyler there's .mr, though
15:31 jnthn Well, I already have moarvm.org and morvm.com
15:31 jnthn *moarvm.com
15:31 benabik Oh, well, that's simpler.
15:31 nwc10 but not .net .biz .info and all the other land grabs?
15:31 moritz jnthn: do you need hosting?
15:32 jnthn moritz: No, the same thing that runs jnthn.net is well underutilized...
15:32 moritz also, github has that 'releases' feature that we could try out
15:32 nwc10 does that give you download stats?
15:32 treehug88 joined #perl6
15:33 nwc10 I'm curious about the relative popularity of JVM star and the other 2
15:33 jnthn moritz: ooh, true
15:37 JimmyZ Will moarvm.com be hiring?
15:37 timotimo :D
15:38 tadzik moarvirtualmachi.ne
15:43 timotimo japhb: it would be cool if we could come up with a per-subcomponent-versioning thing for perl6-bench
15:43 timotimo for when we didn't bump NQP_REVISION and MOAR_REVISION etc etc
15:52 dalek nqp: debdc92 | benabik++ | src/QRegex/P6Regex/Actions.nqp:
15:52 dalek nqp: Avoid duplicate comparison in \C action
15:52 dalek nqp:
15:52 dalek nqp: It only builds the enumcharlist node if we're building a \C so we
15:52 dalek nqp: don't need to check for \C again before setting negate.
15:52 dalek nqp: review: https://github.com/perl6/nqp/commit/debdc923a8
15:59 Psyche^ joined #perl6
16:00 timotimo benabik: we need Common Subexpression Elimination :P
16:00 FROGGS ahh, benabik++
16:00 benabik timotimo: Go right ahead an implement that.  :-P
16:00 dalek nqp: fd0ae90 | jnthn++ | src/vm/moar/QAST/QAST (2 files):
16:00 dalek nqp: Convey QAST::Stmt/QAST::Stmts wanted type.
16:00 dalek nqp:
16:00 dalek nqp: Can lead to much better code generation in some cases.
16:00 dalek nqp: review: https://github.com/perl6/nqp/commit/fd0ae9099a
16:01 timotimo benabik: i'll get back to you about that some time ... :P
16:02 diakopter you're a common subexpression
16:02 benabik FROGGS: I was going to bother you about that one, but then realized it was in a repo where I had a commit bit.  :-D
16:02 FROGGS :o)
16:03 jnthn timotimo: fd0ae90 helps a good bit with natives
16:04 timotimo i'm already building it :)
16:04 FROGGS perl6-m -e 'say "abcöäüdef" ~~ /<umlauts=[äöü]>+/' # 「öäü」 umlauts => 「ö」 umlauts => 「ä」 umlauts => 「ü」
16:05 FROGGS I love it :o)
16:06 masak good evening, #perl6
16:06 jnthn o/ masak
16:06 timotimo o/ masak
16:06 timotimo a/ mosok
16:06 FROGGS o/ masak
16:06 FROGGS -.-
16:06 masak timatima: ;)
16:07 FROGGS ö/ mäsäk
16:07 masak \ö/
16:07 FROGGS \m/
16:08 FROGGS which is cool in two ways
16:08 FROGGS »ö«  ← still like to have this one for #moarvm's topic
16:09 FROGGS err »m«
16:09 timotimo what kind of animal is that?
16:09 masak a millipede.
16:09 timotimo :D
16:09 FROGGS dunno, just some kind of mamal perhaps
16:09 FROGGS err
16:10 * masak .oO( read the fine mammal )
16:10 FROGGS +1 to millipede
16:10 timotimo :D
16:10 jnthn Now do a unicode chimera :P
16:10 FROGGS jnthn: is that your imagination of moar?
16:11 jnthn FROGGS: Well, a bunch of us back at YAPC::EU kinda liked the idea of that as the Moar animal...I can't remember why, maybe we just drunk beer, went to see a building with chimeras on and were like "oh, moar animal" :)
16:12 FROGGS *g*
16:17 FROGGS damn, I fudged up S05/properties-general.t for parrot >.<
16:18 FROGGS twice
16:18 * colomon read that as "unicorn chimera"
16:19 FROGGS me too initially :o)
16:19 FROGGS but that might be due to my activities these days
16:21 colomon oh?
16:21 FROGGS colomon: I was/am working on the unicode implementation on moar
16:21 colomon FROGGS++
16:22 FROGGS ohh noes, that error was extra stupid of me >.<
16:23 FROGGS wait until you see *g*
16:24 dalek roast: 330aca7 | (Tobias Leich)++ | S05-mass/properties-general.t:
16:24 dalek roast: escape exploding sequence in skip()
16:24 dalek roast: review: https://github.com/perl6/roast/commit/330aca7d15
16:25 smls d
16:26 spider-mario joined #perl6
16:28 FROGGS uff, S32-io/IO-Socket-INET.t times out on my box
16:33 sqirrel joined #perl6
16:34 treehug8_ joined #perl6
16:37 japhb Anyone else having trouble getting irclogs?  I can see the top level channel list, but not the perl6 channel or .../perl6/today (both give blank white screens)
16:37 xfix r: say [~] pick *,^10
16:37 xfix r: print pick *,^10
16:37 camelia rakudo-moar d78036: OUTPUT«4785193026␤»
16:37 camelia ..rakudo-jvm d78036: OUTPUT«9056243871␤»
16:37 camelia ..rakudo-parrot d78036: OUTPUT«3749126805␤»
16:37 camelia rakudo-moar d78036: OUTPUT«4785193026»
16:37 camelia ..rakudo-parrot d78036: OUTPUT«5602738941»
16:37 camelia ..rakudo-jvm d78036: OUTPUT«4812930765»
16:38 FROGGS there is not a single test for /<foo=[bar]>/ or /<foo=:Letter>/
16:40 smls japhb: works for me
16:40 dalek nqp: 952fc3c | (Tobias Leich)++ | src/ (6 files):
16:40 dalek nqp: enable captures in assertions
16:40 dalek nqp:
16:40 dalek nqp: Like: /<foo=[bar]>/ or /<foo=:Letter>/
16:40 dalek nqp: review: https://github.com/perl6/nqp/commit/952fc3c10c
16:40 xfix Ayiko, nice to see someone other than me golfing Perl 6 :-).
16:41 timotimo now i won't have a chance at all :(
16:41 FROGGS japhb: must be the server side request limit... just wait a few minutes
16:42 japhb smls: Yeah, just managed to get it again.  Could have been a fail on my end too.
16:45 bjz joined #perl6
16:45 kbaker joined #perl6
16:48 FROGGS $tune_up = rx/ ("don't") (ray) (me) (for) (solar tea), ("d'oh!") <--- lol
16:49 FROGGS std: / @<from>=[(\S+) \s+]* /
16:49 camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
16:50 FROGGS p: / @<from>=[(\S+) \s+]* /
16:50 camelia rakudo-parrot d78036: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1390409407.18793␤»
16:50 FROGGS O.o
16:50 FROGGS masak: do we have that one?
16:50 FROGGS r: / @<from>=[(\S+) \s+]* /
16:50 camelia rakudo-jvm d78036: OUTPUT«===SORRY!===␤setcodeobj can only be used with a CodeRef␤»
16:50 camelia ..rakudo-moar d78036: OUTPUT«===SORRY!===␤Error while compiling op bind: QAST::Block with cuid cuid_1_1390409442.79879 has not appeared␤»
16:50 camelia ..rakudo-parrot d78036: OUTPUT«===SORRY!===␤Could not find sub cuid_1_1390409440.27707␤»
16:52 timotimo hmm. what's the least-effort webserver to get to ~/public_html?
16:52 timotimo either apache or cherokee
16:52 FROGGS I just know about apache
16:52 FROGGS timotimo: you can also: sudo cpan Dancer
16:53 timotimo that's not for the kind of stuff i want, though
16:55 _sri perl -Mojo -E 'push @{app->static->paths}, "/home/timotimo/public_html"; a->start' daemon
16:56 moritz _sri: do you have a hilight on Dancer? :-)
16:57 _sri nope, i read the backlogs of #perl6 and #moarvm to motivate myself every now and then ;)
16:59 timotimo wow.
17:01 masak FROGGS: don't recognize it. feel free to commit.
17:01 masak er. submit. whatever.
17:01 FROGGS I will
17:02 * masak .oO( too little Perl 6, too much Git teaching )
17:04 timotimo http://wakelift.wakelift.de/~tim​o/bench/all_three_backends.html
17:06 timotimo very, very good.
17:06 timotimo jnthn: i'm impressed
17:06 diakopter masak: spread the git gitness gitly
17:06 kbaker joined #perl6
17:06 SamuraiJack joined #perl6
17:07 dalek specs: 18c668f | (Tobias Leich)++ | S05-regex.pod:
17:07 dalek specs: spec capture aliases of cclasses and unicode props
17:07 dalek specs: review: https://github.com/perl6/specs/commit/18c668fecb
17:07 arnsholt timotimo: That link doesn't work for me
17:07 masak diakopter: so git. such distributed. wow.
17:08 timotimo arnsholt: get with the future. perl6, baby :)
17:08 timotimo alternatively, sixxs has a 4to6 thingie, doesn't it?
17:08 jnthn timotimo: Looking
17:08 masak timotimo: link doesn't work for me either.
17:08 jnthn timotimo: Doesn't work
17:08 timotimo huh?
17:09 timotimo nc6 2a02:8071:2909:7b00:5604:a6ff:fe93:d1a6 80
17:09 arnsholt Oooooh
17:09 timotimo a webserver should answer there
17:09 treehug88 joined #perl6
17:09 arnsholt It's only available onver IPv6
17:09 timotimo that's true, yes
17:09 jnthn not to me then
17:09 jnthn grrr
17:10 Alula|WORK joined #perl6
17:10 masak me either.
17:10 timotimo bleh. luddites :P
17:10 FROGGS timotimo: you are alone with your ipv6 then :o)
17:10 timotimo whatever. moar is now sometimes faster than jvm
17:10 moritz nope, worked fine here
17:10 timotimo from the beginning to the end
17:10 FROGGS cool
17:10 timotimo it is also the only backend that can do more than 2 steps of forest fire before the timeout kills it
17:11 timotimo for the concat related tests it still bombs, though
17:17 treehug88 joined #perl6
17:17 tadzik timotimo: fine, fine, I'll set up this sixxs daemon thingy...
17:21 tadzik timotimo: what are the first graphs for? Things/second?
17:21 rindolf joined #perl6
17:24 timotimo yes, it's "the higher up the better" every time
17:24 tadzik I see
17:26 tadzik yay, faster forest fire! :D
17:26 tadzik and _seriously_ faster. Is that the RC version, or nativified?
17:27 timotimo dunno.
17:28 tadzik yay 2! I managed to finally unsubscribe from all the ACM mailing lists that GSoC added me to
17:30 masak tadzik: wow. I didn't know that was possible.
17:32 tadzik masak: I asked them on customer support yesterday. I got an email today that they removed me from 5 MLs that I wasn't able to remove myself from
17:32 tadzik so it must've been at least a dozen of them in the beginning
17:34 tadzik wow, moar building got fast :)
17:34 dalek rakudo/nom: 334033e | (Tobias Leich)++ | tools/build/NQP_REVISION:
17:34 dalek rakudo/nom: pull in fix for captures of assertions
17:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/334033e5f8
17:34 masak "got fast"? wasn't it always fast?
17:34 tadzik it now got faster :)
17:35 zby_home_ joined #perl6
17:38 jnap joined #perl6
17:39 takadonet joined #perl6
17:40 takadonet hey all
17:40 masak takadonet! \o/
17:40 takadonet masak: how are you good sir?
17:40 masak takadonet: thank you, my kind fellow human, I am very fine.
17:41 masak takadonet: how's with you?
17:41 takadonet masak: great but tired
17:42 dalek roast: 59e90f5 | (Tobias Leich)++ | S05-metasyntax/angle-brackets.t:
17:42 dalek roast: add tests for captures in assertions
17:42 dalek roast: review: https://github.com/perl6/roast/commit/59e90f50c2
17:42 tadzik could someone with RC permissions update forestfire with https://gist.github.com/tadzik/8563439 ? It makes it runnable and simplier
17:42 takadonet question.... I been stalking the irc chat thru the perl 6 log and saw some great performance gains in the last few days Moar. However,  after getting a fresh copy of rakudo, still very slow
17:42 tadzik and a tiny bit faster :)
17:43 [Sno] joined #perl6
17:46 masak takadonet: I know what you mean by 'great but tired'. sums up my week too :)
17:46 masak &
17:46 timotimo takadonet: yeah, it's still not blazing fast, but it's gotten much faster just by dropping in moarvm instead of parrot
17:48 FROGGS "just"
17:49 FROGGS :o)
17:51 timotimo jnthn: can you give me relative timings of spectests for all three backends?
17:52 timotimo i'll attend Karlsruhe.pm in a few minutes and would like to give numbers :)
17:52 timotimo i may not have proper 'net access there
17:52 timotimo timings and memory usage if you have
17:52 timotimo or anybody else. FROGGS?
17:53 jnthn timotimo: Don't have numbers for that right now, sorry
17:53 timotimo fair enough
17:53 * timotimo heads out
17:53 timotimo hungry :)
17:53 jnthn o/
17:54 takadonet timotimo: well i think my installation has an issue since it takes 18m to run the spectest
17:55 molaf joined #perl6
17:55 jnthn takadonet: How many you doing in parallel?
17:55 * jnthn is with --jobs=6
17:55 takadonet same
17:56 takadonet based on top, looks like only one moar is running which is strange
17:56 jnthn What hardware does it have to parallelize those over, though?
17:56 [Coke] timotimo: I can add timings to the daily runs.
17:56 jnthn [Coke]: That would be nice
17:56 [Coke] (those are always done single threaded to avoid hogging the machine and to keep the logs sane.)
17:57 SamuraiJack joined #perl6
17:57 takadonet jnthn: same hardware as you
17:57 takadonet 4 cores , 8 virtual
17:57 FROGGS timotimo: hold on
17:57 shlomocomputer joined #perl6
17:57 jnthn Hm. Dunno why the difference, then.
17:58 takadonet hmmm
17:59 takadonet jnthn: you used any special flag when building rakaudo/moar?
17:59 FROGGS timotimo: though, spectesting jvm and parrot will take a while
17:59 jnthn takadonet: No; I may be a few commits ahead of what's in NQP_REVISION/MOAR_REVISION...
17:59 jnthn takadonet: But not much.
18:00 psch joined #perl6
18:00 jnthn takadonet: Other than that, I just build with defaults.
18:00 psch hi #perl6
18:00 [Coke] real, user, sys or all? config+build+specs, or config+build, specs ?
18:00 FROGGS hi psch
18:01 takadonet hey psch
18:29 TimToady r: say "Hi, I'm running on $*VM<name>.";  # don't need the braces
18:29 camelia rakudo-moar d78036: OUTPUT«Hi, I'm running on moar.␤»
18:29 camelia ..rakudo-jvm d78036: OUTPUT«Hi, I'm running on jvm.␤»
18:29 camelia ..rakudo-parrot d78036: OUTPUT«Hi, I'm running on parrot.␤»
18:35 FROGGS timotimo: m and p, (j following)
18:36 FROGGS 1310.40user 57.57system 6:05.11elapsed 374%CPU (0avgtext+0avgdata 280496maxresident)k
18:36 FROGGS 8inputs+10240outputs (0major+30966297minor)pagefaults 0swaps
18:36 FROGGS 2667.64user 170.96system 14:23.64elapsed 328%CPU (0avgtext+0avgdata 772528maxresident)k
18:36 FROGGS 48inputs+10368outputs (0major+91366029minor)pagefaults 0swaps
18:37 nwc10 so Moar taking half the time and maxing out at about one third of the memory of Parrot
18:37 nwc10 Moar is less.
18:39 * psch discovered that he messed up his rakudo fork and now made a horrible mess
18:39 psch i should have branched before commit changes that will make for a PR..!
18:41 Mouq joined #perl6
18:42 dalek nqp: aee2876 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
18:42 dalek nqp: Clean up and optimize want handling.
18:42 dalek nqp:
18:42 dalek nqp: Avoids a couple of hash lookups, repeated num to string coercions, and
18:42 dalek nqp: so forth.
18:42 dalek nqp: review: https://github.com/perl6/nqp/commit/aee2876ccd
18:48 jnthn shop, cooking &
18:50 FROGGS psch: I suggest you always create feature branches
18:53 xenoterracide joined #perl6
18:54 psch FROGGS: sound advice :)
18:54 psch ill brb
18:54 FROGGS :o)
18:58 jeffreykegler joined #perl6
18:58 Pleiades` joined #perl6
19:03 psch joined #perl6
19:03 FROGGS timotimo: j: 6183.61user 52.36system 27:43.77elapsed 374%CPU (0avgtext+0avgdata 2466304maxresident)k
19:03 FROGGS 1856inputs+23264outputs (1major+19251144minor)pagefaults 0swaps
19:07 rindolf joined #perl6
19:22 dalek nqp: fad3fb1 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
19:22 dalek nqp: get moar's copy() fixes
19:22 dalek nqp: review: https://github.com/perl6/nqp/commit/fad3fb1034
19:22 telex joined #perl6
19:22 Mouq joined #perl6
19:23 dalek rakudo/nom: 3c998b9 | (Tobias Leich)++ | src/Perl6/Actions.nqp:
19:23 dalek rakudo/nom: make subcaptures in assertions which have aliases
19:23 dalek rakudo/nom:
19:23 dalek rakudo/nom: This was forgotten in related commit.
19:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c998b9620
19:24 dalek rakudo/nom: 7cdddcd | (Tobias Leich)++ | tools/build/NQP_REVISION:
19:24 dalek rakudo/nom: get moar's copy() fixes
19:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7cdddcd9f4
19:24 shlomocomputer joined #perl6
19:25 FROGGS everybody should delete files like non-existent-copy-mtgt and non-existent-copy-stgt in his rakudo dir if he/she spectested moar in the past
19:27 Rotwang joined #perl6
19:27 shlomocomputer left #perl6
19:29 Mouq joined #perl6
19:33 jeffreykegler left #perl6
19:33 gcole joined #perl6
19:38 dalek nqp: 2727eaa | (Tobias Leich)++ | tools/build/MOAR_REVISION:
19:38 dalek nqp: bump nqp rev for substr fixes
19:38 dalek nqp: review: https://github.com/perl6/nqp/commit/2727eaab1c
19:39 dalek rakudo/nom: 19ba6a0 | (Tobias Leich)++ | tools/build/NQP_REVISION:
19:39 dalek rakudo/nom: bump nqp rev for substr fixes
19:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19ba6a079a
19:40 jnap joined #perl6
19:42 masak slightly OT, but probably fairly easily on-topic-able: does anyone have any resource detailing Perl 5's "programmable keywords"? I can't find any.
19:42 masak apparently they've been in since 5.14
19:43 ajr joined #perl6
19:55 moritz nothing about int perl5140delta
19:55 moritz masak: I'd try #p5p
19:56 tadzik I thought that's Pluggable Keywords
19:57 berekuk joined #perl6
19:58 takadonet left #perl6
19:58 masak moritz: I've since learned (on #perl on this server) that it's 'pluggable keywords'
19:58 moritz is that the API for doing what you needed Devel::Declare for?
19:58 masak yeah, think so.
19:58 masak and apparently https://metacpan.org/pod/Function::Parameters is a prime example of using it.
19:59 masak (I'm trying to build a case for my Perl 5 class to upgrade to >5.8)
20:00 TimToady 6 > 5 :)
20:00 masak TimToady: you are such a troll :P
20:00 moritz masak: say, state vars, better Unicode support, ...
20:00 masak TimToady: but if it makes you feel better, our course does have Perl 6 slides ;)
20:00 masak moritz: ooh, state vars.
20:00 moritz masak: but more importantly, regexes don't use the C stack anymore
20:01 masak ooh xx 2
20:01 masak hashing doesn't have that exploit anymore.
20:01 moritz masak: in perl 5.8, you can crash nearly any perl program by passing sufficiently long strings to it
20:01 masak I remember.
20:02 masak that actually is a compelling reason.
20:02 moritz (which is the main reason for Mojolicious dropping 5.8, iirc)
20:02 masak because the average string people pass to regexes is likely to become longer over time.
20:04 * TimToady blames our genes
20:04 * PerlJam thought it was physics.
20:04 diakopter my genes have a tear
20:04 PerlJam diakopter: are they sad?  ;)
20:04 diakopter er, a rip.
20:05 * masak .oO( did they split in two nearly-identical parts? that's how genes usually look! ) :P
20:05 TimToady but not a Big Rip
20:06 * skids tries to make a helix with his knees.
20:06 * TimToady performs a Mersenne Twistor
20:07 diakopter they partially recombined anyway
20:07 TimToady the Big Zip
20:07 diakopter faded is more recessive
20:08 diakopter TimToady: I think you mean rfolded :)
20:08 TimToady it's the Big Cross operator that amplifies our gene strings
20:09 masak for some reason I'm thinking you are talking about star constellations.
20:09 diakopter Little zipper is usually made of nylon
20:10 * TimToady wants to make a pun on panspermia, but decides not to
20:10 dalek rakudo/nom: c5ca990 | (Tobias Leich)++ | tools/build/Makefile-Moar.in:
20:10 dalek rakudo/nom: delete files that were created by wrong copy() impl
20:10 dalek rakudo/nom:
20:10 dalek rakudo/nom: Even copy() is fixed, these files make spectests fail. So we remove them.
20:10 dalek rakudo/nom: This line, though it does not hurt, should be removed in a few months.
20:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5ca9901ff
20:10 diakopter homespunspermutations
20:11 PerlJam diakopter++
20:11 diakopter TimToady seeded that one
20:12 diakopter er, sod anyway
20:12 TimToady better quit while you're behind....er...
20:14 TimToady nice weather today...
20:15 * skids grumbles.  Has to freeze at gas pump after work.
20:15 diakopter so jacket, such whinedy
20:15 TimToady FROGGS++ for actually doing something
20:15 FROGGS we're going to build a U+2603 this weekend :o)
20:15 FROGGS \o/
20:16 TimToady now, build a U+2604 and you'll have more ice to work with
20:16 FROGGS *g*
20:16 FROGGS nah, not with $kids
20:17 diakopter iceborg cube?
20:18 FROGGS std: /<:gc<Letter>>/ # I think I am going to implement that now
20:18 camelia std 09dda5b: OUTPUT«ok 00:01 123m␤»
20:18 masak FROGGS: I read that as 'nah, not with skids'. was thinking "wah, what's skids doing at FROGG's house?" :P
20:19 PerlJam masak: funny, I had a similar reading/thought at first
20:19 skids funny, I didn't. :-)
20:19 FROGGS hehe
20:19 masak :D
20:19 TimToady usually they make movies about dismantling a U+2604, not putting one together
20:20 diakopter r: say 'a' ~~ /<:General_Category:Letter>/
20:20 camelia rakudo-jvm 334033: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {General_Category} near index 19␤\p{General_Category}␤                   ^␤␤Error while creating backtrace: No such method 'Int' for invocant of type 'Any'␤  in block  at gen/…»
20:20 camelia ..rakudo-parrot 334033, rakudo-moar 334033: OUTPUT«「a」␤␤»
20:20 * TimToady pictures this really big Space Snowman, with a tail
20:20 lue p: say "abc" ~~ ☃<alpha>+☄
20:20 camelia rakudo-parrot 334033: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Eh8vNbaBKyâ�¤Two terms in a rowâ�¤at /tmp/Eh8vNbaBKy:1â�¤------> [32msay "abc" ~~ [33mâ��[31m☃<alpha>+☄[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix…»
20:20 FROGGS btw, rakudo's p-install takes 5m51.272s, while m-install takes 2m6.315s
20:20 FROGGS what the...
20:21 diakopter <:General_Category:Letter>
20:21 FROGGS r: say 'aA' ~~ /<:gc:Lu>/
20:21 moritz including building stuff?
20:21 camelia rakudo-jvm 334033: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {gc} near index 5␤\p{gc}␤     ^␤␤Error while creating backtrace: No such method 'Int' for invocant of type 'Any'␤  in block  at gen/jvm/CORE.setting:10596␤  in block  at gen…»
20:21 camelia ..rakudo-parrot 334033, rakudo-moar 334033: OUTPUT«「A」␤␤»
20:21 FROGGS std: say 'aA' ~~ /<:gc:Lu>/
20:21 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse metachar at /tmp/ESHna7OeZH line 1:â�¤------> [32msay 'aA' ~~ /[33mâ��[31m<:gc:Lu>/[0mâ�¤Couldn't find final '>'; gave up at /tmp/ESHna7OeZH line 1:â�¤------> [32msay 'aA' ~~ /<:gc[33mâ��[31m:Lu>/[0mâ�¤    â€¦Â»
20:21 FROGGS ha!
20:21 FROGGS moritz: after a make clean
20:21 TimToady that's not legal syntax
20:21 FROGGS that is what I thought too
20:21 diakopter use libertine;
20:21 FROGGS how does that even work?
20:21 lue Isn't it <:gc<Lu>> or something?
20:22 FROGGS lue: yes
20:22 * diakopter cackles
20:22 kbaker joined #perl6
20:22 * TimToady crows
20:22 FROGGS because <:gc> is kinda <:gc<True>>
20:22 diakopter r: say 'aA' ~~ /<:Lu>/
20:22 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«「A」␤␤»
20:22 diakopter it works because of that
20:22 * FROGGS quacks
20:22 FROGGS r: say 'aA' ~~ /<:mumble:Lu>/
20:23 camelia rakudo-jvm 334033: OUTPUT«java.util.regex.PatternSyntaxException: Unknown character property name {mumble} near index 9␤\p{mumble}␤         ^␤␤Error while creating backtrace: No such method 'Int' for invocant of type 'Any'␤  in block  at gen/jvm/CORE.setting:10596␤  in b…»
20:23 camelia ..rakudo-moar 334033: OUTPUT«「A」␤␤»
20:23 camelia ..rakudo-parrot 334033: OUTPUT«Unicode property 'mumble' 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␤␤»
20:23 FROGGS r: say 'aA' ~~ /<:Ll:Lu>/
20:23 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«「a」␤␤»
20:23 FROGGS ohh
20:23 diakopter seems union
20:23 diakopter such union
20:23 FROGGS r: say 'aA' ~~ /<:Ll:Lu>+/
20:23 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«「aA」␤␤»
20:23 FROGGS r: say 'aA' ~~ /<:[Ll,Lu]>+/
20:23 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/tmpfile:1�------> [32msay 'aA' ~~ /<[33m�[31m:[Ll,Lu]>+/[0m�Unrecognized regex metacharacte…»
20:24 lue .oO( say $_ if $_ ~~ /<:Age(6.0..*)>/ for ^0x11_0000».chr )
20:24 FROGGS that is not supposed to be legal I guess
20:25 TimToady r: say 'aA' ~~ /<:Ll+:Lu>+/
20:25 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«「aA」␤␤»
20:25 TimToady r: say 'aA' ~~ /<:Ll-:Lu>+/
20:25 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«「a」␤␤»
20:25 TimToady r: say 'aA' ~~ /<:L-:Ll>+/
20:25 camelia rakudo-parrot 334033, rakudo-jvm 334033, rakudo-moar 334033: OUTPUT«「A」␤␤»
20:25 FROGGS that might be even acceptable
20:26 lue I think <:A:B> should be implicit <:A + :B>, unless that's wildly inconsistent with other things that go in <>
20:26 TimToady std: say 'aA' ~~ /<:L-:Ll>+/
20:26 camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
20:26 * TimToady hates juxtaposition operators
20:26 TimToady especially if they don't mean a sequence
20:27 * TimToady hates that the mathematicians stole juxtaposition to mean multiplication
20:28 TimToady though one can see the linguistic underpinnings of it
20:28 FROGGS ohh, that is even a word O.o
20:28 TimToady "three fours"
20:29 masak TimToady: it's not all set in stone though.
20:29 TimToady so <:A:B> is right out, as far as I'm concerned
20:29 masak TimToady: regexes use juxtaposition to mean concatenation.
20:29 TimToady "sequence"
20:29 FROGGS "yeah"
20:29 masak which is more of an 'add' than a 'multiply' in that context.
20:30 TimToady regexes don't concatenate
20:30 masak right, right, pattern sequencing.
20:30 PerlJam masak: I thought regexes use juxtaposition to mean ... juxtaposition
20:30 masak PerlJam: hard to argue with that.
20:31 TimToady anyway, the null operator has a decent use in regexes, but you'll note it's much harder to detect errors that a TTIAR parser candetec
20:32 TimToady can detect, even, speaking of TTIAR
20:33 diakopter bird food
20:33 TimToady still hung up on those seeds, eh?
20:33 diakopter worms, I though
20:33 diakopter t
20:34 TimToady if I go to the store and ask for birdfood, they don't hand me worms
20:34 PerlJam That probably depends on the store.
20:34 PerlJam (and the bird)
20:34 TimToady you have to ask for bait over there
20:35 TimToady anyway, most birds are not robins
20:35 PerlJam .oO( What are most birds? )
20:36 diakopter STEGOSAURUS
20:36 TimToady .oO( resting )
20:36 diakopter PerlJam: non-round robins
20:36 TimToady obviously they don't eat roundworms
20:36 diakopter so, square tweeuits
20:37 diakopter squee.
20:37 diakopter *bullseye* the heart of the ringworm
20:38 diakopter ahahaha
20:38 * TimToady looks askance
20:39 diakopter that's not a faq, then
20:40 diakopter [OT] what's the line between loose association and complete nonsense
20:40 diakopter answer: complete nonsense? what's that?
20:41 * TimToady comletes his nonsense for the day
20:44 masak diakopter: category theory :P
20:47 TimToady *comp
20:49 Mouq r: my $a = $*IN.open; $a.lines[4]; $a.ins.say; my $b = $*IN.open; for $b.lines { $b.ins.say } # :((
20:49 camelia rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
20:49 camelia ..rakudo-jvm 19ba6a: OUTPUT«0␤»
20:49 camelia ..rakudo-parrot 19ba6a: OUTPUT«5␤20␤20␤20␤20␤20␤20␤2​0␤20␤20␤20␤20␤20␤20␤20␤20␤»
20:50 diakopter oopsie
20:50 Mouq rakudo-parrot's the only one it works for with $*IN, but for a generalized filehandle, it still does what I don't mean
20:51 Mouq what I expect and hope for is «5␤1␤2␤3␤…»
20:52 Mouq r: my $a = $*IN.open; $a.lines[4]; $a.ins.say; my $b = $*IN.open; $b.lines.map: { $b.ins.say }
20:52 camelia rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
20:52 camelia ..rakudo-jvm 19ba6a: OUTPUT«0␤»
20:52 camelia ..rakudo-parrot 19ba6a: OUTPUT«5␤20␤20␤20␤20␤20␤20␤2​0␤20␤20␤20␤20␤20␤20␤20␤20␤»
20:52 Mouq Hrm
20:52 colomon are you supposed to be able to open $*IN?  I thought it started open
20:52 diakopter r: my $a = $*IN.open; $a.lines[4]; $a.ins.say; my $b = $*IN.open; for $b.lines { $b.say } # :((
20:52 camelia rakudo-parrot 19ba6a: OUTPUT«5␤IO PMC FileHandle is not in mode 2␤  in method print at gen/parrot/CORE.setting:13235␤  in method print at gen/parrot/CORE.setting:13233␤  in method say at gen/parrot/CORE.setting:13247␤  in method say at gen/parrot/CORE.setting:1036␤  in b…»
20:52 camelia ..rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
20:52 camelia ..rakudo-jvm 19ba6a: OUTPUT«0␤»
20:52 Mouq r: my $a = $*IN; $a.lines[4]; $a.ins.say; my $b = $*IN; $b.lines.map: { $b.ins.say }
20:52 camelia rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
20:52 camelia ..rakudo-jvm 19ba6a: OUTPUT«0␤»
20:52 camelia ..rakudo-parrot 19ba6a: OUTPUT«5␤20␤20␤20␤20␤20␤20␤2​0␤20␤20␤20␤20␤20␤20␤20␤20␤»
20:52 colomon rL say $*IN.lines()[4]
20:53 colomon r: say $*IN.lines()[4]
20:53 camelia rakudo-jvm 19ba6a: OUTPUT«Nil␤»
20:53 camelia ..rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
20:53 camelia ..rakudo-parrot 19ba6a: OUTPUT«Schlafe in himmlischer Ruh!␤»
20:53 Mouq colomon: I guess .open.open doesn't make a difference?
20:54 moritz oops, I guess it's time to get rid of the christmas carol as $*IN
20:54 colomon I've no idea what could be going on there.
20:56 dalek evalbot: b0e08cf | moritz++ | stdin:
20:56 dalek evalbot: no-Christmas stdin
20:56 dalek evalbot: review: https://github.com/perl6/evalbot/commit/b0e08cf6e7
20:56 moritz evalbot control pull
20:56 camelia (success)
20:57 grep0r joined #perl6
20:57 lizmat p: say $*IN.lines()[4]
20:57 camelia rakudo-parrot 19ba6a: OUTPUT«␤»
20:57 TimToady maybe we should go with the Mongolian national anthem now
20:57 Mouq r: say $*IN.lines()[^4]
20:57 camelia rakudo-parrot 19ba6a: OUTPUT«There were three men came out of the West Their fortunes for to try And these three men made a solemn vow John Barleycorn must die␤»
20:57 camelia ..rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
20:57 camelia ..rakudo-jvm 19ba6a: OUTPUT«␤»
20:57 lizmat p: say $*IN.lines
20:57 camelia rakudo-parrot 19ba6a: OUTPUT«There were three men came out of the West Their fortunes for to try And these three men made a solemn vow John Barleycorn must die  They've ploughed, they've sewn, they've harrowed him in Threw clouds upon his head And these three men made a solemn vow J…»
20:58 TimToady not very unicodey...
20:59 jnap joined #perl6
21:01 colomon Woah, was just listening to a Scottish version of John Barleycorn earlier this week,.
21:01 moritz it's all Unicode characters
21:01 * FROGGS .oO( even John )
21:02 TimToady no, it's only some of the Unicode characters
21:02 Mouq r: my $b = $*IN; for {$b.lines[(state$)++]}...* { $b.ins.say } # almost, but hangs
21:02 sergot Hope you heard about what happend to blogs.perl.org and you've changed your passwords. http://perlhacks.com/2014/01/blogs-perl-org/
21:02 camelia rakudo-jvm 19ba6a: OUTPUT«(timeout)»
21:02 camelia ..rakudo-moar 19ba6a: OUTPUT«(signal SEGV)»
21:02 camelia ..rakudo-parrot 19ba6a: OUTPUT«(timeout)1␤3␤6␤10␤15␤21␤28␤36␤45␤»
21:03 colomon this album: http://www.springthyme.co.uk/ah04/
21:03 colomon TimToady: if you have an input that involves ALL of the Unicode characters...
21:03 Mouq Whoa, RP, what are you doing?
21:03 Mouq Oh, wait, it even work locally :L
21:03 Mouq *doesn't
21:08 moritz colomon: an input with all Unicode characters would be too long for the evalbot :-)
21:10 denisboyun joined #perl6
21:17 Mouq https://gist.github.com/Mouq/8557617 and http://mouq.github.io/feast.html updated (still horrible and ugly)
21:18 diakopter moritz: not if you generated and eval'd it
21:18 PerlJam Mouq++ nice
21:21 masak sergot: not sure it's possible to change password yet.
21:21 masak sergot: (can't sign into the site)
21:22 PerlJam Mouq: it would be nice if there were links to the failing tests as well.  And the trifecta would be to also link to the source that contains the item being tested.
21:22 btyler masak: the password change is for anywhere else you might be using that password, since the database dump includes username/email + the password hash (which was only hashed with crypt, I think, not b/scrypt)
21:23 btyler they've disabled logins on blogs.perl.org for the time being. I suspect they'll have everyone go through the password reset process before logging in again
21:25 Mouq PerlJam: That would be very nice :)
21:27 Mouq PerlJam: I suppose because of TODO messages, it shouldn't be too hard to do, actually… maybe…
21:29 root2 joined #perl6
21:29 Mouq It also doesn't look at fails yet, because those details aren't output in [Coke]++'s logs
21:31 jeffreykegler joined #perl6
21:33 root2 joined #perl6
21:36 jeffreykegler left #perl6
21:47 Mouq hoelzro++ # https://bitbucket.org/birkenfeld​/pygments-main/pull-request/277
21:58 kaare__ joined #perl6
22:05 [Coke] sergot: can't change passwords until "signin" works again.
22:06 [Coke] Mouq: nifty; fyi, headers don't line up with data.
22:07 [Coke] mouq: failures are listed at the bottom of the file.
22:07 [Coke] e.g. https://github.com/coke/perl6-roast-data/bl​ob/master/log/rakudo.jvm_summary.out#L2221
22:08 [Coke] mouq++, glad to see someone doing something with that data. :)
22:11 jnthn masak: When are you planning to cut the release tomorrow?
22:12 masak jnthn: on the train on the way home from @city[0]
22:13 masak or, failing that, after I get home around 23:00.
22:13 [Coke] masouq?
22:13 jnthn I like trains!
22:13 Mouq [Coke]: Oh! forgot about that! Thank you, [Coke]
22:14 Mouq FWIW, I've been doing all the work here: https://github.com/Mouq/perl6-roast-data
22:15 dalek perl6-roast-data: c5e61a0 | coke++ | / (6 files):
22:15 dalek perl6-roast-data: today (automated commit)
22:15 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/c5e61a0887
22:16 [Coke] um.
22:16 timotimo wat
22:16 [Coke] someone broke the jvm, I think.
22:17 [Coke] m: say "moar now at {100*28637/28279}% of java"
22:17 camelia rakudo-moar c5ca99: OUTPUT«moar now at 101.265957% of java␤»
22:17 Mouq jvm and parrot boeth got massive new fails…
22:18 [Coke] +S05-mass/properties-general.rakudo.jvm aborted 602 test(s)
22:18 timotimo oh
22:19 [Coke] looks like it was FROGGS++ this time, not me. :)
22:19 FROGGS but I already fixed it ó.ò
22:20 FROGGS it was a stupid (but funny) mistake
22:20 bakedb joined #perl6
22:20 [Coke] so tomorrow's run will catch it, then.
22:20 jnthn Oh, massive new fails from a sinlge massive file, though...
22:20 [Coke] enjoy your moment in the sun, moar.
22:21 jnthn :P
22:21 FROGGS ohh, that won't be the last day for moar being the one :o)
22:21 jnthn Oh, that reminds me...I should apply that Solaris patch
22:27 pecastro joined #perl6
22:32 timotimo is there a way to tell a list or hash to error out instead of autovivifying elements?
22:32 Mouq is default({die})? :P
22:33 timotimo oooh
22:33 timotimo no, i don't think that will work
22:33 Mouq No, neither do i :)
22:34 Mouq r: my @a is default({die}); say 'alive'
22:34 camelia rakudo-parrot c5ca99, rakudo-jvm c5ca99, rakudo-moar c5ca99: OUTPUT«alive␤»
22:34 timotimo i think it'll just replace the die before trying to sink it
22:34 Mouq r: my @a is default({die}); @a[2]; say 'alive'
22:34 camelia rakudo-parrot c5ca99, rakudo-jvm c5ca99, rakudo-moar c5ca99: OUTPUT«alive␤»
22:34 stevan_ joined #perl6
22:34 timotimo yeah, i feared as much
22:34 Mouq r: my @a is default({die}); @a[2](); say 'alive'
22:34 camelia rakudo-parrot c5ca99, rakudo-jvm c5ca99, rakudo-moar c5ca99: OUTPUT«␤  in block  at /tmp/tmpfile:1␤␤»
22:35 Mouq That's still awesome though
22:35 timotimo enh, more or less
22:35 timotimo d'oh
22:35 timotimo i have the solution
22:35 timotimo r: my Int @a; @a[5][6] = 7
22:35 camelia rakudo-parrot c5ca99: OUTPUT«Type check failed in assignment to '@a'; expected 'Int' but got 'Array'␤  in sub infix:<=> at gen/parrot/CORE.setting:16285␤  in block  at gen/parrot/CORE.setting:1692␤  in block  at /tmp/tmpfile:1␤␤»
22:35 camelia ..rakudo-moar c5ca99: OUTPUT«Type check failed in assignment␤  in sub infix:<=> at src/gen/m-CORE.setting:16016␤  in block  at src/gen/m-CORE.setting:1688␤  in block  at /tmp/tmpfile:1␤␤»
22:35 camelia ..rakudo-jvm c5ca99: OUTPUT«Type check failed in assignment to '@a'; expected 'Int' but got 'Array'␤  in sub infix:<=> at gen/jvm/CORE.setting:16019␤  in block  at gen/jvm/CORE.setting:1688␤  in block  at /tmp/tmpfile:1␤␤»
22:43 Mouq jnthn: with latest MoarVM:
22:43 Mouq $ perl6 -e'say $*IN.get'
22:43 Mouq (newline)
22:43 timotimo that should have been super obvious immediately
22:43 Mouq $ echo 'abcd' | perl6 -e'say $*IN.get'
22:43 Mouq [1]    53890 done                echo 'abcd' | 53891 segmentation fault  perl6 -e'say $*IN.get'
22:44 jnthn Mouq: Yeah. "works on Windows"...
22:44 Mouq jnthn: Yup, just letting you know :) jnthn++
22:56 Alula joined #perl6
23:00 Mouq jnthn++ $*IN.{get,lines} working
23:01 jnthn Mouq: Well...not for FROGGS :)
23:01 jnthn Mouq: His .lines hangs
23:02 Mouq And he's putting ^D after his input and everything? Or is that not how .lines is supposed to work?
23:02 * Mouq joins #moarvm
23:12 timotimo what do i do next? :\
23:25 FROGGS RT?
23:28 timotimo hmm :\
23:28 benabik joined #perl6
23:34 * timotimo commutes home
23:38 skids joined #perl6
23:51 fhelmberger joined #perl6
23:53 BenGoldberg joined #perl6
23:57 BenGoldberg Is the 000000 here a niecza bug?
23:57 BenGoldberg p6: pi.fmt('%.20f').say
23:57 camelia niecza v24-109-g48a8de3: OUTPUT«3.14159265358979000000␤»
23:57 camelia ..rakudo-parrot c5ca99: OUTPUT«3.01.4159265358979e+19␤»
23:57 camelia ..rakudo-moar c5ca99: OUTPUT«3.09223372036854775808␤»
23:57 camelia ..rakudo-jvm c5ca99: OUTPUT«3..4159265358979318E19␤»

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

Perl 6 | Reference Documentation | Rakudo