»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:00 xenoterracide joined
timotimo oooh, duh! 00:00
lrn2copypaste ... :) 00:01
it doesn't seem like the perl6 code i wrote is even getting run at all :| 00:03
diakopter timotimo: what is IPython::Rakudo 00:10
timotimo it's my attempt at using ipython frontends (notebook, qtconsole, console) with a rakudo "kernel" 00:11
github.com/timo/iperl6kernel - if you care. it also needs arnsholt/Net-ZMQ to be installed, which in turn needs libzmq 00:14
it won't connect to ipython properly yet, so you don't actually need ipython
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:15
00:22 gdey joined 00:31 xenoterracide left 00:32 xenoterracide joined 00:41 benabik left 00:42 benabik joined 00:45 gdey left 01:06 sepegp left 01:09 census joined
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:␤------> 42 ~~⏏ Match;␤ok 00:00 42m␤»
TimToady std: 42 ~~ Nil;
p6eval std 52fe6d2: OUTPUT«Potential difficulties:␤ Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/R1ZkoL065A line 1:␤------> 42 ~~⏏ Nil;␤ok 00:00 42m␤»
TimToady std: when Nil {}
p6eval std 52fe6d2: OUTPUT«Potential difficulties:␤ Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/JHJj7y8ebq line 1:␤------> when ⏏Nil {}␤ok 00:00 42m␤»
01:28 sisar left
TimToady nr: my $r = ++*; my $x = 42; say $r($x) 01:30
p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«43␤»
TimToady not sure if WhateverCode should be considered pure
benabik Not every WhateverCode, but some could be. *+2 01:35
TimToady sure
was probably just misreading the backlog
01:35 PZt left 01:37 pmurias left 01:59 woosley joined 02:03 gdey joined
TimToady rosettacode.org/wiki/Polymorphic_copy#Perl_6 02:04
02:05 gdey left 02:06 PacoAir left 02:12 gdey joined 02:14 PZt joined 02:36 gdey left 02:37 fgomez joined 02:40 FROGGS_ joined 02:44 FROGGS left
[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:44
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:46
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:51 census left 02:53 marloshouse left
lue
.oO(Huh. Apparently, looking at rakudo's @*INC, only the ~/.perl6 path is version-specific.)
02:53
02:54 marloshouse joined 03:19 cparen joined, cparen left 03:23 orafu left, orafu joined
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:45
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. 03:57
04:00 SamuraiJack joined 04:02 SamuraiJack left
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
04:06 adu joined 04:10 raiph493 left, raiph__ left, raiph_ left, raiph left 04:24 xinming_ joined 04:27 xinming left 04:31 grondilu left 04:38 quester joined 04:39 raiph joined, raiph_ joined, raiph__ joined, raiph226 joined 04:41 preflex_ joined 04:42 thou joined 04:43 preflex left, preflex_ is now known as preflex 04:44 thou left 04:46 thou joined 05:15 raiph226 left, raiph_ left, raiph__ left, raiph left
TimToady rosettacode.org/wiki/Munching_squares#Perl_6 05:21
05:41 Chillance left 05:45 bmellow joined 05:46 bmellow left
[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. 05:48
dalek rl6-roast-data: 8d5b186 | coke++ | / (4 files):
today (automated commit)
06:01
rl6-roast-data: 0a33228 | coke++ | / (4 files):
today (automated commit)
06:01 Gwyxx joined
nwc10 jnthn: Clean rebuild passes all tests except the one that needs ICU 06:50
07:08 cbk1090 joined
moritz cotto: sorry, went to bed. No objections to merging 07:18
cotto: ah, I see you already did it. cotto 07:19
erm, I meant cotto++
the + and the return key are kind of next to each other on the German keyboard :-)
TimToady so...it's not your fault, it's the Germans' fault... 07:21
moritz which kinda makes it my fault again :-) 07:22
r: role R { }; my $x = 42 but R; say $x ~~ R; 07:23
p6eval rakudo cfee62: OUTPUT«True␤»
07:23 FROGGS_ is now known as FROGGS
FROGGS morning 07:24
moritz \o FROGGS
07:25 zby_home joined 07:37 cbk1090 left
dalek ast: cbe2851 | moritz++ | S (3 files):
more Type() -> (Type) switching. Also unfudge a test for rakudo
07:39
cotto moritz: on US keyboards it 07:40
s even more fun when this happens.
moritz all spectests pass again now 07:41
huf happens to all of usű 07:44
07:47 domidumont joined, woosley left, woosley joined 07:48 woosley left, woosley1 joined 07:49 woosley1 left, woosley joined 07:51 woosley1 joined 07:53 woosley left, woosley joined 07:54 woosley1 left 07:55 woosley left 07:56 woosley joined, woosley left, woosley1 joined, woosley1 left
timotimo good day 07:57
07:58 woosley joined 07:59 woosley1 joined, woosley left 08:00 woosley joined, woosley left, woosley2 joined, woosley1 left 08:03 woosley1 joined
FROGGS rn: say "abc" ~~ /\d+/ 08:04
p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤»
08:05 kaare_ joined, woosley1 left
FROGGS moritz: can you leave this one to me? 08:05
08:05 woosley4 joined
FROGGS (in case you are not already working on it) 08:05
08:05 woosley2 left
moritz FROGGS: I hadn't planned to tackle it myself :-) 08:05
FROGGS k :o)
timotimo 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:08
08:09 woosley4 left
moritz timotimo: it would help if you could be more specific 08:10
like, which file you are looking at
whether there's any error
timotimo the only interesting files are bin/iperl6kernel.nqp and lib/IPerl6/ZMQ.pm6
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:11
moritz right 08:12
so you need to .set a protocol somewhere
timotimo that's right. and i do, at the bottom of ZMQ.pm6, but that file is apparently never run at all 08:13
i try to get it to run by appending -MIPerl6::ZMQ
to the compiler's flags in the main function in bin/iperl6kernel, just like jnthn did in his rakudo::debugger
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 domidumont left
timotimo it doesn't have something to do with it being a module, right? 08:16
08:16 domidumont joined
timotimo nah, that's pretty much exactly how the commandline ui module does it in r::d 08:17
moritz I've justed tested it with Pod::To::Text, and it works there 08:18
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
I didn't run your code 08:20
timotimo ah.
when i do the same thing on my machine, i get no says either
moritz you don't? 08:21
that's bad :(
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
lue ah. (and here I thought it was combining -M and -I . Wonder if that's because it's midnight here :P) 08:24
08:28 quester left 08:30 REPLeffect left 08:31 REPLeffect joined 08:39 adu left 08:48 grondilu joined
grondilu r: paste.siduction.org/20130224084843 08:48
p6eval rakudo cfee62: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/bBv_q59X3b:1␤------> http⏏://paste.siduction.org/20130224084843␤ expecting any of:␤ argument list␤ postfix␤ infix or meta-infix␤ infix stopper␤ statem…
timotimo only works for gist 08:49
grondilu oh ok
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 left, p6eval joined, ChanServ sets mode: +v p6eval
timotimo let me try 08:51
grondilu it takes a bit of time
it was a rewrite attempt for rosettacode.org/wiki/Munching_squares#Perl_6
moritz grondilu: you do a statement-modifying for loop 08:52
grondilu: that means that $_ is set to an Integer
grondilu oh yeah
silly of me 08:53
moritz so .write (which is short for $_.write) is now called on the Int
timotimo i pasted the rosettacode munch (in error) and wow it's slow 08:54
60 seconds to generate that image? holy cow.
grondilu yeah Perl6 is not now for being lightning speed :/ 08:55
s/now/known/
timotimo for me, that's quite a ways from "lightning speed" 08:56
TimToady grondilu: I just put a rewrite there that puts more gamma in, for a picture with more contrast 08:58
timotimo oh, yeah, that's prettier 08:59
TimToady but yeah, it's slow 09:00
btw, I tried the same rewrite, and made the same mistake: you can't have $_ mean two different things simultaneously :) 09:01
GlitchMr dl.dropbox.com/u/63913412/catcolor.png 09:03
I'm almost sure I shouldn't have modified cat.
But it's so fun.
TimToady --> bed 09:04
09:09 rindolf joined
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
i wonder why that is.
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+^
that's amazing. 09:16
timotimo looks at the rakudo code (without guarantees or obligations)
wow, there's a lot of logic in there 09:18
gotta run now 09:20
09:20 bbkr joined
grondilu tries writing it like this: .write: @colors[^256 X+^ ^256]; 09:20
09:22 REPLeffect left
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
suffix*
GlitchMr I like man pages. For example, man page for "ps". -a: Identical to -e. -e: Identical to -a. 09:30
Just perfect.
mberends Turing-complete. 09:31
09:33 zby_home left
mberends bbkr: for OS identification try github.com/jnthn/zavolaj/blob/mast...TestLib.pm 09:40
tadzik hello #perl6
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.
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 :/
p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«「a」␤␤»
FROGGS ahh, I believe I got it... 09:43
diakopter r: 1
p6eval rakudo cfee62: ( no output ) 09:44
09:44 sepegp joined
FROGGS worx 09:47
bbkr mberends: thanks 09:53
09:54 labster left, thou left
arnsholt bbkr: That's an annoying bug to come creeping out again. I'll see what I can find 09:55
09:56 rindolf left
bbkr as a temporary workaround identification of OS by $*VM<config><load_ext> will do the trick 09:56
09:56 rindolf joined 10:12 spider-mario joined 10:33 am0c joined 10:39 kboga joined, woosley joined
kboga hi p6, here's some more Q:PIR to nqp github.com/perl6/nqp/pull/77 10:40
FROGGS nr: say "4" ~~ / (\d) { make $0.sqrt } Remainder /; 10:51
p6eval rakudo cfee62, niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤»
FROGGS nr: say "4" ~~ / (\d) { make $0.sqrt } Remainder /; say $/.ast
p6eval rakudo cfee62: OUTPUT«#<failed match>␤2␤»
..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 …
FROGGS TimToady: is this supposed to be a failed match? 10:52
TimToady: there is a test for it in make.t, see perlcabal.org/syn/S05.html#Bracket_...nalization 10:53
moritz well yes, it fails because the string Remainder isn't there 10:59
and now that a failed match returns Nil, there's no way to extract the AST from a failed match
FROGGS so, do we want that?
kboga hi moritz & FROGGS 11:03
FROGGS hi kboga
about pir, I'm not sure... maybe grep for 'pir' in the source folders? 11:04
kboga @FROGGS: was that aimed towards me? 11:05
FROGGS kboga: it was
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 :)
FROGGS: btw, are you from germany? 11:09
(just guessing, because of: irclog.perlgeek.de/perl6/2013-02-23#i_6490522 ) 11:14
FROGGS kboga: I am 11:19
kboga: ahh, you're from .be 11:20
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:22
jnthn afternoon o/ 11:24
kboga yep :)
hi jnthn
FROGGS jnthn! \o/
kboga: you're comming to GPW in berlin? 11:25
kboga oh, I hadn't considered going to such an event yet 11:28
FROGGS well then, consider it :P
11:31 toebu left
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
kboga oh right, jnthn, here's another pull request for qpir to nqp of lineof: github.com/perl6/nqp/pull/77 11:44
11:44 kivutar joined
jnthn kboga: How much did you test it? 11:48
kboga: Or maybe more concretely, does Rakudo pass spectest with this applied?
11:50 daniel-s__ joined 11:53 woosley left
dalek p: ac4421c | jnthn++ | src/6model/repr_registry.c:
Using representations that don't exist should die.

