Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-02-24

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 xenoterracide joined #perl6
00:00 timotimo oooh, duh!
00:01 timotimo lrn2copypaste ... :)
00:03 timotimo it doesn't seem like the perl6 code i wrote is even getting run at all :|
00:10 diakopter timotimo: what is IPython::Rakudo
00:11 timotimo it's my attempt at using ipython frontends (notebook, qtconsole, console) with a rakudo "kernel"
00:14 timotimo https://github.com/timo/iperl6kernel - if you care. it also needs arnsholt/Net-ZMQ to be installed, which in turn needs libzmq
00:14 timotimo it won't connect to ipython properly yet, so you don't actually need ipython
00:15 timotimo you could try helping me find out why the $*ZMQ_PROTOCOL won't be set (and, in fact, none of the says in IPerl/ZMQ.pm6 will be called)
00:22 gdey joined #perl6
00:32 xenoterracide joined #perl6
00:42 benabik joined #perl6
01:09 census joined #perl6
01:11 TimToady std: 42 ~~ Match;
01:11 p6eval std 52fe6d2: OUTPUT«Potential difficulties:â�¤  Smartmatch against Match always matches; perhaps you should use :so or *.so or ?* instead at /tmp/CH2SxZGVQO line 1:â�¤------> [32m42 ~~[33mâ��[31m Match;[0mâ�¤ok 00:00 42mâ�¤Â»
01:11 TimToady std: 42 ~~ Nil;
01:11 p6eval std 52fe6d2: OUTPUT«Potential difficulties:â�¤  Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/R1ZkoL065A line 1:â�¤------> [32m42 ~~[33mâ��[31m Nil;[0mâ�¤ok 00:00 42mâ�¤Â»
01:11 TimToady std: when Nil {}
01:11 p6eval std 52fe6d2: OUTPUT«Potential difficulties:â�¤  Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/JHJj7y8ebq line 1:â�¤------> [32mwhen [33mâ��[31mNil {}[0mâ�¤ok 00:00 42mâ�¤Â»
01:30 TimToady nr: my $r = ++*; my $x = 42; say $r($x)
01:30 p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«43␤»
01:30 TimToady not sure if WhateverCode should be considered pure
01:35 benabik Not every WhateverCode, but some could be.  *+2
01:35 TimToady sure
01:35 TimToady was probably just misreading the backlog
01:59 woosley joined #perl6
02:03 gdey joined #perl6
02:04 TimToady http://rosettacode.org/wik​i/Polymorphic_copy#Perl_6
02:12 gdey joined #perl6
02:14 PZt joined #perl6
02:37 fgomez joined #perl6
02:40 FROGGS_ joined #perl6
02:44 [Coke] it would be nice if there was an easy to way to get an alias of panda installed into the common install/bin directory instead of having to figure out where panda was installed the last time. Also probably breaks rebootstrap if the installed panda directory moves around when you upgrade parrot.
02:46 raiph493 Several entries for the Polymorphic copy RC task TimToady just linked are impressively short -- and pointless. Checkout the php and ruby ones. In contrast, the python entry is impressively long.
02:50 lue [Coke]: I know. Too bad symlinks aren't a platform-agnostic solution :(
02:50 cotto If you're going for loc, C wins.
02:53 lue .oO(Huh. Apparently, looking at rakudo's @*INC, only the ~/.perl6 path is version-specific.)
02:54 marloshouse joined #perl6
03:19 cparen joined #perl6
03:23 orafu joined #perl6
03:45 raiph493 cotto: I wasn't thinking loc. the php and ruby "solutions" clearly don't work, don't do anything like solve the task. much of the python entry is commentary; does python have weak support for viewing non objects as objects? what is the issue?
03:57 cotto raiph493: don't read too much into my comment.  I wasn't saying anything about the quality of any particular entry, just that the C entry had to go to great lengths to demonstrate an oo concept.
04:00 SamuraiJack joined #perl6
04:06 TimToady those solutions look fine to me; it's the clone or dup that is actually doing it, and both solutions call a method on the cloned object successfully
04:06 adu joined #perl6
04:24 xinming_ joined #perl6
04:38 quester joined #perl6
04:39 raiph joined #perl6
04:39 raiph_ joined #perl6
04:39 raiph__ joined #perl6
04:39 raiph226 joined #perl6
04:41 preflex_ joined #perl6
04:42 thou joined #perl6
04:46 thou joined #perl6
05:21 TimToady http://rosettacode.org/wik​i/Munching_squares#Perl_6
05:45 bmellow joined #perl6
05:48 [Coke] jnthn: there are some changes to nqp tests in the jvm-prep fork in 59 & 62; not sure if I should copy them back.
06:01 dalek perl6-roast-data: 8d5b186 | coke++ | / (4 files):
06:01 dalek perl6-roast-data: today (automated commit)
06:01 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/8d5b186047
06:01 dalek perl6-roast-data: 0a33228 | coke++ | / (4 files):
06:01 dalek perl6-roast-data: today (automated commit)
06:01 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/0a33228c5d
06:01 Gwyxx joined #perl6
06:50 nwc10 jnthn: Clean rebuild passes all tests except the one that needs ICU
07:08 cbk1090 joined #perl6
07:18 moritz cotto: sorry, went to bed. No objections to merging
07:19 moritz cotto: ah, I see you already did it. cotto
07:19 moritz erm, I meant cotto++
07:19 moritz the + and the return key are kind of next to each other on the German keyboard :-)
07:21 TimToady so...it's not your fault, it's the Germans' fault...
07:22 moritz which kinda makes it my fault again :-)
07:23 moritz r: role R { }; my $x = 42 but R; say $x ~~ R;
07:23 p6eval rakudo cfee62: OUTPUT«True␤»
07:24 FROGGS morning
07:24 moritz \o FROGGS
07:25 zby_home joined #perl6
07:39 dalek roast: cbe2851 | moritz++ | S (3 files):
07:39 dalek roast: more Type() -> (Type) switching. Also unfudge a test for rakudo
07:39 dalek roast: review: https://github.com/perl6/roast/commit/cbe285151a
07:40 cotto moritz: on US keyboards it
07:40 cotto s even more fun when this happens.
07:41 moritz all spectests pass again now
07:44 huf happens to all of usű
07:47 domidumont joined #perl6
07:47 woosley joined #perl6
07:48 woosley1 joined #perl6
07:49 woosley joined #perl6
07:51 woosley1 joined #perl6
07:53 woosley joined #perl6
07:56 woosley joined #perl6
07:56 woosley1 joined #perl6
07:57 timotimo good day
07:58 woosley joined #perl6
07:59 woosley1 joined #perl6
08:00 woosley joined #perl6
08:00 woosley2 joined #perl6
08:03 woosley1 joined #perl6
08:04 FROGGS rn: say "abc" ~~ /\d+/
08:04 p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤»
08:05 kaare_ joined #perl6
08:05 FROGGS moritz: can you leave this one to me?
08:05 woosley4 joined #perl6
08:05 FROGGS (in case you are not already working on it)
08:05 moritz FROGGS: I hadn't planned to tackle it myself :-)
08:05 FROGGS k :o)
08:08 timotimo https://github.com/timo/iperl6kernel - can i ask for guidance? i was trying to replicate the way rakudo::debugger makes an object available to the perl6 module from the nqp code in bin/. in my case, though, the perl6 code in lib/IPerl6/ZMQ.pm6 isn't even being run at all :(
08:10 moritz timotimo: it would help if you could be more specific
08:10 moritz like, which file you are looking at
08:10 moritz whether there's any error
08:10 timotimo the only interesting files are bin/iperl6kernel.nqp and lib/IPerl6/ZMQ.pm6
08:11 timotimo the error is that i'm calling get_command on a NQPMu object, because the ProtocolGetter instance never gets a Protocol instance set in it
08:12 moritz right
08:12 moritz so you need to .set a protocol somewhere
08:13 timotimo that's right. and i do, at the bottom of ZMQ.pm6, but that file is apparently never run at all
08:13 timotimo i try to get it to run by appending -MIPerl6::ZMQ
08:13 timotimo to the compiler's flags in the main function in bin/iperl6kernel, just like jnthn did in his rakudo::debugger
08:15 moritz timotimo: if you add any debug output to the mainline of Perl6/ZMQ.pm6, is it run?
08:15 timotimo i did, and it won't
08:16 timotimo it doesn't have something to do with it being a module, right?
08:16 domidumont joined #perl6
08:17 timotimo nah, that's pretty much exactly how the commandline ui module does it in r::d
08:18 moritz I've justed tested it with Pod::To::Text, and it works there
08:19 timotimo so you replaced -MIPerl6... with -MPod::... and added debug statements to its mainline code?
08:19 moritz no, I just checked loading of modules via perl6  -Ilib -M... and debug statements in the loaded module
08:20 moritz I didn't run your code
08:20 timotimo ah.
08:20 timotimo when i do the same thing on my machine, i get no says either
08:21 moritz you don't?
08:21 moritz that's bad :(
08:22 lue timotimo: why -M*I*Perl6::ZMQ (I'm not experienced with perl commandline options, so forgive me if this is trivial)
08:22 timotimo the I is part of the module name
08:24 lue ah. (and here I thought it was combining -M and -I . Wonder if that's because it's midnight here :P)
08:28 quester left #perl6
08:31 REPLeffect joined #perl6
08:48 grondilu joined #perl6
08:48 grondilu r: http://paste.siduction.org/20130224084843
08:48 p6eval rakudo cfee62: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/bBv_q59X3b:1â�¤------> [32mhttp[33mâ��[31m://paste.sid​uction.org/20130224084843[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statem…
08:49 timotimo only works for gist
08:49 grondilu oh ok
08:50 timotimo (also, i think the evalbot will complain about the file IO operation)
08:50 grondilu anyway, this code returned a weird error:  No such method 'write' for invocant of type 'Int'
08:51 p6eval joined #perl6
08:51 timotimo let me try
08:51 grondilu it takes a bit of time
08:51 grondilu it was a rewrite attempt for http://rosettacode.org/wik​i/Munching_squares#Perl_6
08:52 moritz grondilu: you do a statement-modifying for loop
08:52 moritz grondilu: that means that $_ is set to an Integer
08:52 grondilu oh yeah
08:52 grondilu silly of me
08:53 moritz so .write (which is short for $_.write) is now called on the Int
08:54 timotimo i pasted the rosettacode munch (in error) and wow it's slow
08:54 timotimo 60 seconds to generate that image? holy cow.
08:55 grondilu yeah Perl6 is not now for being lightning speed :/
08:55 grondilu s/now/known/
08:56 timotimo for me, that's quite a ways from "lightning speed"
08:58 TimToady grondilu: I just put a rewrite there that puts more gamma in, for a picture with more contrast
08:59 timotimo oh, yeah, that's prettier
09:00 TimToady but yeah, it's slow
09:01 TimToady btw, I tried the same rewrite, and made the same mistake: you can't have $_ mean two different things simultaneously :)
09:03 GlitchMr https://dl.dropbox.com/u/63913412/catcolor.png
09:03 GlitchMr I'm almost sure I shouldn't have modified cat.
09:03 GlitchMr But it's so fun.
09:04 * TimToady --> bed
09:09 rindolf joined #perl6
09:13 timotimo yeah, this is due to the X+^ being slow. the same thing with a gather for ^256 X ^256 takes about 60% of the time it takes with ^256 X+^ ^256
09:13 timotimo i wonder why that is.
09:15 grondilu TimToady: Lol  that's a relief.  I thought it was really a silly mistake but if even *you* did it, I'm ok.
09:15 timotimo oh, wow, with a nested for inside a gather, it takes 1/3rd of the time with X+^
09:16 timotimo that's amazing.
09:16 * timotimo looks at the rakudo code (without guarantees or obligations)
09:18 timotimo wow, there's a lot of logic in there
09:20 timotimo gotta run now
09:20 bbkr joined #perl6
09:20 * grondilu tries writing it like this:  .write: @colors[^256 X+^ ^256];
09:25 bbkr NativeCall has again dylib/bundle problem on OS X. is there a way to detect OS version running so I can force prefix .dylib/.so/.dll ? $?KERNEL looks like NYI
09:25 bbkr suffix*
09:30 GlitchMr I like man pages. For example, man page for "ps". -a: Identical to -e. -e: Identical to -a.
09:30 GlitchMr Just perfect.
09:31 mberends Turing-complete.
09:40 mberends bbkr: for OS identification try https://github.com/jnthn/zavolaj​/blob/master/t/CompileTestLib.pm
09:40 tadzik hello #perl6
09:40 phenny tadzik: 23 Feb 18:04Z <colomon> tell tadzik I blew away the old ~/.perl6 on my machine and now panda is working well for me.
09:40 tadzik panda hell
09:41 FROGGS nr: my @var = (rx/a/, rx/b/, rx/c/, rx/\w/); say "a" ~~ m/@var/ # let a failed match return Nil breaks this locally :/
09:41 p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«「a」␤␤»
09:43 FROGGS ahh, I believe I got it...
09:43 diakopter r: 1
09:43 p6eval rakudo cfee62:  ( no output )
09:44 sepegp joined #perl6
09:47 FROGGS worx
09:53 bbkr mberends: thanks
09:54 labster left #perl6
09:55 arnsholt bbkr: That's an annoying bug to come creeping out again. I'll see what I can find
09:56 bbkr as a temporary workaround identification of OS by $*VM<config><load_ext> will do the trick
09:56 rindolf joined #perl6
10:12 spider-mario joined #perl6
10:33 am0c joined #perl6
10:39 kboga joined #perl6
10:39 woosley joined #perl6
10:40 kboga hi p6, here's some more Q:PIR to nqp https://github.com/perl6/nqp/pull/77
10:51 FROGGS nr: say "4" ~~ / (\d) { make $0.sqrt } Remainder /;
10:51 p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤»
10:51 FROGGS nr: say "4" ~~ / (\d) { make $0.sqrt } Remainder /; say $/.ast
10:51 p6eval rakudo cfee62: OUTPUT«#<failed match>␤2␤»
10:51 p6eval ..niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at CORE.a47c880d-b5ec-4636-8b91​-17bb15fe80ce.C1263Match.ast (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore …
10:52 FROGGS TimToady: is this supposed to be a failed match?
10:53 FROGGS TimToady: there is a test for it in make.t, see http://perlcabal.org/syn/S05.​html#Bracket_rationalization
10:59 moritz well yes, it fails because the string Remainder isn't there
10:59 moritz and now that a failed match returns Nil, there's no way to extract the AST from a failed match
10:59 FROGGS so, do we want that?
11:03 kboga hi moritz & FROGGS
11:03 FROGGS hi kboga
11:04 FROGGS about pir, I'm not sure... maybe grep for 'pir' in the source folders?
11:05 kboga @FROGGS: was that aimed towards me?
11:05 FROGGS kboga: it was
11:06 FROGGS kboga: I'm a bit distracted atm, sorry
11:06 kboga ah ok, uhm, but I have a lingering pull request translating some more Q:PIR to nqp :)
11:09 kboga FROGGS: btw, are you from germany?
11:14 kboga (just guessing, because of: http://irclog.perlgeek.de/​perl6/2013-02-23#i_6490522 )
11:19 FROGGS kboga: I am
11:20 FROGGS kboga: ahh, you're from .be
11:22 moritz .oO( A TCP packet walks in to a bar and says “I want a beer”, barman says “you want a beer?” and TCP packet says “yes, a beer”. )
11:24 jnthn afternoon o/
11:24 kboga yep :)
11:24 kboga hi jnthn
11:24 FROGGS jnthn! \o/
11:25 FROGGS kboga: you're comming to GPW in berlin?
11:28 kboga oh, I hadn't considered going to such an event yet
11:28 FROGGS well then, consider it :P
11:36 kboga Hmm never traveled that far alone by car, will there be many p6 related talks?
11:36 FROGGS ohh, just one or two I suppose
11:39 ObseLeTe joined #perl6
11:44 kboga oh right, jnthn, here's another pull request for qpir to nqp of lineof:  https://github.com/perl6/nqp/pull/77
11:44 kivutar joined #perl6
11:48 jnthn kboga: How much did you test it?
11:48 jnthn kboga: Or maybe more concretely, does Rakudo pass spectest with this applied?
11:50 daniel-s__ joined #perl6
11:54 dalek nqp: ac4421c | jnthn++ | src/6model/repr_registry.c:
11:54 dalek nqp: Using representations that don't exist should die.
11:54 dalek nqp:
11:54 dalek nqp: Before, it failed silently, falling back to KnowHOW.
11:54 dalek nqp: review: https://github.com/perl6/nqp/commit/ac4421cb12
11:54 dalek nqp: a33eef1 | jnthn++ | src/QAST/Operations.nqp:
11:54 dalek nqp: Stub nqp::hllconfig.
11:54 dalek nqp:
11:54 dalek nqp: Functions as a no-op for now.
11:54 dalek nqp: review: https://github.com/perl6/nqp/commit/a33eef1d37
11:55 kboga I don't have ICU installed, so some spectests seem to fail
11:56 kboga https://gist.github.com/kboga/63c8f1eeb0ce0e75b4f2
11:57 kboga not sure if that is expected
11:57 kboga hmm let me run that again with the normal nqp
11:58 jnthn kboga: Hm, what platform?
11:58 jnthn None of those look line-number wrongness related, though.
11:58 kboga windows 64 bit
11:59 jnthn Hm, which compiler?
11:59 * jnthn knows about some of those, but not all of 'em
12:01 kboga uhm gcc
12:01 jnthn OK
12:01 * jnthn uses msvc, maybe that explains the differences
12:01 * jnthn is running a spectest without the patch at the moment
12:02 kboga same
12:02 kboga i mean, without the patch, to compare :)
12:02 jnthn Looking at the output you pasted though, I doubt any of that is related to your changes :)
12:03 nwc10 yes, I ran a spectest earlier and things failed that didn't yesterday. Am I'm pretty sure I had everything up to date
12:04 kboga I  tested the patch running a p6 program containing $?LINE and a TTIAR
12:04 kboga and it seemed to dtrt
12:04 jnthn We have a bunch of spectests that break if line number reporting goes wrong.
12:04 jnthn I know 'cus I've busted 'em in the past :)
12:05 jnthn So not failing those is a good sign it's right also :)
12:05 * FROGGS .oO( in the $past? )
12:06 jnthn eek, I get two segfaults in S12 also
12:06 jnthn (without the patch)
12:07 kboga haha can't be careful enough, things can get really busted when things are busted AND line reporting is busted as well  :)
12:07 jnthn ;)
12:07 jnthn Darn, it's one of those segfaults taht doesn't segfault under the debugger
12:11 kboga a heisenbug?
12:12 jnthn Well, it does throw an exception under the debugger
12:12 census joined #perl6
12:13 kboga hmmm, there does seem to be a difference https://gist.github.com/kboga/63c8f1eeb0ce0e75b4f2
12:13 kboga those S12's
12:14 jnthn The S112 ones go away with your patch?
12:14 jnthn Or the other way around?
12:14 * jnthn has them without it...
12:14 kboga the other way around
12:15 dalek roast: 4debe16 | moritz++ | S (5 files):
12:15 dalek roast: more Type() -> (Type) gistification
12:15 dalek roast: review: https://github.com/perl6/roast/commit/4debe16532
12:26 SamuraiJack joined #perl6
12:28 FROGGS btw, if someone wanna try, this is for returning Nil instead of #<failed_match>: https://gist.github.com/FROGGS/5023634
12:30 moritz FROGGS: I think that for performance reasons, you should avoid return() there
12:30 moritz in MATCH_SAVE
12:31 moritz $last_match := $match if $match;
12:31 moritz $match || Nil
12:32 FROGGS k, didn't know that return is slower
12:34 Bragho joined #perl6
12:36 jnthn kboga: Think I have a patch.
12:37 jnthn kboga: It's unrelated to anything you've done.
12:37 jnthn (the problem, that is)
12:37 kboga oh, awesome :)
12:43 dalek rakudo/nom: c8f3979 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
12:43 dalek rakudo/nom: Fix an incorrect package name.
12:43 dalek rakudo/nom:
12:43 dalek rakudo/nom: Not sure how this ever worked before; fixes the failing tests.
12:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8f3979322
12:44 FROGGS jnthn: I love these failures... where it worked years and years for no obvious reason
12:45 jnthn kboga: Merged your PR; thanks!
12:47 kboga np, it was pretty LHF :)
12:48 arnsholt Heh. I love fixing that kind of error. "In what universe did this ever work???"
12:53 moritz huh, has dalek stopped picking up nqp commits?
12:56 jnthn moritz: oh, hm. When I missed mine last night I thought it was a one-off failure
12:58 moritz it did report one or two commits to nqp about an hour ago
12:58 kivutar joined #perl6
12:58 jnthn odd
13:00 FROGGS huh, I believe I fixed /<[\w]-[\n]>/ right now O.o
13:00 jnthn ooh
13:00 * jnthn would be curious to see the patch
13:01 moritz isn't <[\w]-[\n]> the same as \w ?
13:01 FROGGS jnthn: https://gist.github.com/FROGGS/5023754
13:01 jnthn FROGGS: btw, on the Nil for failed match stuff, I'd really like pmichaud++ to have a chance to look over that before it does in...
13:01 jnthn FROGGS: Feel free to push it to a branch of ourse :)
13:01 FROGGS jnthn: I'm waiting for a feedback because the spec I posted disagrees with latest changes
13:01 FROGGS k, will do
13:02 FROGGS r: say "abc" ~~ /<[\w]-[\n]>/ # moritz: right
13:02 p6eval rakudo cfee62: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Unrecognized subtype 'zerowidth' in QAST::Regex cclass␤»
13:02 jnthn r: say "abc" ~~ /<-[\n]>/
13:02 p6eval rakudo cfee62: OUTPUT«「a」␤␤»
13:03 jnthn r: say "abc" ~~ /<-[\n]+[\w]>/
13:03 p6eval rakudo cfee62: OUTPUT«「a」␤␤»
13:03 FROGGS damn, nqp compiles fine, and ./nqp -e 'say("abc" ~~ /<[\w]-[\n]>/)' is working, but rakudo doesnt compile ó.ò
13:04 jnthn FROGGS: If I understand the problem correctly, it's that we try to negate a cclass node
13:04 jnthn And it doesn't support that
13:04 jnthn uh, sorry
13:04 jnthn We try to zero-width it
13:04 jnthn So it's whether the AST is a cclass that we want to look for I suspect
13:05 jnthn Not its position
13:05 mtk joined #perl6
13:05 FROGGS okay, will try something
13:06 moritz nqp: /<[\w]-[\n]>/
13:06 p6eval nqp: OUTPUT«Error while compiling block : Error while compiling block : Unrecognized subtype 'zerowidth' in QAST::Regex cclass␤current instr.: '' pc 75372 (src/stage2/QAST.pir:29643) (src/stage2/QAST.nqp:2537)␤»
13:06 Bragho left #perl6
13:08 PacoAir joined #perl6
13:09 xinming joined #perl6
13:11 FROGGS jnthn: that works for nqp too, compiling rakudo right now
13:15 xinming joined #perl6
13:16 FROGGS jnthn: it works! https://gist.github.com/FROGGS/5023754
13:16 FROGGS will run spectest now
13:16 jnthn asbra!
13:16 jnthn FROGGS++
13:17 FROGGS what?
13:17 jnthn FROGGS: Oh, it's Swedish for "dead good!" :)
13:17 FROGGS hehe, and I thought that it is some bajoran word I dont know :o)
13:18 * jnthn doesn't speak any bajoran words :)
13:34 telex joined #perl6
13:36 FROGGS spectest passed
13:36 FROGGS will push now jnthn's fix :P
13:37 jnthn you did the hard work :P
13:37 FROGGS hehe
13:38 FROGGS uhh, after pulling hundrets of changes I'll better test again
13:39 xinming joined #perl6
13:39 FROGGS damn it, if I had time I would try to port nqp to C -.-
13:42 census joined #perl6
13:43 jnthn I have some local patches to commit plus one hack to work around an NYI thing...but... https://gist.github.com/jnthn/5023898
13:44 jnthn That demonstrates using the QAST -> JVM translator, with that translator running on the JVM.
13:45 jnthn For the higher level perspective, this means that - at least for a very simple QAST tree - the JVM can now run its own backend.
13:48 nwc10 \o/
13:51 jnthn errands, walk, etc. &
13:52 kboga some more pir -> nqp: https://github.com/perl6/nqp/pull/78
13:52 FROGGS it's awesome what is going on these days
14:09 kboga joined #perl6
14:11 kboga joined #perl6
14:13 FROGGS n: "abc" ~~ m/<[\w]-[\N]>/
14:13 p6eval niecza v24-24-gbdc3343:  ( no output )
14:14 FROGGS n: say "abc" ~~ m/<[\w]-[\N]>/
14:14 p6eval niecza v24-24-gbdc3343: OUTPUT«False␤»
14:20 dalek nqp: a4818ae | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp:
14:20 dalek nqp: RT #115802, cclasses dont support zerowidth
14:20 dalek nqp: review: https://github.com/perl6/nqp/commit/a4818aedc4
14:21 dalek roast: 9527129 | (Tobias Leich)++ | S05-metasyntax/charset.t:
14:21 dalek roast: RT #115802, one fix, one todo added
14:21 dalek roast: review: https://github.com/perl6/roast/commit/9527129bd4
14:21 Psyche^ joined #perl6
14:30 census joined #perl6
14:33 zby_home_ joined #perl6
14:43 _jaldhar joined #perl6
14:47 bbkr what does "Cannot look up attributes in a type object" error on NativeCall CStruct object means?
14:50 jac50 joined #perl6
14:50 TimToady joined #perl6
14:51 FROGGS bbkr: that you are trying to use method/attr on 'undef' values?
14:53 kboga joined #perl6
14:55 pranav joined #perl6
14:55 kboga joined #perl6
14:56 pranav How do I build perl6 for os x?
14:56 bbkr FROGGS, indeed, I was calling wrong C method for GeoIP database
14:56 bbkr pranav: first you need to install Xcode from AppStore (free)
14:57 pranav Done.
14:57 benabik `brew install rakudo-star`, if you have perlbrew
14:57 benabik *homebrew
14:58 bbkr pranav: are you using macports or homebrew?
14:59 pranav perlbrw
14:59 pranav *perlbrew
14:59 geekosaur er?
14:59 geekosaur perlbrew is not the same thing
14:59 geekosaur macports and homebrew are package systems.  perlbrew builds a custom perl environment and is orthogonal to them (but available from both...)
15:00 pranav Oh! sorry I thought it was :-(
15:01 pranav Downloading MacPort
15:01 stevan_ joined #perl6
15:04 dalek nqp: 8a48fff | (Kristof Bogaerts)++ | / (16 files):
15:04 dalek nqp: more pirops to nqpops
15:04 dalek nqp: review: https://github.com/perl6/nqp/commit/8a48fff573
15:04 dalek nqp: f70f431 | jonathan++ | / (16 files):
15:04 dalek nqp: Merge pull request #78 from kboga/pirops-to-nqpops
15:04 dalek nqp:
15:04 dalek nqp: more pirops to nqpops
15:04 dalek nqp: review: https://github.com/perl6/nqp/commit/f70f43196e
15:07 pranav Okay MacPort installed
15:08 geekosaur no port for rakudo star at the moment, sadly.  but if you have macports installed and $PATH set up right, you can instal the stock rakudo-star distribution.  (it will work somewhat better if you "sudo port install icu" first)
15:13 jnthn FROGGS: Did you bump NQP_REVISION? If not, then the spectest will fail due to not having an NQP with the fix
15:14 FROGGS jnthn: ohh, will do that
15:14 FROGGS thanks for the reminder
15:16 pranav Okay icu installed what do i set $PATH to?
15:18 geekosaur if you started a new terminal after installing macports, $PATH should already be set.
15:18 dalek rakudo/nom: 80f798b | (Tobias Leich)++ | tools/build/NQP_REVISION:
15:18 dalek rakudo/nom: bump nqp revision
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80f798bf26
15:18 geekosaur "echo $PATH" --- /opt/local/bin should be first (or at least before /usr/bin)
15:19 sqirrel joined #perl6
15:20 FROGGS nr: say "abc" ~~ /<[\w]-[\n]>/
15:20 pranav Yes it is.
15:20 p6eval rakudo c8f397: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Unrecognized subtype 'zerowidth' in QAST::Regex cclass␤»
15:20 p6eval ..niecza v24-24-gbdc3343: OUTPUT«「a」␤␤»
15:20 FROGGS n: say "abc" ~~ /<[\w]-[\N]>/
15:20 p6eval niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤»
15:21 FROGGS ohh, niecza does it right
15:21 geekosaur ok, so you should be ready to download and install rakudo star
15:22 daxim joined #perl6
15:24 dalek rakudo/failed_match2Nil: 61c623e | (Tobias Leich)++ | src/core/Cursor.pm:
15:24 dalek rakudo/failed_match2Nil: return Nil for a failed match
15:24 dalek rakudo/failed_match2Nil: review: https://github.com/rakudo/rakudo/commit/61c623e7e4
15:25 Liz joined #perl6
15:30 FROGGS jnthn: what does $node.backtrack eq 'r' mean? what is 'r' ?
15:33 jnthn ratchet
15:33 jnthn as opposed to f for frugal and g for greedy
15:33 FROGGS thanks
15:33 jnthn r is turned on in token and rule by default; it means "no backtracking"
15:34 jnthn t\spec\S05-metasyntax\charset.rakudo seems busted here, fwiw
15:34 jnthn CHECK FAILED:
15:34 jnthn Calling 'todo' will never work with no arguments (line 42)
15:35 FROGGS ohh, didnt seen that
15:35 FROGGS hold on, will fix
15:36 dalek nqp: 6d196e4 | jnthn++ | / (9 files):
15:36 dalek nqp: Stub VMArray/VMHash/VMIter reprs.
15:36 dalek nqp:
15:36 dalek nqp: Not going to fill them out just yet, but they should at least exist to
15:36 dalek nqp: facilitate cross-compilations involving them.
15:36 dalek nqp: review: https://github.com/perl6/nqp/commit/6d196e43a7
15:37 dalek roast: 51dd8c4 | (Tobias Leich)++ | S05-metasyntax/charset.t:
15:37 dalek roast: fix: todo with arguments, jnthn++
15:37 dalek roast: review: https://github.com/perl6/roast/commit/51dd8c4528
15:38 dalek nqp-jvm-prep: c2321ad | jnthn++ | nqp-src/NQPCORE.setting:
15:38 dalek nqp-jvm-prep: Array and iterator types for NQP.
15:38 dalek nqp-jvm-prep:
15:38 dalek nqp-jvm-prep: This provides the proper NQP semantics for hash iteration (that is,
15:38 dalek nqp-jvm-prep: a .key and .value method).
15:38 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/c2321ad788
15:38 dalek nqp-jvm-prep: 6f81315 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
15:38 dalek nqp-jvm-prep: Make string truth do what various code wants.
15:38 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/6f813153bd
15:42 kboga joined #perl6
15:45 SamuraiJack joined #perl6
15:47 FROGGS nqp: say("[" ~ ("\n" ~~ /<[\N]-[\N]>/) ~ "]")
15:47 p6eval nqp: OUTPUT«[␤]␤»
15:47 thou joined #perl6
15:48 benabik joined #perl6
16:02 dalek nqp: 7ced180 | jnthn++ | t/serialization/0 (3 files):
16:02 dalek nqp: Further pir:: removal in serialization tests.
16:02 dalek nqp: review: https://github.com/perl6/nqp/commit/7ced180b74
16:02 dalek nqp: a8c60c1 | jnthn++ | src/ops/nqp.ops:
16:02 dalek nqp: Toss an unused op.
16:02 dalek nqp: review: https://github.com/perl6/nqp/commit/a8c60c1082
16:07 timotimo good day
16:09 arnsholt o/
16:10 arnsholt Did you say you managed to trigger segfaults with Net::ZMQ?
16:10 timotimo yeah, totally
16:10 arnsholt That's not supposed to happen =)
16:10 arnsholt Paste?
16:10 timotimo well, not segfaults per se. the errors were things like double free or corrupt linked lists or something. so yeah, probably actually a segfault
16:10 arnsholt Or gist, even?
16:10 arnsholt Memory related, shenanigans, yeah
16:11 arnsholt s/,//
16:11 timotimo does it have a bit more time? i'd love to get something else looked at first
16:11 arnsholt Take your time
16:12 arnsholt I likely won't have time to look properly at it 'till tomorrow
16:14 timotimo do you have a moment to look at something barely, vaguely related? http://github.com/timo/iperl6kernel/  -  i can't get the module to be run. neither perl6 -Ilib -MIPerl6::ZMQ nor the code i have in bin/iperl6kernel.nqp (pretty much copypasted from jnthns Rakudo::Debugger) will cause it to do anything :(
16:15 arnsholt Weird
16:15 arnsholt What kind of errors do you get?
16:17 timotimo no output whatsoever
16:17 arnsholt Odd...
16:17 jnthn How are you invoking it?
16:17 timotimo (in the case of the iperl6kernel binary i get a call to a method of NQPMu, because the class isn't being set)
16:18 raiph joined #perl6
16:18 raiph__ joined #perl6
16:18 raiph_ joined #perl6
16:18 raiph609 joined #perl6
16:18 * FROGGS .oO( we are surrounded by raiphs O.o )
16:18 jnthn whoa...the channel is rife with raiph
16:18 jnthn heh :)
16:18 FROGGS :o)
16:19 kboga jnthn: https://github.com/perl6/nqp/pull/79 (some includes were missing)
16:19 arnsholt Hang on, invoking perl6 on an nqp file. Is that right?
16:19 jnthn kboga: ooh, thanks!
16:19 geekosaur we can hold a raiphle?
16:19 timotimo jnthn: https://github.com/timo/iperl6kernel/​blob/master/bin/iperl6kernel.nqp#L156 - this is how i invoke it
16:19 timotimo arnsholt: no, that's not what i'm doing
16:19 kboga np
16:19 dalek nqp: 6f81033 | kboga++ | src/6model/repr_registry.c:
16:19 dalek nqp: adds some missing includes
16:19 dalek nqp: review: https://github.com/perl6/nqp/commit/6f81033333
16:19 dalek nqp: f93b3e3 | jonathan++ | src/6model/repr_registry.c:
16:19 dalek nqp: Merge pull request #79 from kboga/patch-1
16:19 dalek nqp:
16:19 dalek nqp: adds some missing includes
16:19 dalek nqp: review: https://github.com/perl6/nqp/commit/f93b3e3fec
16:20 arnsholt Ah, right. I misread
16:20 jnthn no, I mean, are you doing like nqp iperl6kernel.nqp -e "something" or so?
16:20 stevan_ joined #perl6
16:21 moritz timotimo: how do you invoke iperl6kernel.nqp ?
16:25 moritz nqp bin/iperl6kernel.nqp
16:25 moritz Method 'shift' not found for invocant of class 'String'
16:25 moritz current instr.: 'MAIN' pc 531 ((file unknown):16034547) (bin/iperl6kernel.nqp:154)
16:34 timotimo moritz: i build it with panda and run the resulting binary
16:36 timotimo moritz: interesting, so in that case @ARGS is not an array but a string?
16:37 benabik timotimo: I think you want MAIN(*@ARGS)
16:37 timotimo maybe
16:37 timotimo (that's not what rakudo::debugger has, though)
16:38 benabik I've been wrong before.
16:38 timotimo that way i can start it and i get the known error when i try to call get_command on the ZMQ_PROTOCOL thingie
16:39 rindolf Is TimToady here?
16:39 jnthn moritz: Did add_numeric_constant change recently?
16:40 moritz jnthn: yes, I've added a $/ first parameter to get the .node info attached
16:41 jnthn ah
16:41 jnthn moritz: Same for add_string_constant?
16:41 moritz jnthn: yes
16:42 moritz wait, lemme check
16:42 moritz no
16:42 jnthn ah, seems not
16:43 moritz for string contstants I've attached the node info in one of the quoting action methods (quibble, I think)
16:43 moritz because string constants are used quite often independently of literals
16:44 dalek rakudo-debugger: 98e4a93 | jnthn++ | bin/perl6-debug.nqp:
16:44 dalek rakudo-debugger: Update for add_numeric_constant changes.
16:44 dalek rakudo-debugger: review: https://github.com/jnthn/raku​do-debugger/commit/98e4a93015
16:49 nwc10 jnthn: Clean rebuild passes all tests except the one that needs ICU
16:52 M_o_C joined #perl6
16:52 dalek nqp-jvm-prep: 90585d7 | jnthn++ | lib/QAST/JASTCompiler.nqp:
16:52 dalek nqp-jvm-prep: Handle if foo -> $x { } constructs.
16:52 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/90585d7faa
16:53 nwc10 bother. Someone moved the goalposts
16:53 nwc10 I'm sure that he does that deliberately :-)
16:53 mtk joined #perl6
16:53 jnthn With that, the thing I gisted earlier works with what's in the repo :)
16:54 nwc10 the JAST processing code can now run on the JVM?
16:54 jnthn The code that takes a QAST tree and turns it into JAST and dumps it can now run on the JVM, yes.
16:55 dalek star: e8401b7 | moritz++ | modules/rakudo-debugger:
16:55 dalek star: new revision of rakudo-debugger
16:55 dalek star: review: https://github.com/rakudo/star/commit/e8401b7557
16:55 jnthn With a bit more work it would be possible to feed that dump to the thing that does the final "make a classfile" stage.
16:55 jnthn Essentially meaning we'd have a way to eval QAST.
16:56 jnthn (In a single JVM process)
16:56 jnthn Will get there eventually :)
16:59 dalek star: bc1db22 | moritz++ | docs/announce/2013.02:
16:59 dalek star: draft release announcement for 2013.02
16:59 dalek star: review: https://github.com/rakudo/star/commit/bc1db22f6c
16:59 moritz please review
17:00 jnthn If you want to get the class name directly, use $obj.^name
17:00 Ulti rn: my @list = 1,2,3; @list>>.say;
17:00 p6eval niecza v24-24-gbdc3343: OUTPUT«1␤2␤3␤»
17:00 p6eval ..rakudo 80f798: OUTPUT«3␤1␤2␤»
17:00 jnthn maybe s/directly/alone/
17:00 Ulti :/
17:00 jnthn And s/use/continue using/
17:00 Ulti niecza does what I expect...
17:00 jnthn Ulti: You can't (by spec) rely on order of evaluation of hypers.
17:00 moritz Ulti: your expectations are wrong
17:01 Ulti ok
17:01 FROGGS nqp: say("[" ~ ("a" ~~ /<[a]-[a\n]>/) ~ "]")
17:01 p6eval nqp: OUTPUT«[a]␤»
17:01 Ulti so in theory >> could be all parallelised?
17:01 jnthn Yes
17:01 Ulti cool
17:02 Ulti though Rakudo consistently gives me that order :)
17:04 SunilJoshi joined #perl6
17:05 timotimo i wonder what the sanest way would be to speed up X+^. maybe in simple cases it could be expanded to a full double-nested for loop with a gather around it? i mean at optimization time. is that a sensible thing to do?
17:06 jnthn Why the gather?
17:06 timotimo hm, no need actually, since for can be lazy without it
17:06 timotimo fwiw, the 256x256 munching squares image takes 60 seconds with X+^ and 20 seconds with a double-nested for loop
17:06 jnthn Would be good to know what it is about X+^ that is slow
17:07 timotimo i haven't the slightest.
17:10 jnthn I seem to recall spending a bit of time on it
17:10 jnthn There's an RT ticket iirc
17:10 timotimo i'll have a look
17:11 jnthn Is it me, or is:
17:11 jnthn https://github.com/perl6/nqp/bl​ob/master/src/NQP/World.pm#L37
17:11 timotimo but i doubt i'll be able to make METAOP_CROSS much faster
17:11 jnthn dead code?
17:12 jnthn It just sets two lexicals...then uses them for nothing.
17:13 moritz there's also a --dynext command line option
17:13 moritz which we don't seem to use
17:13 just-curious joined #perl6
17:13 jnthn Hmm.
17:14 jnthn Well, will toss that bit of obvious non-use...
17:14 dalek star: 2e4d309 | moritz++ | docs/announce/2013.02:
17:14 dalek star: reword release announcement a bit, jnthn++
17:14 dalek star: review: https://github.com/rakudo/star/commit/2e4d3099ca
17:17 timotimo so, map * +^ *, (^256 X ^256); is still a bit faster than a for loop. maybe METAOP_CROSS should just do that and use the regular cross operator to do the heavy lifting? that would give about 50% improvement.
17:17 moritz http://moritz.faui2k3.org/tm​p/rakudo-star-2013.02.tar.gz # release candidate tar balll
17:18 just-curious left #perl6
17:18 timotimo "than a for loop" actually meaning a gather for loop over ^256 X ^256.
17:18 moritz note that it must be able to handle more than two args
17:19 TimToady the obvious thing to do with an X optimization is to force the last dimension to be eager or hyper, and be done in a batch, since only the final
17:19 TimToady er, only the first dimension can be arbitarily long
17:19 TimToady and in this case, we know the first dimension is also finite
17:20 James_ joined #perl6
17:20 TimToady and this extends to multiple dimensions: only the first dimension of N can be usefully infinite
17:21 moritz r: say eval('2', :lang<perl5>)
17:21 p6eval rakudo 80f798: OUTPUT«No compiler available for language 'perl5'␤  in sub eval at src/gen/CORE.setting:598␤  in block  at /tmp/M0roiD1xKI:1␤␤»
17:21 moritz somhow autounfudge thinks that test is passing :-)
17:22 TimToady and in some cases we also might know from context that the whole thing could be done eagerly
17:22 jnthn TimToady: Have you thought/spec'd anything on a general way to pass context downwards?
17:22 jnthn TimToady: I was pondering things like
17:23 TimToady eager or hyper might also be the default for compact arrays of int, maybe
17:23 jnthn my $fh = async open 'somefile', :w;
17:23 jnthn Where we may want to convey the async nature of things "inwards" to the call to open so it can do something smarter
17:24 jnthn (than just spin off a task that do the open)
17:24 timotimo that would be nice
17:24 TimToady once could pass down some kind of hidden dynamic variable, I suppose
17:24 TimToady *one
17:24 jnthn Yeah. I guess the issue is we don't want it to propagate very deep
17:25 moritz I don't think that dynamic vars have the right scoping
17:25 jnthn Whereas dynamics leave stuff around for a long time
17:25 moritz ie you'd need to do a lot of fudging to make DTRT
17:25 TimToady mostly you just want some bits in the stack frame
17:26 TimToady and some ops are transparent in the sense that they know to copy the bits through to a subframe
17:26 TimToady but the default is to ignore the bits, and nobody the wiser
17:26 TimToady then they don't propagate downward falsely
17:26 jnthn That sounds kinda like it, yeah.
17:27 TimToady more or less how P5 does it where it isn't sure at compile time
17:27 TimToady sink context we can be pretty sure about though :)
17:29 TimToady nr: my $a, $b;
17:29 p6eval niecza v24-24-gbdc3343: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $b is not predeclared (declarators are tighter than comma, so maybe your 'my' signature needs parens?) at /tmp/xW0Op_QGtP line 1:â�¤------> [32mmy $a, [33mâ��[31m$b;[0mâ�¤â�¤Potential difficulties:â�¤  $a is declared but …
17:29 p6eval ..rakudo 80f798: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$b' is not declaredâ�¤at /tmp/aXL8F1n263:1â�¤------> [32mmy $a, $b[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
17:29 TimToady nr: my $a = 1,2;
17:30 p6eval niecza v24-24-gbdc3343: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/PH4IW83K2E line 1:â�¤------> [32mmy [33mâ��[31m$a = 1,2;[0mâ�¤â�¤Â»
17:30 p6eval ..rakudo 80f798:  ( no output )
17:30 TimToady that's the use case for propagating sink down into the comma
17:30 TimToady nr: my $a = 1,2; 42;
17:30 p6eval niecza v24-24-gbdc3343: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/OdivdxpF8_ line 1:â�¤------> [32mmy [33mâ��[31m$a = 1,2; 42;[0mâ�¤â�¤Â»
17:30 p6eval ..rakudo 80f798:  ( no output )
17:30 TimToady yeah, NYI is all
17:31 moritz I don't see how sink context can be propagated into the comma
17:31 moritz oh, I do see
17:31 moritz hm
17:31 Liz joined #perl6
17:31 TimToady maybe we should rename our contexts to "over easy", "scrambled", "sunny-side up", "coddled", etc
17:32 TimToady "How'd you like that cooked?"
17:32 colomon "You need to stop coddling that List."
17:37 pmurias joined #perl6
17:37 moritz PerlJam: I have a patch that removes a deprecation warning from Grammar::Profiler::Simple. Can haz comit bit PLZ?
17:37 dalek nqp: 721f127 | jnthn++ | src/NQP/World.pm:
17:37 dalek nqp: Toss code that does nothing.
17:37 dalek nqp: review: https://github.com/perl6/nqp/commit/721f127a83
17:37 dalek nqp: dc851e8 | jnthn++ | src/QAST/Operations.nqp:
17:37 dalek nqp: Map nqp::knowhow and nqp::knowhowattr.
17:37 dalek nqp: review: https://github.com/perl6/nqp/commit/dc851e88ae
17:38 jnthn Time to cook some dinnerz... &
17:40 James__ joined #perl6
17:42 sepegp joined #perl6
17:43 nwc10 aha. goalposts won't move for a bit :-)
17:44 crab2313 joined #perl6
17:48 mberends nwc10: what OS are you using, that does not support ICU?
17:58 dalek rakudo/nom: 80f788b | moritz++ | src/Perl6/Optimizer.pm:
17:58 dalek rakudo/nom: Warn when pure expressions are used in sink context
17:58 dalek rakudo/nom:
17:58 dalek rakudo/nom: even if the arguments are not constant, or the expression warns.
17:58 dalek rakudo/nom: By explicit request from TimToady++ at
17:58 dalek rakudo/nom: http://irclog.perlgeek.de/​perl6/2013-02-18#i_6469204
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80f788bbd7
17:58 dalek rakudo/nom: 2f210be | moritz++ | src/Perl6/Optimizer.pm:
17:58 dalek rakudo/nom: awesomify sink context warning text
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f210bea17
17:58 dalek rakudo/nom: b205e66 | moritz++ | src/Perl6/Optimizer.pm:
17:58 dalek rakudo/nom: Merge remote-tracking branch 'origin/agressive-sink-warnings' into nom
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b205e661e6
17:58 mtk joined #perl6
18:05 nwc10 mberends: it's not installed.
18:06 mberends nwc10: what OS are you using?
18:06 nwc10 it's not mine. And I think it's some sort of RHEL (and not CentOS)
18:07 nwc10 and it's about to get replaced
18:07 mberends I see.  I'd try to help you get ICU installed, but as it's someone else's system that might not be possible anyway.
18:09 mtk joined #perl6
18:12 ObseLeTe joined #perl6
18:14 kboga got a patch for nqp to replace pir with nqp ops for the knowhow thingies (https://github.com/perl6/nqp/commit/dc851e88ae) but I suppose nqp needs a rebootstrap to get the ops first
18:16 kboga https://gist.github.com/kboga/b1227868756278af6d7c
18:19 kboga afk
18:25 uvtc joined #perl6
18:26 uvtc If I open a file, then try to write to it like so, `$f.say 'hi';`, it fails. But it works if I do `$f.say('hi');`. Usually Perl doesn't require parens. Why are they required here?
18:27 timotimo rakudo: class Foo { method bar { Quux.parse('OH HAI'); } };
18:27 p6eval rakudo b205e6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    Quux used at line 1â�¤â�¤Â»
18:27 geekosaur perl6 does require them.  alternatively I think a colon can be used?
18:27 timotimo er that was two lines, oops
18:27 timotimo rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
18:27 p6eval rakudo b205e6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Illegally post-declared type:â�¤    Quux used at line 1â�¤â�¤Â»
18:27 hash_table joined #perl6
18:28 timotimo https://rt.perl.org/rt3/Ti​cket/Display.html?id=69760 - does that mean this bug can be closed?
18:29 geekosaur r: $*STDIN.say: "ohai"
18:29 p6eval rakudo b205e6: OUTPUT«Cannot call 'say'; none of these signatures match:␤:(Mu : Mu *%_)␤␤  in method say at src/gen/CORE.setting:898␤  in block  at /tmp/bqFFBbVNC_:1␤␤»
18:29 geekosaur bah
18:29 uvtc geekosaur: yes, colon works too.
18:29 uvtc geekosaur: thanks. I don't mind having to type the parens. Just curious.
18:29 uvtc Actually, I think I remember hearing something about this ... maybe having to do with regular subs vs. methods.
18:30 timotimo yes, indeed
18:30 timotimo i remember there was an argument that $foo.bar (for attributes) is supposed to be stand-alone or something?
18:31 nwc10 jnthn: The usual :-)
18:35 uvtc What does ":something" mean (for example, the ":w" used when opening a file for writing)?
18:36 uvtc r: say :foo, "bar";
18:36 p6eval rakudo b205e6: OUTPUT«bar␤»
18:37 geekosaur named vs. positional parameters, in this case functioning as an adverb
18:39 uvtc geekosaur: Thanks. I also saw it while trying to see how to create a heredoc: http://rosettacode.org/wiki/Here_document#Perl_6
18:39 uvtc How can I create a simple single-quoted heredoc?
18:40 uvtc That RC example shows a more complicated nested example.
18:41 geekosaur they're not actually nested, they're consecutive
18:41 uvtc My mistake; the example blurb actually says "stacked".
18:41 Chillance joined #perl6
18:42 geekosaur http://hpaste.org/82972
18:42 uvtc geekosaur: Ah, thanks. I'd forgotten to put quotes around my EOT marker.
18:49 jnthn om nom nom
18:49 uvtc geekosaur: so, http://hpaste.org/82973 should instead be qq :to 'EOT' (with the single quotes around EOT)?
18:50 uvtc geekosaur: well, it works with either single or double.
18:51 moritz iirc it's q vs qq that decides about the interpolation
18:51 geekosaur I think it just has to be a string of some kind, the verb (q vs. qq) determines what if any expansion is done inside the heredoc
18:51 geekosaur rather than doing magic depending on how you specified the end marker
18:52 uvtc Ok. Need to forget that bit of P5 magic then.
18:52 geekosaur perl6 prefers principled magic to random magic :)
18:52 uvtc Sounds good. :)
18:55 jnthn kboga: Yes, I was gonna do that...thanks. I planned to make some more ops nqp:: ones and do the bootstrap update for a bunch of them.
18:55 jnthn kboga: Will apply it in a bit when I'm ready to rebootstrap :)
18:56 uvtc Ok, added simpler example to http://rosettacode.org/wiki/Here_document#Perl_6 .
18:56 moritz trying to compile nqp/master: /nocrypt-home/moritz/source​/rakudo/install/bin/parrot: symbol lookup error: dynext/nqp_ops.so: undefined symbol: VMArray_initialize
18:56 diakopter hm
18:56 jnthn moritz: Mke sure you're up to date.
18:57 jnthn moritz: I missed some includes at one point and kboga++ supplied a patch for them.
18:57 cotto I'm seeing that too.
18:57 moritz doing a git pull + make again
18:58 kboga ah, no hurry, enjoy your meal first :)
18:58 jnthn kboga: Oh, I just finished doing meal :)
18:58 jnthn And it wsa enjoyable :)
18:58 jnthn moritz: 6f8103 is the patch that shoulda fixed it...wonder what I missed :)
18:59 jnthn or maybe you're just missing that commit ;)
18:59 moritz I wasn't quote up-to-date
18:59 kboga Glad to hear that.
19:00 moritz so now the C bits seem to have compiled fine
19:00 moritz (though I needed a cleaning first, simply running 'make' again wasn't enough)
19:00 cotto same thing appears to be the case here
19:00 jnthn ah
19:04 moritz if nobody objects, I'll release star now
19:05 moritz ./nqp --target=pir --output=src/stage2/gen/NQPP5QRegex.pir \ src/stage2/gen/NQPP5QRegex.pm
19:05 moritz Null PMC access in find_method('load_setting')
19:08 jnthn ...what?
19:08 * jnthn wonders what could be causing that
19:09 uvtc What's the P6 equivalent of the `^` in http://rosettacode.org/wiki/Munching_squares#Perl ?
19:10 moritz +^
19:10 uvtc moritz: thanks!
19:11 dalek star: 1a8aae4 | moritz++ | tools/star/release-guide.pod:
19:11 dalek star: update release guide
19:11 dalek star:
19:11 dalek star: * fix upload step to use scp instead of github downloads
19:11 dalek star: * note 2013.02 release
19:11 dalek star: review: https://github.com/rakudo/star/commit/1a8aae4933
19:14 uvtc phenny: tell TimToady prefixed http://rosettacode.org/wik​i/Munching_squares#Perl_6 with a simple "baby Perl 6" method.
19:14 phenny uvtc: I'll pass that on when TimToady is around.
19:21 uvtc left #perl6
19:23 moritz rakudo star released.
19:23 nwc10 \o/
19:24 jnthn moritz++
19:25 moritz the most annoying part of the release process is reformatting the announcement to be suitable for wordpress consumption (for rakudo.org)
19:25 moritz if we wrote the announcements in proper markdown, that could be automated much more easily
19:25 jnthn If only we had a language that was good at text manipulation...
19:26 * jnthn wonders how far our announcements are off being valid markdown anyway...
19:26 moritz not much, mostly just the link syntax
19:31 timotimo i'm looking to improve this class of error messages:
19:31 timotimo r: if(1 < 5) { say "yup" }
19:31 p6eval rakudo b205e6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/19R53xcvY3:1â�¤------> [32mif(1 < 5) [33mâ��[31m{ say "yup" }[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statement endâ�¤        statement modifierâ�¤     …
19:32 timotimo is there a cleaner way to complain when the function is if, unless, given, for, ... than to do an alteration of exactly those names?
19:32 timotimo i guess i'll just look at STD
19:32 jnthn std: if(1 < 5) { say "yup" }
19:32 p6eval std 52fe6d2: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'if' interpreted as 'if()' function call; please use whitespace instead of parens at /tmp/DITULI5fLG line 1:�------> [32mif[33m�[31m(1 < 5) { say "yup" }[0m�Unexpected block in infix position (two terms in a row) at /tmp/DITULI…
19:33 jnthn Yeah, we should follow STD here
19:33 jnthn I think there's an infix:sym<lambda> or so
19:35 thou joined #perl6
19:36 timotimo STD has that, yes. rakudo does not
19:36 jnthn yes, Rakudo should get that ;)
19:38 timotimo mhm. i'll see if i'm able to understand what's going on.
19:39 timotimo what's the deciding factor wether <lambda> refers to token infix:lambda or token lambda in STD.pm6?
19:41 jnthn It always means lambda
19:42 dalek nqp: ad81875 | jnthn++ | src/QAST/Operations.nqp:
19:42 dalek nqp: A couple of ops for special code object marks.
19:42 dalek nqp:
19:42 dalek nqp: Will eliminate most of the remaining setprop usages.
19:42 dalek nqp: review: https://github.com/perl6/nqp/commit/ad81875c9e
19:42 dalek nqp: 2f58b36 | jnthn++ | src/ (2 files):
19:42 dalek nqp: Replace pir::find_caller_lex.
19:42 dalek nqp: review: https://github.com/perl6/nqp/commit/2f58b364b0
19:42 dalek nqp: a452806 | jnthn++ | src/stage0/ (9 files):
19:42 dalek nqp: Update bootstrap.
19:42 dalek nqp: review: https://github.com/perl6/nqp/commit/a45280687f
19:42 jnthn infix:sym<lambda> would be found by a call to <infix>
19:42 dalek nqp: 1346d6e | jnthn++ | src/ (4 files):
19:42 dalek nqp: Another round of pir:: => nqp::.
19:42 dalek nqp: review: https://github.com/perl6/nqp/commit/1346d6e4fb
19:42 dalek nqp: 1699647 | jnthn++ | t/ (3 files):
19:42 dalek nqp: More pir:: => nqp:: by kboga++.
19:42 dalek nqp: review: https://github.com/perl6/nqp/commit/16996479ca
19:42 timotimo ok. so is infix:lambda something special to perl6?
19:42 jnthn The infix part means it's one of the candidates for the infix protoregex
19:43 timotimo oh
19:43 jnthn So when we write <infix> it really means "choose the best infix:whatever"
19:43 jnthn In Rakudo we always in the grammar spell those things infix:sym<foo>
19:43 timotimo aaah, so i really just make a rule that looks like the start of a block or pointy block in an infix position and then loudly complain that such a thing should never be in infix position
19:43 jnthn STD sometimes writes them as just infix:foo (which needs expanding to infix:sym<foo> in Rakudo)
19:43 jnthn Yeah
19:44 timotimo roger that, i'll try to make it shiny :)
19:44 jnthn Well, that's what the STD thing is doing, iirc.
19:46 timotimo is there a reason to use <?before '->' | '{'> rather than actually match those two in this case?
19:47 jnthn Probably :)
19:47 jnthn Maybe to keep the cursor in the right place for error reporting
19:47 timotimo oh, yes, it can call O(|%term) at the end. it will not always panic
19:48 timotimo i don't really understand why it would do that, though. is that like "this spot terminates some structure"?
19:53 jnthn That <O...> looks unreachable to me.
19:54 cotto Is it reasonable to require something like LWP for NQP's Configure.pl to download Parrot releases instead of cloning the whole git repo?
19:54 timotimo there's a return () if ... in there
19:54 cotto (with git as a fallback)
19:54 jnthn timotimo: That'd return from the whole token, though
19:54 jnthn Not just the curly block
19:56 moritz cotto: for rakudo star releases, we bundle nqp and parrot, so no downloading happening
19:57 moritz cotto: and the rest is mostly meant for developers or people who track HEAD
19:57 timotimo oh, ok.
19:57 cotto moritz: that sounds like a yes
19:59 moritz cotto: HTTP::Tiny is core since perl 5.14, might make sense to use that
20:00 kivutar joined #perl6
20:01 cotto moritz: even better
20:03 jnthn Would a shallow clone maybe also be a decent solution?
20:08 kboga pir -> nqp for tests: https://github.com/perl6/nqp/pull/80
20:08 jac50 joined #perl6
20:11 dalek nqp: 9fe5009 | (Kristof Bogaerts)++ | t/ (4 files):
20:11 dalek nqp: pir -> nqp for tests
20:11 dalek nqp: review: https://github.com/perl6/nqp/commit/9fe50099ec
20:11 dalek nqp: 289faef | jonathan++ | t/ (4 files):
20:11 dalek nqp: Merge pull request #80 from kboga/pir-to-nqp-in-tests
20:11 dalek nqp:
20:11 dalek nqp: pir -> nqp for tests
20:11 dalek nqp: review: https://github.com/perl6/nqp/commit/289faefee6
20:14 moritz shouldn't we just give kboga push acccess to nqp?
20:15 jnthn Probably ;)
20:15 jnthn kboga: Want a commit bit? ;)
20:16 moritz [X] Done
20:17 timotimo i'll try more head-against-code bashing tomorrow i guess. this lineof business seems nontrivial? gotta find out what $target is :
20:17 cotto jnthn: that looks like a good option too.  The only problem I see is that it creates a weird repo where the code is all there but any interesting operations (git fetch for example) have to subsequently download all of the missing git history.
20:18 jnthn *☑ ;)
20:18 jnthn timotimo: Well, we can do lineof also...it's done by HLL::Compiler.
20:18 jnthn cotto: ah...
20:19 moritz what's the problem with the current approach?
20:20 cotto moritz: it clones the whole git repo, most of which isn't needed
20:20 cotto (of parrot)
20:20 benabik cotto: I think if you pull into a shallow it will avoid getting anything before what you have.  Until you hit a branch that crosses the boundary, then.
20:20 benabik Actually, I suppose you'd just get the history of the branch.
20:21 benabik (Fetching into a shallow repo can be strange, since git assumes the presence of a commit implies the presence of its fully history.)
20:21 cotto benabik: right.  That's what I'm saying.
20:21 cotto A shallow clone is fast to download at first, but slow if you want anything other than the tag.
20:23 mtk joined #perl6
20:33 tadzik whoa, busy day
20:34 FROGGS busy? on a sunday?
20:34 tadzik teh commit log
20:34 cotto Does this seem sane: https://gist.github.com/cotto/5025496
20:35 timotimo uiae
20:35 cotto That's just for sanity checking.  I'll push to a branch if it looks like the direction.
20:37 jnthn cotto: I'd branch it and see what pmichaud++ thinks
20:37 kivutar joined #perl6
20:37 benabik Does nqp ever use non-branch/tag?  'cause that would fail.
20:38 moritz yes, it uses individual revisions
20:38 moritz which is why we do fetch and checkout separately
20:39 benabik Or at least I think it will fail.  I don't _think_ clone supports arbitrary revisions.
20:40 cotto benabik: you seem to be correct
20:40 pmurias_ joined #perl6
20:40 pmurias_ left #perl6
20:42 moritz although it's not always the case, sometimes the complexity of our toolchain does have a reason :-)
20:44 cotto moritz: how common is that use case?
20:45 cotto If that doesn't happen very often, it'd still be worthwhile to do a shallow clone unless PARROT_REVISION is a sha1.
20:45 uvtc joined #perl6
21:04 moritz cotto: used to happen all the time, now it's mostly releases. Might change again if parrot moves quicker again
21:05 timotimo as my last thing of the day: this seems fixed: https://rt.perl.org/rt3/Ti​cket/Display.html?id=74352
21:06 timotimo r: subset A of Array; subset B of A; subset C of A;subset D of A where B & C; say [] ~~ D
21:06 p6eval rakudo b205e6: OUTPUT«True␤»
21:06 benabik Might be able to do the more explicit steps: git init; git remote add origin URL; git fetch --depth 1 REV; git reset --hard FETCH_HEAD
21:10 benabik *git fetch --depth 1 origin REV
21:12 cotto benabik: that sounds promising
21:14 cotto nope
21:14 cotto the fetch step still fails
21:18 dalek nqp-jvm-prep: 2a4dea6 | jnthn++ | / (4 files):
21:18 dalek nqp-jvm-prep: Implement a few more code object ops.
21:18 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/2a4dea6dc5
21:18 dalek nqp-jvm-prep: bd662c8 | jnthn++ | / (2 files):
21:18 dalek nqp-jvm-prep: nqp::getlexdyn and nqp::bindlexdyn.
21:18 dalek nqp-jvm-prep:
21:18 dalek nqp-jvm-prep: Functionality already existed, just wasn't wired to the ops yet.
21:18 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/bd662c8d5d
21:18 dalek nqp-jvm-prep: 730b64a | jnthn++ | lib/QAST/JASTCompiler.nqp:
21:18 dalek nqp-jvm-prep: Fix code-gen bug with defaults.
21:18 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/730b64aacf
21:19 benabik Hm, yeah.  fetch doesn't accept SHA1s either.
21:19 am0c joined #perl6
21:20 cotto It's also an option to have different code paths for tags vs straight revisions, but yuck.
21:23 benabik I think disallowing fetching arbitrary SHA1s is a security feature.  You can only download things that have been explicitly published.  :-/
21:24 cotto benabik: I can see the sense in that.  Enough NQP folks have Parrot commit bits that they can create tags as needed.
21:24 cotto or ask
21:24 benabik chores &
21:26 timotimo oh, it looks like the rakudo star release announcement links to rakudo 2013.01, is that right?
21:28 nwc10 jnthn: the usual [or maybe not the usual, as the goalposts are still where they were at the start :-)]
21:30 jnthn :)
21:33 dalek nqp: a7d0c1e | jnthn++ | src/NQP/World.pm:
21:33 dalek nqp: Remove a couple of incorrect parameters.
21:33 dalek nqp:
21:33 dalek nqp: Probably leftover from porting; nqp-jvm noticed. :-)
21:33 dalek nqp: review: https://github.com/perl6/nqp/commit/a7d0c1e90b
21:36 tadzik Useless use of "," in expression "pass, 'first config parsed'" in sink context (line 14)
21:36 tadzik whoa, nice
21:36 tadzik moritz++
21:39 Liz_ joined #perl6
21:52 grondilu rn:  package Foo { our $A; our sub f { $A } }; $Foo::A = "bar"; say Foo::f;
21:52 p6eval rakudo b205e6: OUTPUT«(Any)␤»
21:52 p6eval ..niecza v24-24-gbdc3343: OUTPUT«bar␤»
21:53 grondilu should I submit a rakudo bug here?
21:53 jnthn grondilu: Pretty sure that one is already in there
21:54 grondilu ok
21:54 jnthn bbiab
22:05 dalek perl6-examples: bd9608f | (L. Grondin)++ | rosalind/README:
22:05 dalek perl6-examples: [rosalind] fix spelling
22:05 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/bd9608fc7c
22:18 tadzik is it currently possible to re-use rakudo's levenshtein code in the userspace?
22:20 tadzik seen lue
22:20 tadzik al<TAB><TAB>
22:20 lue tadzik: nope, I haven't. sorry.
22:21 tadzik :)
22:21 tadzik I see you're doing some good stuff to panda in your fork
22:22 lue Yes. I've been meaning to do a pull request, but there was something left I wanted to do /me sees if he can remember
22:22 tadzik I went through https://github.com/dashboard/issues/repos and closed almost everything I could. That's something I should do more often, there were bugs opened 3 years ago /o\
22:23 grondilu rn: say "1 2".words X+ "3 4".words
22:23 p6eval niecza v24-24-gbdc3343: OUTPUT«4 5 5 6␤»
22:23 p6eval ..rakudo b205e6: OUTPUT«␤»
22:25 lue That's what it was. A small sub in bin/panda to clean the list of anything that's marked on startup (because if it's listed as "marked" instead of "installed", that means installation was interrupted. I remember having issues because things were left marked while running (re?)bootstrap)
22:25 grondilu rn: say "1 2".words »+» 1
22:25 p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«2 3␤»
22:25 tadzik hm
22:25 tadzik I don't get it :)
22:25 grondilu rn: say "1 2".words Z+ "3 4".words
22:25 p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«4 6␤»
22:25 tadzik but it's late for me, I may be slow-thinking
22:25 grondilu it's only X that fails?!
22:26 grondilu rn: say "1 2".words Z+ "3 4".words
22:26 p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«4 6␤»
22:26 grondilu rn: say "1 2".words X+ "3 4".words
22:26 p6eval niecza v24-24-gbdc3343: OUTPUT«4 5 5 6␤»
22:26 p6eval ..rakudo b205e6: OUTPUT«␤»
22:26 grondilu go figure
22:27 grondilu rn: say [+] "1 2".words
22:27 p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«3␤»
22:27 grondilu yep, only X apparently
22:27 lue Pies.deps_helper only returns a $littlebone if something's state is 'absent'. So, if you cancel an installation mid-way and leave A::B marked, then try to install something that needs A::B, A::B isn't listed as a dep because it's not "absent"
22:28 lue (and I don't think I can say "return if it's absent OR marked", because then a dependency can be put in the list multiple times)
22:28 lue when A::B isn't in the dep list, it's not installed, which means Bad Things™ for whatever needed it in the second install.
22:28 * lue codes
22:31 tadzik yeah, makes sense
22:31 tadzik there is also some weird bug with double dependencies, for example installing Farabi6 installs URI twice
22:32 lue tadzik: in my fork or original panda?
22:33 quester joined #perl6
22:34 tadzik in the original panda
22:46 benabik joined #perl6
22:54 grondilu rn: say "1 2".words »+« "3 4".words
22:54 p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«4 6␤»
22:56 thundergnat joined #perl6
22:56 grondilu rn: say "1 2".words X "3 4".words
22:56 p6eval niecza v24-24-gbdc3343: OUTPUT«1 3 1 4 2 3 2 4␤»
22:56 p6eval ..rakudo b205e6: OUTPUT«␤»
22:57 lue tadzik: I'm getting double URI too. Seems Farabi6 and Pod::To::HTML are both asking for it. ( I thought that wouldn't happen. Hm)
22:58 tadzik yeah, shouldn't
22:58 tadzik maybe the dependencies should be tracked, flattened and uniqed as the first action at all
23:01 lue It's weird, though. I could swear my code avoids repeat deps
23:04 tadzik yeah, I thought I took care of that too\
23:04 tadzik even Pies should guarantee that, Ithnink
23:05 lue maybe the ecosystem isn't setting the state for project-get-state properly ?
23:05 tadzik I dunno
23:05 tadzik I thought it just ends up twice on the dependency list
23:15 grondilu rn: say "foo bar".comb(/\S+/) X "A B".comb(/\S+/);
23:15 p6eval niecza v24-24-gbdc3343: OUTPUT«foo A foo B bar A bar B␤»
23:15 p6eval ..rakudo b205e6: OUTPUT«␤»
23:20 kboga left #perl6
23:24 jnthn 'night, #perl6
23:24 census good night jnthn! :)
23:26 thundergnat left #perl6

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

Perl 6 | Reference Documentation | Rakudo