»ö« 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 rowat /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 cclasscurrent 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«123» | ||
..rakudo 80f798: OUTPUT«312» | |||
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 declaredat /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 rowat /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
|