Before, it failed silently, falling back to KnowHOW.
11:54
p: a33eef1 | jnthn++ | src/QAST/Operations.nqp:
Stub nqp::hllconfig.

Functions as a no-op for now.
11:54 daniel-s_ left
kboga I don't have ICU installed, so some spectests seem to fail 11:55
gist.github.com/kboga/63c8f1eeb0ce0e75b4f2 11:56
not sure if that is expected 11:57
hmm let me run that again with the normal nqp
jnthn kboga: Hm, what platform? 11:58
None of those look line-number wrongness related, though.
kboga windows 64 bit
jnthn Hm, which compiler? 11:59
jnthn knows about some of those, but not all of 'em
kboga uhm gcc 12:01
jnthn OK
jnthn uses msvc, maybe that explains the differences
jnthn is running a spectest without the patch at the moment
kboga same 12:02
i mean, without the patch, to compare :)
jnthn Looking at the output you pasted though, I doubt any of that is related to your changes :)
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:03
kboga I tested the patch running a p6 program containing $?LINE and a TTIAR 12:04
and it seemed to dtrt
jnthn We have a bunch of spectests that break if line number reporting goes wrong.
I know 'cus I've busted 'em in the past :)
So not failing those is a good sign it's right also :) 12:05
FROGGS .oO( in the $past? )
jnthn eek, I get two segfaults in S12 also 12:06
(without the patch)
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 ;)
Darn, it's one of those segfaults taht doesn't segfault under the debugger
kboga a heisenbug? 12:11
jnthn Well, it does throw an exception under the debugger 12:12
12:12 census joined
kboga hmmm, there does seem to be a difference gist.github.com/kboga/63c8f1eeb0ce0e75b4f2 12:13
those S12's
jnthn The S112 ones go away with your patch? 12:14
Or the other way around?
jnthn has them without it...
kboga the other way around
dalek ast: 4debe16 | moritz++ | S (5 files):
more Type() -> (Type) gistification
12:15
12:19 Gwyxx left 12:26 SamuraiJack joined, census left
FROGGS btw, if someone wanna try, this is for returning Nil instead of #<failed_match>: gist.github.com/FROGGS/5023634 12:28
moritz FROGGS: I think that for performance reasons, you should avoid return() there 12:30
in MATCH_SAVE
$last_match := $match if $match; 12:31
$match || Nil
FROGGS k, didn't know that return is slower 12:32
12:34 Bragho joined
jnthn kboga: Think I have a patch. 12:36
kboga: It's unrelated to anything you've done. 12:37
(the problem, that is)
kboga oh, awesome :)
dalek kudo/nom: c8f3979 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Fix an incorrect package name.

Not sure how this ever worked before; fixes the failing tests.
12:43
FROGGS jnthn: I love these failures... where it worked years and years for no obvious reason 12:44
jnthn kboga: Merged your PR; thanks! 12:45
12:45 kivutar left
kboga np, it was pretty LHF :) 12:47
arnsholt Heh. I love fixing that kind of error. "In what universe did this ever work???" 12:48
moritz huh, has dalek stopped picking up nqp commits? 12:53
12:55 ObseLeTe left
jnthn moritz: oh, hm. When I missed mine last night I thought it was a one-off failure 12:56
moritz it did report one or two commits to nqp about an hour ago 12:58
12:58 kivutar joined
jnthn odd 12:58
FROGGS huh, I believe I fixed /<[\w]-[\n]>/ right now O.o 13:00
jnthn ooh
jnthn would be curious to see the patch
moritz isn't <[\w]-[\n]> the same as \w ? 13:01
FROGGS jnthn: gist.github.com/FROGGS/5023754
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...
FROGGS: Feel free to push it to a branch of ourse :)
FROGGS jnthn: I'm waiting for a feedback because the spec I posted disagrees with latest changes
13:01 mtk left
FROGGS k, will do 13:01
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␤»
jnthn r: say "abc" ~~ /<-[\n]>/
p6eval rakudo cfee62: OUTPUT«「a」␤␤»
jnthn r: say "abc" ~~ /<-[\n]+[\w]>/ 13:03
p6eval rakudo cfee62: OUTPUT«「a」␤␤»
FROGGS damn, nqp compiles fine, and ./nqp -e 'say("abc" ~~ /<[\w]-[\n]>/)' is working, but rakudo doesnt compile ó.ò
jnthn FROGGS: If I understand the problem correctly, it's that we try to negate a cclass node 13:04
And it doesn't support that
uh, sorry
We try to zero-width it
So it's whether the AST is a cclass that we want to look for I suspect
Not its position 13:05
13:05 mtk joined
FROGGS okay, will try something 13:05
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 13:08 PacoAir joined, kivutar left 13:09 xinming_ left, xinming joined
FROGGS jnthn: that works for nqp too, compiling rakudo right now 13:11
13:14 xinming left 13:15 xinming joined
FROGGS jnthn: it works! gist.github.com/FROGGS/5023754 13:16
will run spectest now
jnthn asbra!
FROGGS++ 13:17
FROGGS what?
jnthn FROGGS: Oh, it's Swedish for "dead good!" :)
FROGGS hehe, and I thought that it is some bajoran word I dont know :o)
jnthn doesn't speak any bajoran words :) 13:18
13:25 sepegp left 13:32 telex left 13:34 telex joined
FROGGS spectest passed 13:36
will push now jnthn's fix :P
jnthn you did the hard work :P 13:37
FROGGS hehe
13:38 xinming left
FROGGS uhh, after pulling hundrets of changes I'll better test again 13:38
13:39 xinming joined
FROGGS damn it, if I had time I would try to port nqp to C -.- 13:39
13:42 census joined
jnthn I have some local patches to commit plus one hack to work around an NYI thing...but... gist.github.com/jnthn/5023898 13:43
That demonstrates using the QAST -> JVM translator, with that translator running on the JVM. 13:44
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:45
nwc10 \o/ 13:48
jnthn errands, walk, etc. & 13:51
kboga some more pir -> nqp: github.com/perl6/nqp/pull/78 13:52
FROGGS it's awesome what is going on these days
14:08 kboga left 14:09 kboga joined 14:11 kboga left, kboga joined
FROGGS n: "abc" ~~ m/<[\w]-[\N]>/ 14:13
p6eval niecza v24-24-gbdc3343: ( no output )
FROGGS n: say "abc" ~~ m/<[\w]-[\N]>/ 14:14
p6eval niecza v24-24-gbdc3343: OUTPUT«False␤»
dalek p: a4818ae | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp:
RT #115802, cclasses dont support zerowidth
14:20
ast: 9527129 | (Tobias Leich)++ | S05-metasyntax/charset.t:
RT #115802, one fix, one todo added
14:21
14:21 Psyche^ joined 14:23 census left 14:25 Patterner left, Psyche^ is now known as Patterner 14:30 census joined 14:33 zby_home_ joined 14:43 _jaldhar joined, jaldhar left
bbkr what does "Cannot look up attributes in a type object" error on NativeCall CStruct object means? 14:47
14:49 TimToady left 14:50 jac50 joined, TimToady joined
FROGGS bbkr: that you are trying to use method/attr on 'undef' values? 14:51
14:52 kboga left 14:53 kboga joined 14:55 pranav joined, _jaldhar is now known as jaldhar, kboga left, kboga joined
pranav How do I build perl6 for os x? 14:56
bbkr FROGGS, indeed, I was calling wrong C method for GeoIP database
pranav: first you need to install Xcode from AppStore (free)
pranav Done. 14:57
benabik `brew install rakudo-star`, if you have perlbrew
*homebrew
bbkr pranav: are you using macports or homebrew? 14:58
pranav perlbrw 14:59
*perlbrew
geekosaur er?
perlbrew is not the same thing
macports and homebrew are package systems. perlbrew builds a custom perl environment and is orthogonal to them (but available from both...)
pranav Oh! sorry I thought it was :-( 15:00
15:01 stevan_ left
pranav Downloading MacPort 15:01
15:01 stevan_ joined 15:03 SamuraiJack left
dalek p: 8a48fff | (Kristof Bogaerts)++ | / (16 files):
more pirops to nqpops
15:04
p: f70f431 | jonathan++ | / (16 files):
Merge pull request #78 from kboga/pirops-to-nqpops

more pirops to nqpops
pranav Okay MacPort installed 15:07
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:08
jnthn FROGGS: Did you bump NQP_REVISION? If not, then the spectest will fail due to not having an NQP with the fix 15:13
FROGGS jnthn: ohh, will do that 15:14
thanks for the reminder
pranav Okay icu installed what do i set $PATH to? 15:16
geekosaur if you started a new terminal after installing macports, $PATH should already be set. 15:18
dalek kudo/nom: 80f798b | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp revision
geekosaur "echo $PATH" --- /opt/local/bin should be first (or at least before /usr/bin)
15:19 sqirrel joined
FROGGS nr: say "abc" ~~ /<[\w]-[\n]>/ 15:20
pranav Yes it is.
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␤»
..niecza v24-24-gbdc3343: OUTPUT«「a」␤␤»
FROGGS n: say "abc" ~~ /<[\w]-[\N]>/
p6eval niecza v24-24-gbdc3343: OUTPUT«#<failed match>␤»
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
dalek kudo/failed_match2Nil: 61c623e | (Tobias Leich)++ | src/core/Cursor.pm:
return Nil for a failed match
15:24
15:25 Liz joined 15:26 Liz is now known as Guest9882 15:28 Guest9882 is now known as lizmat
FROGGS jnthn: what does $node.backtrack eq 'r' mean? what is 'r' ? 15:30
15:32 pranav left
jnthn ratchet 15:33
as opposed to f for frugal and g for greedy
FROGGS thanks
jnthn r is turned on in token and rule by default; it means "no backtracking"
t\spec\S05-metasyntax\charset.rakudo seems busted here, fwiw 15:34
CHECK FAILED:
Calling 'todo' will never work with no arguments (line 42)
FROGGS ohh, didnt seen that 15:35
hold on, will fix
dalek p: 6d196e4 | jnthn++ | / (9 files):
Stub VMArray/VMHash/VMIter reprs.

Not going to fill them out just yet, but they should at least exist to facilitate cross-compilations involving them.
15:36
ast: 51dd8c4 | (Tobias Leich)++ | S05-metasyntax/charset.t:
fix: todo with arguments, jnthn++
15:37
p-jvm-prep: c2321ad | jnthn++ | nqp-src/NQPCORE.setting:
Array and iterator types for NQP.

This provides the proper NQP semantics for hash iteration (that is, a .key and .value method).
15:38
p-jvm-prep: 6f81315 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
Make string truth do what various code wants.
15:42 kboga left, kboga joined 15:45 SamuraiJack joined 15:46 benabik left
FROGGS nqp: say("[" ~ ("\n" ~~ /<[\N]-[\N]>/) ~ "]") 15:47
p6eval nqp: OUTPUT«[␤]␤»
15:47 thou joined 15:48 benabik joined 15:54 stevan_ left
dalek p: 7ced180 | jnthn++ | t/serialization/0 (3 files):
Further pir:: removal in serialization tests.
16:02
p: a8c60c1 | jnthn++ | src/ops/nqp.ops:
Toss an unused op.
timotimo good day 16:07
arnsholt o/ 16:09
Did you say you managed to trigger segfaults with Net::ZMQ? 16:10
timotimo yeah, totally
arnsholt That's not supposed to happen =)
Paste?
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
arnsholt Or gist, even?
Memory related, shenanigans, yeah
s/,// 16:11
timotimo does it have a bit more time? i'd love to get something else looked at first
16:11 thou left
arnsholt Take your time 16:11
I likely won't have time to look properly at it 'till tomorrow 16:12
timotimo do you have a moment to look at something barely, vaguely related? 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:14
arnsholt Weird 16:15
What kind of errors do you get?
timotimo no output whatsoever 16:17
arnsholt Odd...
jnthn How are you invoking it?
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, raiph__ joined, raiph_ joined, raiph609 joined
FROGGS .oO( we are surrounded by raiphs O.o ) 16:18
jnthn whoa...the channel is rife with raiph
heh :)
FROGGS :o)
kboga jnthn: github.com/perl6/nqp/pull/79 (some includes were missing) 16:19
arnsholt Hang on, invoking perl6 on an nqp file. Is that right?
jnthn kboga: ooh, thanks!
geekosaur we can hold a raiphle?
timotimo jnthn: github.com/timo/iperl6kernel/blob/...l.nqp#L156 - this is how i invoke it
arnsholt: no, that's not what i'm doing
kboga np
dalek p: 6f81033 | kboga++ | src/6model/repr_registry.c:
adds some missing includes
p: f93b3e3 | jonathan++ | src/6model/repr_registry.c:
Merge pull request #79 from kboga/patch-1

adds some missing includes
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
moritz timotimo: how do you invoke iperl6kernel.nqp ? 16:21
nqp bin/iperl6kernel.nqp 16:25
Method 'shift' not found for invocant of class 'String'
current instr.: 'MAIN' pc 531 ((file unknown):16034547) (bin/iperl6kernel.nqp:154)
timotimo moritz: i build it with panda and run the resulting binary 16:34
moritz: interesting, so in that case @ARGS is not an array but a string? 16:36
benabik timotimo: I think you want MAIN(*@ARGS) 16:37
timotimo maybe
(that's not what rakudo::debugger has, though)
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
rindolf Is TimToady here? 16:39
jnthn moritz: Did add_numeric_constant change recently?
moritz jnthn: yes, I've added a $/ first parameter to get the .node info attached 16:40
jnthn ah 16:41
moritz: Same for add_string_constant?
moritz jnthn: yes
wait, lemme check 16:42
no
jnthn ah, seems not
16:43 mtk left
moritz for string contstants I've attached the node info in one of the quoting action methods (quibble, I think) 16:43
because string constants are used quite often independently of literals
dalek kudo-debugger: 98e4a93 | jnthn++ | bin/perl6-debug.nqp:
Update for add_numeric_constant changes.
16:44
16:46 lizmat left
nwc10 jnthn: Clean rebuild passes all tests except the one that needs ICU 16:49
16:52 M_o_C joined
dalek p-jvm-prep: 90585d7 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Handle if foo -> $x { } constructs.
16:52
nwc10 bother. Someone moved the goalposts 16:53
I'm sure that he does that deliberately :-)
16:53 mtk joined
jnthn With that, the thing I gisted earlier works with what's in the repo :) 16:53
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.
dalek ar: e8401b7 | moritz++ | modules/rakudo-debugger:
new revision of rakudo-debugger
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.
Essentially meaning we'd have a way to eval QAST. 16:56
(In a single JVM process)
Will get there eventually :)
dalek ar: bc1db22 | moritz++ | docs/announce/2013.02:
draft release announcement for 2013.02
16:59
moritz please review
jnthn If you want to get the class name directly, use $obj.^name 17:00
Ulti rn: my @list = 1,2,3; @list>>.say;
p6eval niecza v24-24-gbdc3343: OUTPUT«1␤2␤3␤»
..rakudo 80f798: OUTPUT«3␤1␤2␤»
jnthn maybe s/directly/alone/
Ulti :/
jnthn And s/use/continue using/
Ulti niecza does what I expect...
jnthn Ulti: You can't (by spec) rely on order of evaluation of hypers.
moritz Ulti: your expectations are wrong
Ulti ok 17:01
FROGGS nqp: say("[" ~ ("a" ~~ /<[a]-[a\n]>/) ~ "]")
p6eval nqp: OUTPUT«[a]␤»
Ulti so in theory >> could be all parallelised?
jnthn Yes
Ulti cool
though Rakudo consistently gives me that order :) 17:02
17:04 SunilJoshi joined
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:05
jnthn Why the gather? 17:06
timotimo hm, no need actually, since for can be lazy without it
fwiw, the 256x256 munching squares image takes 60 seconds with X+^ and 20 seconds with a double-nested for loop
jnthn Would be good to know what it is about X+^ that is slow
timotimo i haven't the slightest. 17:07
jnthn I seem to recall spending a bit of time on it 17:10
There's an RT ticket iirc
timotimo i'll have a look
jnthn Is it me, or is: 17:11
github.com/perl6/nqp/blob/master/s...rld.pm#L37
timotimo but i doubt i'll be able to make METAOP_CROSS much faster
jnthn dead code?
It just sets two lexicals...then uses them for nothing. 17:12
moritz there's also a --dynext command line option 17:13
which we don't seem to use
17:13 just-curious joined
jnthn Hmm. 17:13
Well, will toss that bit of obvious non-use... 17:14
dalek ar: 2e4d309 | moritz++ | docs/announce/2013.02:
reword release announcement a bit, jnthn++
17:15 SunilJoshi left
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 moritz.faui2k3.org/tmp/rakudo-star-....02.tar.gz # release candidate tar balll
17:18 just-curious left
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
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
er, only the first dimension can be arbitarily long
and in this case, we know the first dimension is also finite
17:20 James_ joined
TimToady and this extends to multiple dimensions: only the first dimension of N can be usefully infinite 17:20
17:20 James_ is now known as Guest60245
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␤␤»
moritz somhow autounfudge thinks that test is passing :-)
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?
TimToady: I was pondering things like
TimToady eager or hyper might also be the default for compact arrays of int, maybe 17:23
jnthn my $fh = async open 'somefile', :w;
Where we may want to convey the async nature of things "inwards" to the call to open so it can do something smarter
17:23 jac50 left
jnthn (than just spin off a task that do the open) 17:24
timotimo that would be nice
TimToady once could pass down some kind of hidden dynamic variable, I suppose
*one
jnthn Yeah. I guess the issue is we don't want it to propagate very deep
moritz I don't think that dynamic vars have the right scoping 17:25
jnthn Whereas dynamics leave stuff around for a long time
moritz ie you'd need to do a lot of fudging to make DTRT
TimToady mostly you just want some bits in the stack frame
and some ops are transparent in the sense that they know to copy the bits through to a subframe 17:26
but the default is to ignore the bits, and nobody the wiser
then they don't propagate downward falsely
jnthn That sounds kinda like it, yeah.
TimToady more or less how P5 does it where it isn't sure at compile time 17:27
sink context we can be pretty sure about though :)
nr: my $a, $b; 17:29
p6eval niecza v24-24-gbdc3343: OUTPUT«===SORRY!===␤␤Variable $b is not predeclared (declarators are tighter than comma, so maybe your 'my' signature needs parens?) at /tmp/xW0Op_QGtP line 1:␤------> my $a, ⏏$b;␤␤Potential difficulties:␤ $a is declared but …
..rakudo 80f798: OUTPUT«===SORRY!===␤Variable '$b' is not declared␤at /tmp/aXL8F1n263:1␤------> my $a, $b⏏;␤ expecting any of:␤ postfix␤»
TimToady nr: my $a = 1,2;
p6eval niecza v24-24-gbdc3343: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/PH4IW83K2E line 1:␤------> my ⏏$a = 1,2;␤␤» 17:30
..rakudo 80f798: ( no output )
TimToady that's the use case for propagating sink down into the comma
nr: my $a = 1,2; 42;
p6eval niecza v24-24-gbdc3343: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/OdivdxpF8_ line 1:␤------> my ⏏$a = 1,2; 42;␤␤»
..rakudo 80f798: ( no output )
TimToady yeah, NYI is all
moritz I don't see how sink context can be propagated into the comma 17:31
oh, I do see
hm
17:31 Liz joined
TimToady maybe we should rename our contexts to "over easy", "scrambled", "sunny-side up", "coddled", etc 17:31
"How'd you like that cooked?" 17:32
17:32 Liz is now known as Guest92748
colomon "You need to stop coddling that List." 17:32
17:33 Guest92748 is now known as lizmat 17:37 pmurias joined
moritz PerlJam: I have a patch that removes a deprecation warning from Grammar::Profiler::Simple. Can haz comit bit PLZ? 17:37
dalek p: 721f127 | jnthn++ | src/NQP/World.pm:
Toss code that does nothing.
p: dc851e8 | jnthn++ | src/QAST/Operations.nqp:
Map nqp::knowhow and nqp::knowhowattr.
jnthn Time to cook some dinnerz... & 17:38
17:40 James__ joined 17:42 sepegp joined
nwc10 aha. goalposts won't move for a bit :-) 17:43
17:44 Guest60245 left, crab2313 joined
mberends nwc10: what OS are you using, that does not support ICU? 17:48
17:50 James__ is now known as jac50 17:55 mtk left
dalek kudo/nom: 80f788b | moritz++ | src/Perl6/Optimizer.pm:
Warn when pure expressions are used in sink context

even if the arguments are not constant, or the expression warns. By explicit request from TimToady++ at
  irclog.perlgeek.de/perl6/2013-02-18#i_6469204
17:58
kudo/nom: 2f210be | moritz++ | src/Perl6/Optimizer.pm:
awesomify sink context warning text
kudo/nom: b205e66 | moritz++ | src/Perl6/Optimizer.pm:
Merge remote-tracking branch 'origin/agressive-sink-warnings' into nom
17:58 mtk joined 17:59 mtk left 18:00 SamuraiJack left
nwc10 mberends: it's not installed. 18:05
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)
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 18:11 crab2313 left 18:12 ObseLeTe joined
kboga got a patch for nqp to replace pir with nqp ops for the knowhow thingies (github.com/perl6/nqp/commit/dc851e88ae) but I suppose nqp needs a rebootstrap to get the ops first 18:14
gist.github.com/kboga/b1227868756278af6d7c 18:16
afk 18:19
18:25 uvtc joined
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:26
timotimo rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; 18:27
p6eval rakudo b205e6: OUTPUT«===SORRY!===␤Undeclared name:␤ Quux used at line 1␤␤»
geekosaur perl6 does require them. alternatively I think a colon can be used?
timotimo er that was two lines, oops
rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
p6eval rakudo b205e6: OUTPUT«===SORRY!===␤Illegally post-declared type:␤ Quux used at line 1␤␤»
18:27 hash_table joined
timotimo rt.perl.org/rt3/Ticket/Display.html?id=69760 - does that mean this bug can be closed? 18:28
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␤␤»
geekosaur bah
uvtc geekosaur: yes, colon works too.
geekosaur: thanks. I don't mind having to type the parens. Just curious.
Actually, I think I remember hearing something about this ... maybe having to do with regular subs vs. methods.
timotimo yes, indeed 18:30
i remember there was an argument that $foo.bar (for attributes) is supposed to be stand-alone or something?
nwc10 jnthn: The usual :-) 18:31
uvtc What does ":something" mean (for example, the ":w" used when opening a file for writing)? 18:35
r: say :foo, "bar"; 18:36
p6eval rakudo b205e6: OUTPUT«bar␤»
geekosaur named vs. positional parameters, in this case functioning as an adverb 18:37
uvtc geekosaur: Thanks. I also saw it while trying to see how to create a heredoc: rosettacode.org/wiki/Here_document#Perl_6 18:39
How can I create a simple single-quoted heredoc?
That RC example shows a more complicated nested example. 18:40
geekosaur they're not actually nested, they're consecutive 18:41
uvtc My mistake; the example blurb actually says "stacked".
18:41 Chillance joined
geekosaur hpaste.org/82972 18:42
uvtc geekosaur: Ah, thanks. I'd forgotten to put quotes around my EOT marker.
jnthn om nom nom 18:49
uvtc geekosaur: so, hpaste.org/82973 should instead be qq :to 'EOT' (with the single quotes around EOT)?
geekosaur: well, it works with either single or double. 18:50
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
rather than doing magic depending on how you specified the end marker
uvtc Ok. Need to forget that bit of P5 magic then. 18:52
geekosaur perl6 prefers principled magic to random magic :)
uvtc Sounds good. :)
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
kboga: Will apply it in a bit when I'm ready to rebootstrap :)
uvtc Ok, added simpler example to 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
diakopter hm
jnthn moritz: Mke sure you're up to date.
moritz: I missed some includes at one point and kboga++ supplied a patch for them. 18:57
cotto I'm seeing that too.
moritz doing a git pull + make again
kboga ah, no hurry, enjoy your meal first :) 18:58
jnthn kboga: Oh, I just finished doing meal :)
And it wsa enjoyable :)
moritz: 6f8103 is the patch that shoulda fixed it...wonder what I missed :)
or maybe you're just missing that commit ;) 18:59
moritz I wasn't quote up-to-date
kboga Glad to hear that.
moritz so now the C bits seem to have compiled fine 19:00
(though I needed a cleaning first, simply running 'make' again wasn't enough)
cotto same thing appears to be the case here
jnthn ah
moritz if nobody objects, I'll release star now 19:04
./nqp --target=pir --output=src/stage2/gen/NQPP5QRegex.pir \ src/stage2/gen/NQPP5QRegex.pm 19:05
Null PMC access in find_method('load_setting')
19:05 lizmat left, am0c left
jnthn ...what? 19:08
jnthn wonders what could be causing that
uvtc What's the P6 equivalent of the `^` in rosettacode.org/wiki/Munching_squares#Perl ? 19:09
moritz +^ 19:10
uvtc moritz: thanks!
dalek ar: 1a8aae4 | moritz++ | tools/star/release-guide.pod:
update release guide

  * fix upload step to use scp instead of github downloads
  * note 2013.02 release
19:11
uvtc phenny: tell TimToady prefixed rosettacode.org/wiki/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
moritz rakudo star released. 19:23
nwc10 \o/
jnthn moritz++ 19:24
moritz the most annoying part of the release process is reformatting the announcement to be suitable for wordpress consumption (for rakudo.org) 19:25
if we wrote the announcements in proper markdown, that could be automated much more easily
jnthn If only we had a language that was good at text manipulation...
jnthn wonders how far our announcements are off being valid markdown anyway... 19:26
moritz not much, mostly just the link syntax
19:31 domidumont left
timotimo i'm looking to improve this class of error messages: 19:31
r: if(1 < 5) { say "yup" }
p6eval rakudo b205e6: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/19R53xcvY3:1␤------> if(1 < 5) ⏏{ say "yup" }␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifier␤ …
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
i guess i'll just look at STD
jnthn std: if(1 < 5) { say "yup" }
p6eval std 52fe6d2: OUTPUT«===SORRY!===␤Word 'if' interpreted as 'if()' function call; please use whitespace instead of parens at /tmp/DITULI5fLG line 1:␤------> if⏏(1 < 5) { say "yup" }␤Unexpected block in infix position (two terms in a row) at /tmp/DITULI…
jnthn Yeah, we should follow STD here 19:33
I think there's an infix:sym<lambda> or so
19:35 thou joined
timotimo STD has that, yes. rakudo does not 19:36
jnthn yes, Rakudo should get that ;)
timotimo mhm. i'll see if i'm able to understand what's going on. 19:38
what's the deciding factor wether <lambda> refers to token infix:lambda or token lambda in STD.pm6? 19:39
jnthn It always means lambda 19:41
dalek p: ad81875 | jnthn++ | src/QAST/Operations.nqp:
A couple of ops for special code object marks.

Will eliminate most of the remaining setprop usages.
19:42
p: 2f58b36 | jnthn++ | src/ (2 files):
Replace pir::find_caller_lex.
p: a452806 | jnthn++ | src/stage0/ (9 files):
Update bootstrap.
jnthn infix:sym<lambda> would be found by a call to <infix>
dalek p: 1346d6e | jnthn++ | src/ (4 files):
Another round of pir:: => nqp::.
p: 1699647 | jnthn++ | t/ (3 files):
More pir:: => nqp:: by kboga++.
timotimo ok. so is infix:lambda something special to perl6?
jnthn The infix part means it's one of the candidates for the infix protoregex
timotimo oh 19:43
jnthn So when we write <infix> it really means "choose the best infix:whatever"
In Rakudo we always in the grammar spell those things infix:sym<foo>
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
jnthn STD sometimes writes them as just infix:foo (which needs expanding to infix:sym<foo> in Rakudo)
Yeah
timotimo roger that, i'll try to make it shiny :) 19:44
jnthn Well, that's what the STD thing is doing, iirc.
timotimo is there a reason to use <?before '->' | '{'> rather than actually match those two in this case? 19:46
jnthn Probably :) 19:47
Maybe to keep the cursor in the right place for error reporting
timotimo oh, yes, it can call O(|%term) at the end. it will not always panic
i don't really understand why it would do that, though. is that like "this spot terminates some structure"? 19:48
jnthn That <O...> looks unreachable to me. 19:53
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
cotto (with git as a fallback)
jnthn timotimo: That'd return from the whole token, though
Not just the curly block
moritz cotto: for rakudo star releases, we bundle nqp and parrot, so no downloading happening 19:56
cotto: and the rest is mostly meant for developers or people who track HEAD 19:57
timotimo oh, ok.
cotto moritz: that sounds like a yes
moritz cotto: HTTP::Tiny is core since perl 5.14, might make sense to use that 19:59
20:00 kivutar joined
cotto moritz: even better 20:01
jnthn Would a shallow clone maybe also be a decent solution? 20:03
20:08 jac50 left
kboga pir -> nqp for tests: github.com/perl6/nqp/pull/80 20:08
20:08 jac50 joined, kivutar left 20:10 mtk left
dalek p: 9fe5009 | (Kristof Bogaerts)++ | t/ (4 files):
pir -> nqp for tests
20:11
p: 289faef | jonathan++ | t/ (4 files):
Merge pull request #80 from kboga/pir-to-nqp-in-tests

pir -> nqp for tests
moritz shouldn't we just give kboga push acccess to nqp? 20:14
jnthn Probably ;) 20:15
kboga: Want a commit bit? ;)
moritz [X] Done 20:16
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.
jnthn *☑ ;) 20:18
timotimo: Well, we can do lineof also...it's done by HLL::Compiler.
cotto: ah...
moritz what's the problem with the current approach? 20:19
cotto moritz: it clones the whole git repo, most of which isn't needed 20:20
(of parrot)
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.
Actually, I suppose you'd just get the history of the branch.
(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.
A shallow clone is fast to download at first, but slow if you want anything other than the tag.
20:22 rindolf left 20:23 mtk joined 20:28 sqirrel left
tadzik whoa, busy day 20:33
FROGGS busy? on a sunday? 20:34
tadzik teh commit log
cotto Does this seem sane: gist.github.com/cotto/5025496
timotimo uiae 20:35
cotto That's just for sanity checking. I'll push to a branch if it looks like the direction.
jnthn cotto: I'd branch it and see what pmichaud++ thinks 20:37
20:37 kivutar joined
benabik Does nqp ever use non-branch/tag? 'cause that would fail. 20:37
moritz yes, it uses individual revisions 20:38
which is why we do fetch and checkout separately
benabik Or at least I think it will fail. I don't _think_ clone supports arbitrary revisions. 20:39
cotto benabik: you seem to be correct 20:40
20:40 pmurias_ joined, pmurias_ left
moritz although it's not always the case, sometimes the complexity of our toolchain does have a reason :-) 20:42
cotto moritz: how common is that use case? 20:44
20:44 hash_table left
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
20:45 uvtc joined 20:48 PacoAir left 21:03 jac50 left
moritz cotto: used to happen all the time, now it's mostly releases. Might change again if parrot moves quicker again 21:04
timotimo as my last thing of the day: this seems fixed: rt.perl.org/rt3/Ticket/Display.html?id=74352 21:05
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␤»
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
*git fetch --depth 1 origin REV 21:10
cotto benabik: that sounds promising 21:12
nope 21:14
the fetch step still fails
dalek p-jvm-prep: 2a4dea6 | jnthn++ | / (4 files):
Implement a few more code object ops.
21:18
p-jvm-prep: bd662c8 | jnthn++ | / (2 files):
nqp::getlexdyn and nqp::bindlexdyn.

Functionality already existed, just wasn't wired to the ops yet.
p-jvm-prep: 730b64a | jnthn++ | lib/QAST/JASTCompiler.nqp:
Fix code-gen bug with defaults.
21:19 am0c joined
benabik Hm, yeah. fetch doesn't accept SHA1s either. 21:19
cotto It's also an option to have different code paths for tags vs straight revisions, but yuck. 21:20
benabik I think disallowing fetching arbitrary SHA1s is a security feature. You can only download things that have been explicitly published. :-/ 21:23
21:24 am0c left
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
or ask
benabik chores &
21:25 kivutar left
timotimo oh, it looks like the rakudo star release announcement links to rakudo 2013.01, is that right? 21:26
nwc10 jnthn: the usual [or maybe not the usual, as the goalposts are still where they were at the start :-)] 21:28
jnthn :) 21:30
21:33 thou left
dalek p: a7d0c1e | jnthn++ | src/NQP/World.pm:
Remove a couple of incorrect parameters.

Probably leftover from porting; nqp-jvm noticed. :-)
21:33
tadzik Useless use of "," in expression "pass, 'first config parsed'" in sink context (line 14) 21:36
whoa, nice
moritz++
21:36 benabik left 21:37 daxim left 21:39 Liz_ joined, Liz_ is now known as lizmat 21:40 zby_home_ left 21:44 kaare_ left 21:50 ObseLeTe left
grondilu rn: package Foo { our $A; our sub f { $A } }; $Foo::A = "bar"; say Foo::f; 21:52
p6eval rakudo b205e6: OUTPUT«(Any)␤»
..niecza v24-24-gbdc3343: OUTPUT«bar␤»
grondilu should I submit a rakudo bug here? 21:53
jnthn grondilu: Pretty sure that one is already in there
grondilu ok 21:54
jnthn bbiab
dalek pan style="color: #395be5">perl6-examples: bd9608f | (L. Grondin)++ | rosalind/README:
[rosalind] fix spelling
22:05
22:06 bbkr left
tadzik is it currently possible to re-use rakudo's levenshtein code in the userspace? 22:18
seen lue 22:20
al<TAB><TAB>
lue tadzik: nope, I haven't. sorry.
tadzik :) 22:21
I see you're doing some good stuff to panda in your fork
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 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\
grondilu rn: say "1 2".words X+ "3 4".words 22:23
p6eval niecza v24-24-gbdc3343: OUTPUT«4 5 5 6␤»
..rakudo b205e6: OUTPUT«␤»
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
p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«2 3␤»
tadzik hm
I don't get it :)
grondilu rn: say "1 2".words Z+ "3 4".words
p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«4 6␤»
tadzik but it's late for me, I may be slow-thinking
grondilu it's only X that fails?!
rn: say "1 2".words Z+ "3 4".words 22:26
p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«4 6␤»
grondilu rn: say "1 2".words X+ "3 4".words
p6eval niecza v24-24-gbdc3343: OUTPUT«4 5 5 6␤»
..rakudo b205e6: OUTPUT«␤»
grondilu go figure
rn: say [+] "1 2".words 22:27
p6eval rakudo b205e6, niecza v24-24-gbdc3343: OUTPUT«3␤»
grondilu yep, only X apparently
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"
(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
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.
lue codes 22:29
tadzik yeah, makes sense 22:31
there is also some weird bug with double dependencies, for example installing Farabi6 installs URI twice
lue tadzik: in my fork or original panda? 22:32
22:33 quester joined
tadzik in the original panda 22:34
22:46 benabik joined 22:52 M_o_C left
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
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␤»
..rakudo b205e6: OUTPUT«␤»
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:57
tadzik yeah, shouldn't 22:58
maybe the dependencies should be tracked, flattened and uniqed as the first action at all
lue It's weird, though. I could swear my code avoids repeat deps 23:01
tadzik yeah, I thought I took care of that too\ 23:04
even Pies should guarantee that, Ithnink
lue maybe the ecosystem isn't setting the state for project-get-state properly ? 23:05
tadzik I dunno
I thought it just ends up twice on the dependency list 23:06
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␤»
..rakudo b205e6: OUTPUT«␤»
23:20 kboga left
jnthn 'night, #perl6 23:24
census good night jnthn! :)
23:26 sepegp left, thundergnat left 23:57 pmurias left