»ö« 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 diakopter on 6 April 2013. |
|||
00:06
kivutar left
00:19
frdmn joined
00:39
BenGoldberg joined
|
|||
dalek | osystem: cb9d862 | (Brent Laabs)++ | META.list: +File::Spec::Case (case-tolerant split from File::Spec) |
01:05 | |
01:05
frdmn left
01:06
FROGGS_ joined
01:10
FROGGS left
01:20
gdey left
01:24
Psyche^ joined
01:26
PacoAir left
01:27
Patterner left,
Psyche^ is now known as Patterner
01:28
gdey joined
02:01
mikess left
02:03
mikess joined
02:43
orafu left
02:44
orafu joined
02:46
preflex_ joined
02:47
preflex left,
preflex_ is now known as preflex
|
|||
BenGoldberg | labster: File::Spec::Case contains a race condition. | 02:49 | |
If two perl6 processes both run at the same time and in the same directory, they both might create a filespec.tmp file. | 02:50 | ||
02:50
rindolf joined
|
|||
BenGoldberg | Even ignoring that one process might die()... | 02:52 | |
02:52
lard joined
|
|||
BenGoldberg | Also possible for one process to unlink the file created by the other process... which could result in one getting a wrong answer from the .tolerant method | 02:52 | |
02:53
shlomif joined
02:54
rindolf left,
shlomif is now known as rindolf
02:59
BenGoldberg left
|
|||
lard | perl6: class foo { multi method bar(:$baz) { say ">",$baz,"<"}}; foo.new.bar(:baz<works>);foo...rp('rakudo runs method even though nothing matches sig')); | 03:12 | |
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«>works<Unhandled exception: Cannot call bar; none of these signatures match: foo, Any :$baz at /tmp/W2hmEFv_In line 1 (mainline @ 9)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300… | ||
..rakudo b5bdbe: OUTPUT«>works<>(Any)<» | |||
lard | oh and same result without multi | 03:13 | |
sent bug report | 03:33 | ||
colomon | lard++ | 03:34 | |
labster | .tell BenGoldberg I am aware that File::Spec::Case sucks, but compared to the Perl 5 version which is always wrong on my computer, it's still an improvement. One of the main reasons I wanted to yank it out of File::Spec is because it's little-used and broken. | 04:02 | |
yoleaux | labster: I'll pass your message to BenGoldberg. | ||
04:19
kaare_ joined
|
|||
labster just now realizes that Perl6 will never run on OSes that only support 8.3 filesystems anyway (CORE.setting) | 04:20 | ||
04:32
rindolf left
|
|||
sorear | s/Perl6/rakudo/ | 04:33 | |
although practically speaking perl 6 will probably never be efficient enough to run on bare DOS | 04:34 | ||
diakopter | why does it need more efficiency there? | 04:39 | |
(or, s/on bare DOS/) | |||
sorear | very tight memory limits | 04:40 | |
diakopter | / | ||
sorear waves hands and vanishes | 04:41 | ||
labster does jazz hands | 04:59 | ||
05:03
arlinius left
05:05
rindolf joined
05:22
camelia joined
05:28
ChanServ sets mode: +o diakopter
05:29
diakopter sets mode: +v camelia,
diakopter sets mode: -v camelia,
diakopter sets mode: -o diakopter
05:31
rindolf left
05:32
rindolf joined
|
|||
diakopter looks at my entries in the evalbot log and rotfl | 05:37 | ||
out of 6502 entries in the log, I made 2587 | 05:42 | ||
er. 6981 entries in the log. | |||
n: say (2587/6502*10000).Int | 05:43 | ||
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«3978» | ||
diakopter | 39.78% | ||
moritz | \o | 05:47 | |
diakopter | morning | ||
05:47
Chillance_ left
|
|||
sorear | what's camelia? | 05:48 | |
diakopter | oh good you're here | 05:49 | |
was going to ask your permission to swap p6eval's nick for that | |||
sorear | i would defer to moritz and/or TimToady | ||
diakopter | oki | ||
moritz: :) | 05:50 | ||
moritz | diakopter: I don't care much either way | ||
so, no objections here | |||
diakopter | anyone know what #rosettacode is? | 05:51 | |
sorear | rosettacode.org | 05:52 | |
diakopter | I mean, I know what the site is, but what's the channel for | ||
moritz | a channel discussing rosettacode? | ||
sorear | diakopter: the channel is about the site | ||
diakopter | ok; I was asking b/c p6eval is in there | ||
05:53
camelia left
05:54
camelia joined
|
|||
diakopter | oops, maybe I shouldn't have given it a password | 05:55 | |
moritz | I'm pretty sure it's possible to add the password to the code somehow | ||
sorear | diakopter: yes, they (mostly TimToady) use perl 6 in there and so they have a p6eval | 05:58 | |
You're just giving the bot a new account, not rewriting it or anything like that? | |||
diakopter | correct | 06:01 | |
06:09
SamuraiJack joined,
p6eval left
|
|||
diakopter | /o\ fail | 06:10 | |
06:10
camelia left,
camelia joined
|
|||
diakopter | r: 'yo' | 06:10 | |
oh heh. | |||
diakopter tries again | 06:11 | ||
camelia | rakudo b5bdbe: ( no output ) | ||
diakopter | wat. | ||
sorear | diakopter: It's just waiting for a chance to speak | ||
that PRIVMSG holding the reply was queued up behind a bunch of JOINs | 06:12 | ||
diakopter | n: "I'm here too" | ||
camelia | niecza v24-37-gf9c8fc2: ( no output ) | ||
diakopter | ah, good to know. | ||
now to actually get it to identify | |||
apparently I didn't realize that $bot->run() was blocking :S | |||
well actually it might be identified; not sure | 06:15 | ||
rn: .say | 06:17 | ||
camelia | rakudo b5bdbe, niecza v24-37-gf9c8fc2: OUTPUT«(Any)» | ||
diakopter | pugs: 'ahoy'.say | ||
camelia | pugs: OUTPUT«ahoy» | ||
diakopter | p6eval: yo | ||
camelia: yo | |||
06:18
ChanServ sets mode: +o diakopter
|
|||
sorear | diakopter: camelia isn't identified | 06:18 | |
you can tell this by /whois camelia /whois sorear | |||
06:19
xinming left
|
|||
sorear | one has 'account : sorear', the other has nothing | 06:19 | |
diakopter | ah ok; thx | 06:20 | |
06:20
xinming joined
|
|||
moritz | diakopter: please make sure to push changes to github | 06:21 | |
diakopter | I'll muddle through it | ||
ops to fix the topic in a sec | |||
moritz | ++diakopter | ||
the topic looks fine to me :-) | |||
diakopter | /msg p6eval | 06:22 | |
eh I'll just override ->join that's close enough | 06:24 | ||
er, chanjoin | 06:25 | ||
superfluous messages to nickserv shouldn't be a problem. ;) | |||
wait. connected is what I want | 06:26 | ||
here goes nothing | 06:31 | ||
06:31
camelia left,
camelia joined
|
|||
diakopter | r: 1 | 06:32 | |
n: ; | |||
camelia | rakudo b5bdbe: ( no output ) | ||
niecza v24-37-gf9c8fc2: ( no output ) | |||
diakopter | *sigh* | 06:33 | |
sub connected { my $bot = shift; $bot->say(name=>'nickserv',channel=>'msg',body=>"identify $bot->{__nickpass}") if exists $bot->{__nickpass}; } | 06:36 | ||
$bot->{__nickpass} = $conf{pass} if exists $conf{pass}; | |||
probably got param to say wrong | |||
argh. | 06:37 | ||
name -> who | |||
06:37
camelia left,
camelia joined
06:38
kingbeast left
|
|||
diakopter | r: ; | 06:38 | |
camelia | rakudo b5bdbe: ( no output ) | ||
diakopter | success. | ||
\o/ | 06:39 | ||
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | 06:39 | ||
06:40
ChanServ sets mode: -o diakopter
|
|||
diakopter | opos | 06:40 | |
.. now to +V it | |||
06:40
ChanServ sets mode: +o diakopter,
diakopter sets mode: +cmi
|
|||
diakopter | urp | 06:41 | |
wth did I do | |||
oh. nothing. | |||
ergh; apparently I don't have perms to /msg chanserv flags #perl6 camelia +V | 06:43 | ||
moritz or sorear? | |||
(would you do it plz) | |||
06:44
diakopter sets mode: -o diakopter
06:46
ChanServ sets mode: +v camelia
06:47
ChanServ sets mode: +o diakopter
|
|||
diakopter | OOPS. fixing | 06:47 | |
06:47
diakopter sets mode: -cmi
|
|||
diakopter | argh. fail... sorry everyone | 06:48 | |
should be okay now | |||
PM me if not.. | |||
r: 2345.2 2 2 | 06:49 | ||
camelia | rakudo b5bdbe: OUTPUT«===SORRY!===Two terms in a rowat /tmp/VFBSEzoN9k:1------> 2345.2 ⏏2 2 expecting any of: postfix infix stopper infix or meta-infix statement end statement modifier statement … | ||
diakopter | camelia: hi | ||
p6eval: help | |||
camelia | diakopter: Usage: <(nqp-jvm|star|pugs|nqp|std|niecza|rakudo|b|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program> | ||
diakopter | heh | ||
06:49
diakopter sets mode: -o diakopter
|
|||
diakopter | test | 06:49 | |
labster | rn: "\c61\c41" #hi camelia | 06:50 | |
camelia | rakudo b5bdbe, niecza v24-37-gf9c8fc2: ( no output ) | ||
labster | rn: say "\c61\c41" # still not a repl, of course | 06:51 | |
camelia | rakudo b5bdbe, niecza v24-37-gf9c8fc2: OUTPUT«=)» | ||
diakopter | .ask sorear would you please /msg chanserv flags #perl6 camelia +V unless moritz_ beat you to it | 06:53 | |
yoleaux | diakopter: I'll pass your message to sorear. | ||
FROGGS_ | diakopter: must be an accident but camelia is not showing 'v5' in the help msg :P | 07:03 | |
07:04
FROGGS_ is now known as FROGGS
|
|||
labster | FROGGS: o/ | 07:06 | |
diakopter | hunh. | 07:07 | |
FROGGS | hi labster | ||
.a hunh | |||
diakopter | v5: ; | ||
07:07
domidumont joined
|
|||
diakopter | FROGGS: oh. you were kidding. | 07:08 | |
FROGGS | *g* | ||
a bit | |||
diakopter | there are plenty of rakudo checkouts there, what's one more... | ||
labster | I cut about 250 lines from File::Spec in the past 3 days -- only 75 of which came from moving case-tolerant to another module -- the rest was refactoring. | 07:10 | |
07:11
kaare_ left
|
|||
FROGGS | diakopter: well, I can change something in the v5-repo, so that an additional rakudo won't be needed | 07:13 | |
07:14
jaldhar left
|
|||
diakopter | o_O | 07:14 | |
FROGGS | v5 just needs to be checked out, made, and the commands from 'v5' must be in its redo directory | ||
v5 is just a module | |||
not pandaable yet though | 07:15 | ||
07:15
dmol1 joined,
jaldhar joined
|
|||
FROGGS | diakopter: I'll fix up v5 later, and give you a batch, okay? | 07:15 | |
diakopter: basically it would be cool if 'r:' would be executed in v5's repository root-dir | 07:18 | ||
because only if you do 'use v5' it would do anything at all | |||
diakopter | ah.' | 07:19 | |
FROGGS | labster++ | ||
labster | I'm starting to think that if IO.pm will depend on File::Spec, it's going to have to be a core module. Unless it's possible to "use File::Spec;" in CORE.setting? | 07:22 | |
moritz | diakopter: done | 07:26 | |
.msg sorear I beat you to it :-) | |||
yoleaux | moritz: Sorry, this command is admin-only. | ||
moritz | .tell sorear I beat you to it :-) | ||
yoleaux | moritz: I'll pass your message to sorear. | ||
07:29
jaldhar left
07:32
berekuk joined
07:34
jaldhar joined
|
|||
diakopter | moritz: I seem to need a git hand-holding | 07:38 | |
07:38
domidumont left
|
|||
moritz | diakopter: what do you need? | 07:38 | |
diakopter | told what to type? | 07:39 | |
07:39
domidumont joined
|
|||
moritz | first, commit all your changes | 07:39 | |
then | |||
git fetch | |||
git format-patch origin/master | 07:40 | ||
that generates a bunch of 000\d-\S+.patch files | |||
copy them over to your local machine | |||
diakopter | O)O | ||
moritz | there do a git am -s 000* | ||
and then push | |||
07:41
domidumont left,
domidumont joined
|
|||
diakopter | hrm, probably shouldn't push the password | 07:43 | |
moritz | probably not :-) | 07:44 | |
diakopter | ah well, someone else probably will later anyway | 07:46 | |
07:46
ChanServ sets mode: +o sorear,
sorear sets mode: -o sorear
07:47
domidumont left,
domidumont joined
|
|||
timotimo | in the optimizer, would i have to find_lexical("Signature") to access the $!params of a Signature? i would assume if Signature was redeclared lexically, i'd still get the Signature from core there, right? but just writing Signature instead doesn't seem to work. | 07:51 | |
07:52
dmol1 left
|
|||
sorear | if you do find_lexical("Signature"), make sure you start the search from the correct place so you get CORE::Signature and not COMPILING::Signature | 07:53 | |
yoleaux | 06:53Z <diakopter> sorear: would you please /msg chanserv flags #perl6 camelia +V unless moritz_ beat you to it | ||
07:26Z <moritz> sorear: I beat you to it :-) | |||
sorear | we've hit many versions of that bug across 2(+?) compilers | ||
timotimo | hehe :) | 07:55 | |
at least this time the compilation pulls through | |||
isn't that something. | |||
labster | which seems more idiomatic: ~self, self.Str, or $.Str ? | 07:56 | |
sorear | ~self | ||
dukeleto votes ~self too | 07:57 | ||
timotimo | $.Str isn't correct most of the time, no? | ||
dalek | albot: d31c208 | diakopter++ | evalbot.pl: nqp-jvm target Signed-off-by: diakopter [email@hidden.address] |
07:59 | |
albot: 692b905 | (Perl 6 Evalbot)++ | / (2 files): use camelia account instead Signed-off-by: diakopter [email@hidden.address] |
|||
diakopter | meh | ||
07:59
jaldhar left
|
|||
diakopter | hunh. where'd that first commit come from | 07:59 | |
08:00
lizmat joined,
berekuk left
|
|||
diakopter | argh. | 08:00 | |
timotimo | hehe | ||
labster | even the evalbot is excited about the jvm, committing to it. | ||
timotimo | :D | 08:02 | |
diakopter | moritz: where do I commit the build-script | 08:03 | |
or does that just live there | |||
timotimo | i wonder if rakudo would benefit from an optimizer in nqp? | 08:05 | |
08:09
berekuk joined
|
|||
moritz | diakopter: there's a subdir for build scripts in the p6eval repo | 08:10 | |
cognominal | timotimo: or the plan is maybe to eventually compile rakudo in rakudo? | ||
s/in/with/ | 08:11 | ||
timotimo | i'm not sure how to start my search at the CORE block; the previous code to see if some lexical comes from the core is just to look if there's a !CORE_MARKER in it ... | ||
oh, i suppose i can just walk the block chain for a !CORE_MARKER to exist | |||
and then just save that away | |||
08:21
kaare_ joined,
crab2313 joined
08:22
frdmn joined
|
|||
moritz | timotimo: rakudo would benefit from an nqp-level optimizer | 08:22 | |
for build times, and also because Actions, Grammar and World are written in NQP | 08:23 | ||
and the meta model | |||
08:23
berekuk left
08:26
domidumont left
08:27
arlinius joined
|
|||
timotimo | mhm | 08:29 | |
especially all those negative numbers having to be make-int + negate-int :P | |||
moritz | wwwhat? | ||
timotimo | is the prefix:<-> operator already inlined for nqp? | 08:30 | |
moritz | a -1 in nqp produces a QAST::IVal.new(:value(-1)) | 08:31 | |
so no separate call to nqp::neg_i or so | |||
timotimo | ah, that's nice. | 08:33 | |
i seem to recall in rakudo it used to be non-inlined, but that must be because you can override - in rakudo but not in nqp? | |||
moritz | iirc jnthn++ improved the codegen a bit when he introduced PIRT | 08:34 | |
timotimo: probably | |||
timotimo | what is PIRT? | ||
moritz | the stage after QAST | 08:35 | |
$ ./perl6 --target=optimize -e 'say -1' > optimized | 08:36 | ||
$ ./perl6 --target=ast -e 'say -1' > naive | |||
$ diff -u naive optimized | |||
08:37
ivan`` left
|
|||
moritz | shows that the call is constant-folded, but that we lose the polymorphism of the integer literal | 08:37 | |
08:37
tgt joined
|
|||
moritz | if somebody is looking for a fun little project in the optimizer, that would be a nice thing to fix | 08:38 | |
timotimo | oh, i know it by the name "optimizer" ;) | 08:39 | |
hm, what's the use in getting that back? | |||
08:40
berekuk joined
|
|||
moritz | if you write code like my int $x = 42; my int $y = -1 * $x | 08:40 | |
then since the -1 is currently not an int, but rather an Int, it'll used the infix:<*>(Int, Int) candidate instead of infix:<*>(int, int) | |||
the latter would be more efficient | 08:41 | ||
timotimo | oh, so it doesn't create a Want node? | ||
moritz | correct | ||
it just creates a bare QAST::WVal node | 08:42 | ||
timotimo | so if the optimizer creates a WVal with an Int in it, it could then optionally/optimally create an int from that Int, and turn that WVal into a Want | 08:43 | |
does the Want contain a WVal for the Int still? | |||
moritz | yes | 08:45 | |
timotimo just looks by themself | |||
oh. neat. so the WVal node can still be reused | |||
can the same thing be done with strings? is there a Str vs str? | |||
moritz | it should trans form the QAST::WVal(Int) into a QAST::Want(QAst::WVal(Int), 'Ii', QAST::Ival(unboxed Int)) | ||
yes, Int, Str and Num | |||
timotimo | unboxing ints works how? i thought p6decont would do that, but it seems that op isn't available in Optimizer.pm, so maybe only in the Setting? | 08:47 | |
sorear | nqp::unbox_{ins} mayb | 08:48 | |
moritz | nqp::unbox_i($value) | ||
timotimo: containers and boxing are mostly orthogonal | |||
timotimo | ah, i think i can implement this now :) | ||
moritz | ++timotimo | ||
sorear | if you have a (pseudocode) Scalar[Int[int]], p6decont gives you the Int, unbox_i gives you the int | ||
timotimo | ah, so the container thing is $i vs \i, the boxing is Int vs int, is that about accurate? | ||
sorear | rooooooughly | 08:49 | |
moritz | the problem is that \i doesn't remove the container, it just preserve it | ||
whereas unboxing always removes the box | |||
timotimo | ah, ok. | 08:50 | |
sorear | Every value you can touch in perl 6 logically has a container | ||
timotimo | i'll have to fix my junction fail first, which is kind of a back-and-forth with not really knowing how nqp does things and taking 3 minutes to compile and getting distracted | ||
sorear | in nqp, you get to choose between bare values and containers, and can use p6decont to switch between them | ||
(this is complicated by an optimization: when perl 6 sees a bare value, it imagines a read-only container. this lets us avoid allocating well over half of the containers that are logically needed) | 08:51 | ||
moritz | sorear: does a literal "logically" have a container? | 08:52 | |
sorear | moritz: i would say so | ||
moritz | sorear: why? | ||
sorear | because you can do "foo".flip and the literal's container needs to be passed to the string method | 08:53 | |
timotimo | ah, that's a good point | 08:54 | |
moritz | a method call doesn't need a container | ||
at least not in my world view | 08:55 | ||
sorear | your world view made no sense until I learned to understand it as an internalized optimization of mine | ||
moritz | one could say that "everything has a container, but they can often be optimized away" is roughly equivalent to "not everything has a container, but certain operations vivify them" | ||
sorear | yes, there are two possible ontologies there | 08:56 | |
and since they are observationally equivalent I am going to avoid any possible useless debate and sleep& | 08:57 | ||
GlitchMr | std: sub double { my $val = shift; $val * 2 } | 08:58 | |
camelia | std 86b102f: OUTPUT«ok 00:00 44m» | ||
GlitchMr | rn: sub double { my $val = shift; $val * 2 } | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties: &double is declared but not used at /tmp/f5ETy32uyi line 1:------> sub double ⏏{ my $val = shift; $val * 2 }» | ||
..rakudo b5bdbe: OUTPUT«===SORRY!===CHECK FAILED:Calling proto of 'shift' will never work with no arguments (line 1) Expected: :()» | |||
timotimo | good night sorear :) | ||
GlitchMr | rn: sub double { my $val = shift; $val * 2 }; say double 42 | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: No value for parameter '@array' in 'shift' at /home/p6eval/niecza/lib/CORE.setting line 0 (shift @ 1)  at /tmp/X8fBhvM8G5 line 1 (double @ 4)  at /tmp/X8fBhvM8G5 line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting li… | ||
..rakudo b5bdbe: OUTPUT«===SORRY!===CHECK FAILED:Calling proto of 'shift' will never work with no arguments (line 1) Expected: :()Calling 'double' will never work with argument types (int) (lines 1, 1) Expected: :()» | |||
08:59
tgt left
|
|||
timotimo | oh, so shift is specced to use CALLER::@_ if it has no arguments? | 08:59 | |
moritz | you mean in p5? | 09:00 | |
lizmat | in p5, a bare shift operates on @ARGV in main::, no? | 09:01 | |
09:01
ivan`` joined
|
|||
moritz | lizmat: outside of any functions (which isn't quite the same as in main::) | 09:01 | |
*function | |||
lizmat | ack | ||
wasn't sure what the conditional was | 09:02 | ||
09:02
dmol1 joined
|
|||
timotimo | i *think* my optimization code is now ready to be pushed, but i'll add some spectests and run a full spectest run in the mean time. | 09:03 | |
actually, i should start up my beefy desktop for this now. | |||
"inspecting &infix:<ne> for junction optimization" "a parameter doesn't accept Any" sounds promising already :) | 09:04 | ||
09:05
tgt joined
|
|||
jnthn | r: perl6: class foo { multi method bar(:$baz) { say ">",$baz,"<"}}; foo.new.bar(:baz<works>);foo...rp('rakudo runs method even though nothing matches sig')); | 09:05 | |
camelia | rakudo b5bdbe: OUTPUT«===SORRY!===Two terms in a rowat /tmp/c5NcsfjbbJ:1------> perl6⏏: class foo { multi method bar(:$baz) {  expecting any of: argument list postfix infix stopper infix or meta-infix st… | ||
jnthn | perl6: class foo { multi method bar(:$baz) { say ">",$baz,"<"}}; foo.new.bar(:baz<works>);foo...rp('rakudo runs method even though nothing matches sig')); | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«>works<Unhandled exception: Cannot call bar; none of these signatures match: foo, Any :$baz at /tmp/b1IH8bi9y2 line 1 (mainline @ 9)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300… | ||
..rakudo b5bdbe: OUTPUT«>works<>(Any)<» | |||
jnthn | Rakduo is correct here. | 09:06 | |
See S12, interface consistency. | |||
moritz | jnthn: I've already rejected the ticket, with a link to S12/Interface Consistency/ :-) | ||
jnthn | Oh, that's why I can't find the RT ticket :) | ||
moritz++ | 09:07 | ||
My next question was going to be "where was it filed" ;) | |||
moritz | jnthn: if you read the mail, you have the ticket number, which you can just paste into the rt search box -> instant search victory :-) | ||
jnthn | Yes, I didn't see it in my email either, for some reason. | 09:08 | |
moritz | now that you mention it: me neither | 09:09 | |
dalek | ast: 81449cb | (Timo Paulssen)++ | S03-junctions/boolean-context.t: tests for RT #117579. |
09:15 | |
timotimo spectests | |||
moritz | .u ಠ | ||
yoleaux | U+0CA0 KANNADA LETTER TTHA [Lo] (ಠ) | ||
moritz | .u ಠ | 09:16 | |
yoleaux | U+0CA0 KANNADA LETTER TTHA [Lo] (ಠ) | ||
GlitchMr | > PRE ; | 09:20 | |
Segmentation fault | |||
That was strange | |||
No idea what causes it, but I could upload entire REPL session I had | |||
gist.github.com/GlitchMr/5382064 | |||
Sorry for large session, but I don't know why it happens. | 09:21 | ||
timotimo | pull requested. | 09:22 | |
GlitchMr | It couldn't reproduce it | 09:23 | |
Strange... | |||
moritz | timotimo: spectesting your pull request | 09:26 | |
timotimo | thank you :) | ||
moritz: how much do you think will the optimization to turn WVal into Want in the optimizer give in performance? surely it could give a bit of a boost in long arithmetic expressions? | 09:28 | ||
moritz | timotimo: it'll only help where native types are used in tight loops | ||
and there are operators with native types to dispatch to | 09:29 | ||
jnthn | Need to be careful about optimizations with natives also. | ||
Two things that fit into an int being multiplied together or added, for example, can easily give something in big int range that must be an Int. | 09:30 | ||
So with literals we have to be careful. We used to have bugs where 123456 * 123456 or so would come out negative 'cus it used int * int | |||
masak | good forenoon, #perl6 | 09:31 | |
moritz | good UGT morning, masak | ||
jnthn | The current state is that there should be at least one non-literal thing that is known to be an int, iirc. I'm pretty sure there's a comment somewhere in Optimizer.pm that explains it... :) | ||
good omg-you-got-up-before-afternoon, masak | |||
moritz | *g* | ||
diakopter | jnthn: are you saying that two variables declared as ints don't do int32/64 arithmetic? | 09:32 | |
moritz | jnthn: I don't think that problem is immediately relevant to the thing timotimo and I are trying to do | ||
09:32
woolfy joined
|
|||
jnthn | diakopter: Two *variables* will | 09:33 | |
moritz | hm, or maybe it is | ||
jnthn | diakopter: The rule is about literals. | ||
diakopter | oh. | ||
jnthn | moritz: It was a comment from reading backlog. :) | ||
moritz | jnthn: yes, I figured :-) | ||
diakopter | so.. just put your literal into a variable.... :P | ||
diakopter ducks | |||
timotimo | jnthn: github.com/rakudo/rakudo/blob/nom/...er.pm#L341 - i think i'm looking at the right spot here? | ||
jnthn | timotimo: The bit I was talking about is at github.com/rakudo/rakudo/blob/nom/...er.pm#L537 | 09:34 | |
moritz | timotimo: that was the part I was talking about, yes | 09:35 | |
timotimo | i'm not exactly sure how those interplay | ||
09:35
SamuraiJack left
|
|||
moritz | probably not much | 09:35 | |
09:36
berekuk left
|
|||
timotimo | right. but i will still have to check that the Int would actually fit into an int, yes? is there something in nqp already that does that? | 09:36 | |
moritz | nqp::isbig iirc | ||
nqp::isbig_I | |||
jnthn | I thought for literals we were already emitting a QAST::Want when the thing isn't big. | ||
timotimo | maybe for literals, but not for compile-time-evaluated things | ||
moritz | jnthn: yes, but not for the result of constant folding stuff | ||
jnthn | Oh! | 09:37 | |
OK, I see :) | |||
timotimo | we're talking about things like -5 and friends | ||
jnthn | Ah, which we ain't folding today? | ||
moritz | we are | ||
timotimo | it's folding all right | ||
but not into a Want | |||
moritz | but the result is just a QAST::WVal | ||
jnthn | OK. | ||
moritz | not a QAST::Want(WVal, 'Ii', IVal) | ||
jnthn | *nod* | ||
timotimo | do you think it's worth investing in, jnthn? | 09:38 | |
jnthn | Well, need to be careful, - can apply to many things. | ||
So need to check the type of the exact value | |||
timotimo: Yes, almost certainly | |||
09:38
berekuk joined
|
|||
timotimo | yes, i was going to see if the return value is an Int and if it's not nqp::isbig_I, i'll create an int from it using nqp::unbox_I | 09:38 | |
jnthn | timotimo: Just like all things optimizer, tread carefully; it's easy to get wronger as well as faster :) | ||
timotimo | unbox_i actually | 09:39 | |
jnthn | timotimo: unbox_i, but yes. | ||
timotimo: You could also check if it's a Num, fwiw. | |||
Those can become a Want with an NVal too | |||
timotimo | sure, but i wanted to start small ;) | ||
jnthn | .oO( a small task...involving nqp::isbig :P ) |
||
Have any of the folks here going to YAPC::EU made travel plans, ooc? | 09:40 | ||
timotimo | nqp::isa($return_val, Int), will that work? or will i have to use $!SETTING.symbol("Int")<value>? | ||
jnthn | nqp::istype | ||
Oh, you'll need to look up Int | |||
jnthn probably won't be able to stay and hack *after* YAPC::EU. | 09:41 | ||
Before, however, is do-able. I'll certainly be at the Perl 6 hackathon, especially as it has my name of it :) | 09:42 | ||
lizmat | how much before? | ||
fwiw,. we still haven't decided to either drive or fly | |||
moritz isn't sure he'll make it to YAPC::EU at all | |||
my wife just got a new aortic valve, and I won't be able to travel before her complete recovery | 09:43 | ||
though if I'll make it, my employer will pay for it :-) | |||
jnthn | lizmat: Well, the hackathon is the Sunday before YAPC::EU. If there's a reason to, I can be about on the Saturday also, for example. | ||
timotimo | moritz: she's a cyborg! :D | 09:44 | |
jnthn | moritz: Best wishes for the recovery. | ||
lizmat | best wishes, moritz! | ||
moritz | thanks jnthn, lizmat | ||
timotimo | best wishes from me, too :) | 09:45 | |
masak | fourthed. | 09:46 | |
best wishes. | |||
moritz | timotimo: she is, but not because of the valve (that's "tissue engineered" from a human aortic valve, which means that the cells were removed to reduce the risk of rejection) | ||
thanks timotimo, masak | |||
timotimo | oooh, that's even cooler | 09:47 | |
(but not cool in the way that it had to be done ... er) | 09:48 | ||
moritz | yes, it's the best option that exists today, and still experimental, and thus only done in one hospital in .de | ||
(afaict) | |||
timotimo | wow. I hope it'll turn out good! both for your wife and everyone in the future to need a similar procedure | 09:49 | |
moritz | her blood pressure, which was notoriously low, is quite normal, which is a good sign | 09:50 | |
09:50
crab2313 left
|
|||
masak | \o/ | 09:57 | |
timotimo | hm. i think the speed benefit of the Int -> Want optimization would be visible by comparing code that uses negative numbers and code that uses positive numbers, does that sound accurate? | ||
09:58
berekuk left
09:59
FROGGS[mobile] joined
|
|||
moritz | masak: how's the t2 review coming along? :-) | 10:01 | |
timotimo: well, you could just compare before and after | |||
timotimo | i surely could. | ||
but i'll have to wait until i come up with a working solution ;) | |||
at the moment it seems my code is being called in a position where the block chain doesn't reach the SETTING or something. | 10:02 | ||
which makes sense, given that it occurs during compiling the setting :D | |||
diakopter | masak: watch | 10:04 | |
rn: "hi I'm Camelia!".say | |||
camelia | rakudo b5bdbe, niecza v24-37-gf9c8fc2: OUTPUT«hi I'm Camelia!» | ||
timotimo | if you're currently working on the evalbot, could you perhaps teach it to mention the nickname of the person who asked for the eval? | 10:05 | |
(maybe only if two requests by different people have been sent in close proximity?) | |||
10:05
cognominal left,
cognominal joined
|
|||
timotimo | huh. it doesn't seem like prefix:<-> is even inlined normally?! | 10:09 | |
10:10
bakedb_ left,
bakedb joined
|
|||
timotimo | oh, it won't be if i set --target=ast | 10:11 | |
dalek | p/jvm-support: 4c7ee83 | jnthn++ | / (19 files): Move stage0 into src/parrot/vm/. The stage0 is inherently platform specific, since it's generated code. |
10:13 | |
p/jvm-support: 9f25f51 | jnthn++ | t (16 files): Segregate Parrot-specific tests. |
|||
10:14
berekuk joined
10:19
domidumont joined
|
|||
timotimo | is SETTING the right place to look for Int? | 10:20 | |
nwc10 | breaks on my machine: | 10:24 | |
Stage start : 0.000get_pmc_keyed() not implemented in class 'Sub' | |||
diakopter | nwc10: I think I saw that in a bug report a couple weeks ago | ||
jnthn | nwc10: What breaks, exactly? | 10:25 | |
nwc10: Rakudo with...? | |||
10:26
berekuk left
|
|||
nwc10 | Rakudo with nqp at origin/master | 10:26 | |
jnthn | ah | ||
nwc10 | nqp at d46b46539aa380b933e6a38c4813ec9d6a7b3f05 | ||
jnthn | Will look in a bit, but not a big deal since NQP_REVISION points to a working thing. | 10:27 | |
nwc10 | rakudo at b5bdbe459f2f3a2570979340faf6fa71d18e711a | ||
ah OK | |||
I'll test at NQP_REVISION now | |||
timotimo | forgot to call .new on QAST::Want ... m( | 10:28 | |
10:29
berekuk joined
10:36
SamuraiJack joined
|
|||
timotimo | paste.ee/p/SfdoH - what could i have done wrong? this confuses me. | 10:38 | |
jnthn | timotimo: Probably got something that's not a QAST node inside a QAST node. | 10:39 | |
Did you forget to put an integer inside a QAST::IVal for example? | |||
timotimo | oh, i forgot to create an IVal around the integer i created! | ||
10:41
berekuk left
10:42
SamuraiJack left
10:44
SamuraiJack joined
|
|||
timotimo | great. now it works! do i give IVal a :named or something so that the right number shows up in the qast dump? right now it says "IVal(0) - -5" | 10:48 | |
moritz: does the spectest of my branch really take hours on your machine? poor you! ;) | 10:50 | ||
jnthn | Sounds like just a dumping issue | ||
dalek | p-jvm-prep: f073947 | jnthn++ | / (3 files): Package NQP runtime into a JAR. Preferable to having dozens of .class files to load. |
||
timotimo | i think i used the IVal constructor wrong | 10:51 | |
jnthn | QAST::IVal.new( :value(5) ) | ||
10:51
SamuraiJack left
|
|||
timotimo | yes, i passed 5 as the first positional | 10:51 | |
10:51
SamuraiJack_ joined
|
|||
timotimo | it's compiling the fixed version now | 10:51 | |
great. it even bails out correctly if the int is too big | 10:54 | ||
FROGGS[mobile] | timotimo: what are you up to? | 10:58 | |
timotimo | FROGGS[mobile]: when an inlined thing (like -5) returns an Int, the optimizer will now create a Want for it with an unboxed int in it as well as the WVal Int | 10:59 | |
next thing i'll do is the same thing with Num, and then with Str. | |||
FROGGS[mobile] | and that is good? | 11:03 | |
timotimo | it will hopefully cause more operations in tight loops and such to run with native values instead of boxed values | 11:04 | |
tadzik | the release is to be in 4 days, do we have a volunteer? | 11:05 | |
FROGGS[mobile] | timotimo: so ideally this would only run for loops? | 11:06 | |
timotimo | no, it will always run. there's no big overhead | 11:07 | |
(at least that's what i guess!) | |||
11:07
snuffles joined
|
|||
timotimo | it's just a little thing, i don't see where it makes a big difference in performance yet, but moritz suggested it and it seemed simple enough to do | 11:08 | |
FROGGS[mobile] | cool | ||
jnthn | tadzik: not yet, afaik | 11:09 | |
tadzik looks around | |||
timotimo | if nobody speaks up, i may try | 11:10 | |
FROGGS[mobile] | there is somebody | 11:11 | |
was it gtodd? | |||
the ir-clogs will tell | |||
timotimo | unfortunately my changes seem to lead to spectest failures | 11:12 | |
heh, what a silly mistake | 11:17 | ||
11:24
rindolf left
|
|||
FROGGS | timotimo: do you run benchmarks? | 11:25 | |
timotimo | spectests first ;) | ||
i didn't come up with benchmarks for this yet | |||
FROGGS | would be cool if [Coke]++ 's toolchain would track performance over time too | ||
11:25
tgt left
|
|||
timotimo | it would :) | 11:26 | |
FROGGS | hmmm, but benchmarking the changing test files is not the best idea... | 11:27 | |
there was a p5/p6 benchmarking repo somewhere... | |||
nwc10 | jnthn: Rakudo head passes tests with its NQP_REVISION | 11:28 | |
(this network is low) | |||
dalek | kudo/nom: 452a072 | jnthn++ | / (3 files): Updates to run on latest NQP. |
||
jnthn | ...what timing :) | 11:29 | |
FROGGS | jnthn: do you know if this is intended to work? require "plan-script-that-declares-sub-x.pl"; x(42) | ||
jnthn: since x() is looked up before runtime... | |||
jnthn | FROGGS: That won't (shouldn't) work. | ||
FROGGS | good | ||
nwc10 | OK, I'll test that now... :-) | 11:30 | |
jnthn | You'll get a CHECK time error saying x aint' declared. | ||
moritz | but require $path <&x>; x() should work | ||
FROGGS | right, just wanted to know if it is by spec | ||
jnthn realized that NQP JVM has been hobbling along without a multi-dispatch cache all this time... | |||
FROGGS | because you can do that in p5 | ||
dalek | kudo/nom: 5122e2e | (Timo Paulssen)++ | src/Perl6/Optimizer.pm: no longer compile-time-autothread operators that take Mu args. This caused problems with the ne and !== operators, which handle junctions manually, but also with any user-defined operator that takes a Mu argument. |
||
moritz | timotimo: sorry, I thought I had pushed earlier | 11:31 | |
timotimo | no problem :) | ||
nwc10 | jnthn: will adding that make some things faster, or many things faster? | ||
moritz | multi dispatches, I think :-) | 11:32 | |
timotimo | paste.ee/p/RnYLj # ...the hell? | 11:33 | |
moritz | timotimo: the BUILD call looks all wrong to me | 11:34 | |
jnthn | nwc10: It'll make multi-dispatches faster | ||
moritz | timotimo: BUILD is only called with named args, normally | ||
jnthn | nwc10: But since QAST compilation is LOADS of multi-dispatches (one per QAST node) it'll speed those up. | ||
moritz | (by bless, that is) | ||
timotimo | moritz: how come it only fails when my optimization is turned on and otherwise never noticed?! | ||
oh, there's a custom BUILD there, too | 11:35 | ||
it takes positional args | |||
moritz | huh. | ||
timotimo: what code triggers it? | 11:36 | ||
timotimo | oh, i forgot to paste it | ||
the code is just my %h = a => 1, b => -2, c => 5; or something similar | |||
is it because i fail to move the SpecialArg thing outwards into the Want? | 11:37 | ||
(i don't even know what that is) | |||
moritz | what about just my $ = (a => $b) ? | ||
does that also fail? | |||
arnsholt | jnthn: Right. So NQP/JVM without cache was faster than Parrot with cache? That's promising =) | 11:38 | |
timotimo | moritz: no, that works (when i set my $b = -5 for example) | ||
moritz | timotimo: seems that SpecialArg is related to named arguments | ||
timotimo: you have to do something like | |||
if $original_op.named { $new_op.named($original_op.named) } or something along the lines | 11:39 | ||
arnsholt | Unrelated, I sort of wish mrhdias would drop by here for help | ||
timotimo | ah, that's what that is for! | ||
arnsholt | Some of his bug reports aren't really bug reports | ||
moritz | because we represent named arguments not by pairs, but by a .named or .name or so property in the QAST nodes that represent the arguments | ||
moritz afk | 11:40 | ||
timotimo | do i need to remove the $wval.named if i create a Want from it? | ||
11:43
drbean left
11:45
drbean joined
|
|||
dalek | p-jvm-prep: 1dbb570 | jnthn++ | src/org/perl6/nqp/ (6 files): Implement multi-dispatch cache. While selftest is dominated by startup time, this does shave around 8% off the time to run it. |
11:50 | |
p-jvm-prep: 7a47938 | jnthn++ | .gitignore: Update .gitignore. |
|||
nwc10 | jnthn: Rakudo works on my machine again | 11:51 | |
jnthn | \o/ | ||
nwc10 | I see the that the gooalposts just moved again | ||
jnthn | arnsholt: Yeah, but startup time is pretty high. | 11:52 | |
arnsholt | Yeah, that's always gonna be a problem on the JVM, I guess | 11:54 | |
jnthn: Did you see Zavolaj #25, BTW? | 11:56 | ||
(Which isn't really a bug) | |||
jnthn | arnsholt: Yeah. Without looking further, I don't know exactly where the bottleneck lies | 11:57 | |
arnsholt | I suspect it's just expecting an iteration over all the pixels in an image, using Perl 6, to be fast | 11:58 | |
timotimo | :( | 11:59 | |
jnthn | arnsholt: Which, with Rakudo at present, it won't be | 12:00 | |
arnsholt | Exactly | ||
I'm gonna suggest that he uses perl6 --profile to see where the bottleneck is | |||
timotimo | i wonder if he would get better performance with native ints? | 12:01 | |
if the process takes 14 minutes, every bit of improvement in the tight loop would be a nice improvement i bet! | |||
arnsholt | Yeah, that's not a bad idea actually | 12:02 | |
timotimo doesn't have the necessary tuit right now | 12:03 | ||
12:03
PacoAir joined
12:07
dmol1 left
|
|||
timotimo | i'm getting "get_boxed_ref could not unbox for the given representation" and i don't really know what's going wrong | 12:10 | |
12:12
woosley joined
|
|||
jnthn | Sounds like some kind of Int mess-up | 12:14 | |
Or potentially a NativeCall thing since I think it also uses that | |||
timotimo | might not be int; i added NVal and SVal, too | ||
jnthn | Yeah, but only the bigint ops use get_boxed_ref to unpack the libtommath big integer out of the P6opaque Int. | 12:15 | |
timotimo | oh, ok | ||
jnthn | You may have got an Int where an Int ain't meant to be or something | ||
FROGGS | jnthn: there is still seomthing missing when doing require PATH: GLOBALish:: tells me there is a key 'InnerModule', but I cant access GLOBALish::InnerModule:: and not ::('InnerModule') | ||
timotimo | this happens in the minmax.rakudo test | ||
jnthn | FROGGS: It should be GLOBAL::InnerModule | 12:16 | |
timotimo | indeed, it's int that is at fault. | ||
strange! | |||
jnthn | Maybe int/Int confusion? | 12:17 | |
FROGGS | jnthn: okay, that tells me these is an EXPORT in it... but I can't access a sub declared in that module... I'll paste something in a bit | 12:18 | |
jnthn | FROGGS: Did you make the sub "our"? | 12:19 | |
FROGGS: Or "is export" it? | |||
timotimo | oh. should i put an optimization level limit on the WVal -> Want thing? | ||
12:19
crab2313 joined
12:21
tgt joined
|
|||
FROGGS | jnthn: is exportr | 12:22 | |
-r | |||
timotimo | jnthn: say 1 min 2; will cause this problem to crop up; i'm out of ideas now. want to see the current code? | ||
12:23
tgt left
|
|||
jnthn | FROGGS: Then it will be in EXPORT DEFAULT | 12:23 | |
(Inside of your module) | |||
timotimo | github.com/timo/rakudo/compare/wval_to_want | 12:24 | |
i'll be afk for ~30 minutes | 12:25 | ||
dalek | p/jvm-support: 811d92c | jnthn++ | / (3 files): We'll need a Makefile per backend. |
||
p/jvm-support: 7c34883 | jnthn++ | / (2 files): Stub ConfigureJVM.pl and Makefile-JVM.in. |
|||
colomon | moritz: ping? | 12:26 | |
jnthn | timotimo: I wonder if isbig_I doesn't decontainerize...to check, try !nqp::isbig_I(nqp::decont($ret_value)) | 12:32 | |
arnsholt | bigint_I doesn't decontainerize. It calls get_bigint directly on its operand | 12:34 | |
jnthn | ah, then that may be it. | 12:35 | |
gtodd | what sorts of machine are most people using while developing rakudo / parrot / perl6 ... typical wintel (mabye running linux) and/or mac laptops or do folks make heavy use of cloud instances virtualized hosts of all sorts ? | ||
12:36
PacoAir left
|
|||
arnsholt | I used a MBP for a while, but now I'm mostly using a Dell laptop running linux | 12:36 | |
I do the occasional bit of work on my work desktop machine as well | 12:37 | ||
gtodd | ok ... I run it on a slightly beefier than typical (4 core 32g ram) workstation ... and rakudo/parrot seem to have predictable or consistent areas of slowness but are certainly usable | ||
12:38
jaldhar joined
|
|||
gtodd | heheh like p6doc is 1000% slower than perldoc :-) | 12:38 | |
12:39
PacoAir joined
|
|||
FROGGS | jnthn: say GLOBAL::InnerModule::EXPORT::DEFAULT:: gives me ("\&foo" => sub foo() { ... }, "\&bar" => sub bar() { ... }).hash | 12:40 | |
jnthn: but say GLOBAL::InnerModule::EXPORT::DEFAULT::bar gives me: Could not find symbol 'bar' | |||
12:42
cognominal left,
BenGoldberg joined
|
|||
FROGGS | is it possible that the symbols arn't imported because it tries to import from the modulename which is a path in this case? | 12:44 | |
will look now what Perl6::ModuleLoader::merge_globals does | 12:46 | ||
timotimo | jnthn, arnsholt: thanks. compiling and spectesting one more time | 12:48 | |
jnthn | FROGGS: Does GLOBAL::InnerModule::EXPORT::DEFAULT::<&bar> work? | ||
12:53
jaldhar left
|
|||
FROGGS | jnthn: that works... | 12:54 | |
not very intuitive though | |||
jnthn | FROGGS: Well, it shows the problem is not the global merge though, as the symbol is there | 12:56 | |
12:56
jaldhar joined
|
|||
timotimo | hooray! all spectests succeed now! :) | 12:56 | |
i'll fix up the branch and pullrequest it :) | |||
FROGGS | soo, atm ::('InnerModule') gives me the InnerModule, while ::('InnerModule')::('&bar') doesn't give me &bar... | 13:04 | |
I dont really understand how require Fancy::Utilities; Fancy::Utilities::lolgreet('me') is working though | 13:06 | ||
I'd expect to see some declaration of that modulename while it gets parsed... but there is nothing like that | 13:07 | ||
nwc10 | jnthn: make nqptest fails on my machine | 13:12 | |
a lot of Method 'compunit_mainline' not found for invocant of class 'HLL::Backend::JVM' | |||
test and selftest pass | 13:13 | ||
timotimo | pull request'd | 13:15 | |
nwc10 | apparently we have to go the beach, so afk | ||
13:16
rindolf joined
|
|||
rindolf | Hi all. | 13:16 | |
timotimo | hey rindolf | ||
rindolf | What copyright notice should I put at the top of every source file to indicate that it is licensed under Artistic 2.0. | 13:17 | |
timotimo: hi, what's up? | |||
13:17
domidumont left
|
|||
FROGGS | rindolf: you might want to google for proper patterns | 13:18 | |
rindolf | FROGGS: couldn't find those off hand. | ||
FROGGS: and there's also DuckDuckGo. | 13:19 | ||
The Rakudo and Parrot source codes do not appear to contain them - quite sloppy. | |||
timotimo | rindolf: nothing much, I'm screwing around with the optimizer again after i made a pretty grave mistake last time | ||
rindolf | timotimo: ah, OK, nice. | 13:20 | |
timotimo | can't tell if there'll be any noticable performance improvement this time around | 13:21 | |
github.com/rakudo/rakudo/pull/125 - ready to spectest&merge | 13:22 | ||
13:23
baest left,
roll joined
|
|||
rindolf | Found something here: search.cpan.org/~ajkald/Config-TOML...ig/TOML.pm | 13:30 | |
timotimo | moritz or jnthn, can you intuit what kind of code would get faster by the WVal -> Want transformation? | 13:39 | |
13:40
wooden left
|
|||
timotimo | writing an arithmetic expression seems to speed up with my changes applied, which is nice (1.35 to 1.12 seconds) | 13:40 | |
uh | 13:42 | ||
r: my Num $num = 1.0; | |||
camelia | rakudo 5122e2: OUTPUT«Type check failed in assignment to '$num'; expected 'Num' but got 'Rat' in block at /tmp/T65qBjjDE5:1» | ||
jnthn | 1.0 is a Rat in Perl 6 | ||
1e0 | 13:43 | ||
timotimo | oke | ||
wow. this code runs *faster* with Num than with num. | |||
like 50% longer run time | |||
i did not expect that | 13:44 | ||
dalek | p-jvm-prep: d26aaf7 | jnthn++ | / (3 files): Use class path as default module search path. Will (hopefully) be useful during bootstrapping. |
13:46 | |
p-jvm-prep: 9127bcd | jnthn++ | src/org/perl6/nqp/runtime/LibraryLoader.java: ModuleLoader special handling. Added as part of the work towards getting NQP JVM to build itself in order to support bootstrapping. |
|||
13:48
rindolf left,
SamuraiJack_ left
|
|||
timotimo | hm, maybe it needs to vivify a box every time the value gets changed or something? i have no idea. | 13:56 | |
gtodd | why does: say (1/4).perl give me 0.25 | 14:01 | |
shouldn't it give me [1, 4] | 14:02 | ||
hmm maybe there should be a perl6-questions channel :-) | |||
timotimo | why should it give [1, 4]? | 14:04 | |
colomon | gtodd: 0.25 is the perl expression for the rational 1/4 | ||
14:04
rindolf joined
|
|||
colomon | it's exact | 14:04 | |
rn: say (1/2, 1/3, 1/4, 1/5, 1/6).perl | 14:05 | ||
timotimo takes his bike out into the sun :) | |||
camelia | rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«(0.5, <1/3>, 0.25, 0.2, <1/6>)» | ||
colomon | rn: say (1/2, 1/3, 1/4, 1/5, 1/6)>>.nude | 14:06 | |
camelia | rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«1 2 1 3 1 4 1 5 1 6» | ||
colomon | rn: say (1/2, 1/3, 1/4, 1/5, 1/6)>>.nude.perl | ||
camelia | rakudo 5122e2: OUTPUT«((1, 2), (1, 3), (1, 4), (1, 5), (1, 6))» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«[[1, 2], [1, 3], [1, 4], [1, 5], [1, 6]].list» | |||
gtodd should not be distracting developers :-) but I am gradually answering some FAQs that are being recorded! | 14:07 | ||
colomon: OK I forgot about .nude ... or repressed it because of its connotations | 14:08 | ||
jnthn | When did you last see a clothed Rat? | 14:11 | |
gtodd | hah ... argh just found this where perl6advent.wordpress.com/2009/12/1...-the-rats/ it says" | ||
say (3/7).nude.perl | |||
[3, 7] | |||
I guess I don't need [1,4] I can find numbers I want using other methods like .denominator etc. | 14:13 | ||
cool | |||
and well ">>" is neat too | 14:16 | ||
14:16
lampman joined
|
|||
gtodd | ... there seems to be so many ways where future perls are going to be able to figure out how to give really good error messages | 14:16 | |
14:17
woosley left
|
|||
gtodd | in a -w strict or debugger or console and point more exactly to where the error is | 14:18 | |
14:24
lampman left
|
|||
masak | I have a feeling people in here might enjoy dev.stephendiehl.com/hask/ | 14:24 | |
14:33
roll left
14:42
dmol1 joined
14:55
Celelibi joined
|
|||
dalek | p/jvm-support: 2d0a551 | jnthn++ | / (83 files): Add JVM runtime support; get Makefile to build it. |
15:01 | |
p/jvm-support: 604ef1d | jnthn++ | tools/build/ (2 files): Add a conditional compilation mechanism. gen-cat.pl now takes an argument for the current backend, and handles directives in the files it is processing related to VM-specific code. |
|||
p/jvm-support: 41237e1 | jnthn++ | src/vm/parrot/QAST/Operations.nqp: Add an nqp::scgetdesc op. |
|||
nqp-jvm-prep: 365b131 | jnthn++ | / (2 files): | |||
nqp-jvm-prep: Fix deserialize_code to work on NQP JVM. | 15:02 | ||
15:04
frdmn left
|
|||
masak | jnthn: wow. | 15:06 | |
2d0a55: "Showing 83 changed files with 11,979 additions and 2 deletions." | |||
what was that about "you know you're correctly factored when commits are almost exclusively additions and no deletions"? :P | 15:07 | ||
jnthn | :D | ||
15:09
cognominal joined
|
|||
dalek | p/jvm-support: 13c5f8d | jnthn++ | src/vm/jvm/stage0/ (10 files): Add current nqp-jvm-prep selfhost as stage0. May have to update it if issues crop up, but hopefully not too many shall. |
15:12 | |
p/jvm-support: c9065ee | jnthn++ | src/how/NQPClassHOW.nqp: Mark out Parrot-specific bits in MOP. |
|||
p/jvm-support: aadcfd0 | jnthn++ | src/vm/jvm/ModuleLoader.nqp: Add JVM module loader. |
|||
nqp/jvm-support: d68776e | jnthn++ | / (2 files): | |||
nqp/jvm-support: Rules for first bits of the stage1 build. | |||
colomon | \o/ | 15:13 | |
15:20
cognominal left
15:21
cognominal joined
|
|||
lizmat | QA Hackathon wrapping up, mostly afk until Tuesday | 15:42 | |
15:42
lizmat left
15:43
woolfy left
15:48
domidumont joined
|
|||
dalek | ast: c464098 | (Tobias Leich)++ | S11-modules/require.t: test for "require PATH" |
15:49 | |
15:52
lard left
|
|||
FROGGS | jnthn: we have symlink() and link() now, should I add these as methods to IO ? | 15:55 | |
(writing the tests currently) | |||
I'll add these methods unless someone screams "STOPIT!" | 15:58 | ||
nwc10 | jnthn: nqp-jvm-prep very unappy currently, is this expeted? | 16:15 | |
nqp --target=pir --output=QASTJASTCompiler.pir lib/QAST/JASTCompiler.nqp | |||
Error while compiling block : Error while compiling block (source text: "{\n # Responsible for handling issues around code references, building the\n # switch statemen..."): Error while compiling block deserialization_code (source text: "{\n # Serialize it.\n my $sh := nqp::list_s();\n my $serialized := nqp::seriali..."): Error while compiling op callmethod (source text: "\n QAST::Op.new(\n :op('bind | |||
jnthn | nwc10: yes | ||
nwc10 | OK | ||
jnthn | nwc10: At the moment the only chance it has of building is against an NQP built from the jvm-support branch | ||
nwc10 | OK. | ||
gtodd | masak: interesting ... dev.stephendiehl.com/hask/ assuming that once perl6 is released similar documents start popping up, what should be done? :-) | ||
masak: ... an timtowtdi-fold path to satori | 16:17 | ||
16:18
arlinius left
16:36
crab2313 left
16:37
crab2313 joined
|
|||
masak | gtodd: well, a Quickcheck in Perl 6 would be fairly cool. | 16:37 | |
if Erlang can do it, so can we. | |||
gtodd: also, I don't wish monads on Perl 6, but I'm currently investigating things like dependency DAGs and lenses, which have nice uses. | 16:38 | ||
dalek | ast: acf18c7 | (Tobias Leich)++ | S11-modules/require.t: add links to synopsis |
16:48 | |
FROGGS | std: require "foo/bar.pm" <&bar> | 16:52 | |
camelia | std 86b102f: OUTPUT«===SORRY!===Bogus term at /tmp/S7yIVEg159 line 1 (EOF):------> require "foo/bar.pm" <&bar>⏏<EOL>Undeclared routine: 'bar' used at line 1Parse failedFAILED 00:00 45m» | ||
FROGGS | ESTDBUG | ||
17:02
FROGGS[mobile] left,
FROGGS[mobile] joined,
Chillance joined
17:05
adu_ joined
|
|||
BenGoldberg | jnthn, Don't forget to change the README for nqp :) | 17:24 | |
yoleaux | 13 Apr 2013 23:02 EST <labster> BenGoldberg: I am aware that File::Spec::Case sucks, but compared to the Perl 5 version which is always wrong on my computer, it's still an improvement. One of the main reasons I wanted to yank it out of File::Spec is because it's little-used and broken. | ||
17:32
tgt joined
|
|||
dalek | p-jvm-prep: 529ee92 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Fix growToHold() bug in serializer. |
17:35 | |
p-jvm-prep: b7c3945 | jnthn++ | nqp-src/ModuleLoader.pm: Make module loader respect --module-path. |
|||
jnthn | That serializer one took some finding :/ | 17:37 | |
dalek | p/jvm-support: 11c79ea | jnthn++ | src/core/NQP (2 files): Mark out Parrot/JVM specific bits of CORE. |
||
p/jvm-support: fdaa9ea | jnthn++ | src/vm/jvm/ModuleLoader.nqp: Make module loader respect --module-path. |
|||
p/jvm-support: 939c511 | jnthn++ | src/vm/jvm/stage0/ModuleLoader.class: Updated stage0 module loader. |
|||
p/jvm-support: 073363c | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationWriter.java: Fix growToHold() bug in serializer. |
|||
17:38
SamuraiJack_ joined
|
|||
colomon | \o/ | 17:39 | |
dukeleto | colomon: welcome | 17:40 | |
17:42
xenoterracide joined
17:44
dmol1 left
17:47
eternaleye left
17:48
eternaleye joined
|
|||
dukeleto | moritz: github.com/parrot/parrot/commit/22...e30507a991 | 17:54 | |
moritz: not sure how to fix that bug yet, but we have a failing test and a branch :) | 17:55 | ||
dalek | p-jvm-prep: 9ceb63a | jnthn++ | lib/QAST/JASTCompiler.nqp: Make $x<does><not><exist> not explode. |
17:58 | |
17:58
grondilu joined
|
|||
grondilu | GlitchMr: so you like minecraft as well? Do you know about #minetest, the FOSS clone? Would you consider translating it in perl6? | 17:59 | |
flussence | .oO( do want ) |
18:00 | |
18:05
berekuk joined
|
|||
timotimo | whaaaaat, minetest in perl6? 1 frame per day? x_X | 18:11 | |
FROGGS .oO( if it is a good frame? ) | 18:12 | ||
flussence | well if nothing else, it'd give people plenty of profiling data to chew on... | 18:13 | |
18:13
sqirrel joined
|
|||
moritz | dukeleto++ | 18:15 | |
colomon | moritz: do you remember working on your TestML fork? | 18:18 | |
18:31
crab2313 left
|
|||
gtodd | moritz: do you think Svg::Plot should work "out of the box" or has too much changed in perl6. | 18:32 | |
18:37
LlamaRider joined
|
|||
gtodd | ?? oh Text::CSV::Simple is no more ... maybe changing that is all that's needed | 18:39 | |
18:45
SamuraiJack_ left
18:53
pmurias joined
19:01
FROGGS[mobile] left
|
|||
colomon | gtodd: you working on fixing things? | 19:04 | |
19:05
cognominal left
19:06
cognominal joined
|
|||
colomon | gtodd: errr, actually my tests show SVG::Plot already works, no fixes needed | 19:12 | |
19:12
domidumont left
|
|||
dalek | p-jvm-prep: 4c3618d | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6OpaqueBaseInstance.java: Ensure SC is cleared when cloning P6opaque. |
19:13 | |
p-jvm-prep: 31ea5f0 | jnthn++ | nqp-src/NQP.pm: Add missing stringification. |
|||
colomon | gtodd: current version of SVG::Plot does not use Test::CSV::Simple | 19:14 | |
gtodd: I just had no problem installing it using pandabrew. | 19:15 | ||
19:16
grondilu left
19:25
sqirrel left
|
|||
pmurias | what sort of project will the parrot foundation accept for gsoc now that parrot is not actively developed? | 19:25 | |
yoleaux | 7 Apr 2013 05:44Z <FROGGS_> pmurias: 'use v5' itself is not a problem, but after doing it, the Perl6::Grammar.statement rule is still the active one, _that_ is a problem because it means a slang cant have its own statement rule | ||
FROGGS | pmurias: well, I'd say none if there is no mentor | 19:26 | |
but maybe there is? | |||
pmurias | FROGGS: did you solve that issue? | 19:27 | |
19:27
betterwo1ld left
|
|||
pmurias | FROGGS: the one yoleaux reported? | 19:27 | |
FROGGS | nope | 19:28 | |
but it is currently not a show-stopper | |||
19:29
renormalist left
|
|||
pmurias | isn't the statement rules supposed to change after 'use v5' has ended? | 19:32 | |
19:33
renormalist joined
|
|||
pmurias | FROGGS: ah, I understand the bug now | 19:34 | |
IMHO, the whole reblessing of cursors seems really hackish in the first place as it assumes the grammars inherit from each other | 19:35 | ||
FROGGS | ... which is not true for 'use COBOL' | ||
pmurias | which shouldn't be true for Perl 5 either | 19:36 | |
arnsholt | pmurias: Perl 6 projects, both compiler hacking and module work should be reasonable I think | ||
pmurias | even compiling Perl 6 to JavaScript? ;) | 19:37 | |
arnsholt | I can probably be convinced to mentor a NativeCall related project | ||
If you don't ask, you won't find out =) | |||
FROGGS | arnsholt: ahh, you're talking about gsoc | 19:38 | |
sad there is no perl, just parrot | 19:39 | ||
arnsholt | Oh, hang on. I read parrot but my registered perl | 19:41 | |
In that case I'm not sure | |||
lue could've sworn that TPF would be there | 19:43 | ||
19:48
DreamingInCode joined
|
|||
FROGGS | well, still four orgs missing in the table | 19:50 | |
dalek | p-jvm-prep: 9b6b90e | jnthn++ | lib/QAST/JASTCompiler.nqp: Thou shalt not mutate the node you're compiling. |
19:54 | |
19:57
PacoAir left
|
|||
ingy | is the ubuntu-precise rakudo worth using? | 19:57 | |
gtodd | colomon: I working on trying to use things :) ... | ||
masak | ingy: how recent is it? | 19:58 | |
ingy | This is Rakudo Perl 6, version 2011.07 built on parrot 3.6.0 0 | 19:59 | |
is there a debian ppm for p6? | |||
dalek | p/jvm-support: f4d6baa | jnthn++ | src/QRegex/Cursor.nqp: Conditional comp bits in Cursor. |
20:00 | |
p/jvm-support: 1a01251 | jnthn++ | src/NQP/World.nqp: Stringification fixes in NQP World. |
|||
p/jvm-support: 23253fc | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6OpaqueBaseInstance.java: Sync nqp-jvm-prep P6opaque fix. |
|||
jnthn | ingy: That's...really old. | ||
ingy: A lot has improved/changed etc. since then. | |||
gtodd | colomon: the spec test example for SVG::Plot still uses Test::CSV::Simple so I wanted to make that example work without it | ||
ingy | is there a debian ppm for p6? :) | 20:01 | |
gtodd | colomon: trying different apps and modules that might allow p6doc web app to be 6-ified | 20:02 | |
ingy | nm, I'll just grab a star | ||
dalek | p/jvm-support: bd15ebf | jnthn++ | src/vm/jvm/stage0/ (10 files): Update JVM stage0 from latest nqp-jvm-prep. |
20:03 | |
p/jvm-support: 95903d5 | jnthn++ | tools/build/Makefile-JVM.in: Build stage 1 setting, QASTNodes, QRegex. |
|||
gtodd | colomon: my ulterior motive is simply to learn more about perl6 :) | ||
lue kinda hopes jnthn will blog when NQP conversion is complete. | 20:05 | ||
masak | I'm pretty sure ++jnthn won't neglect to blog about that milestone ;) | 20:07 | |
jnthn | Yeah, I'll blog when I'm through with this bit :) | 20:08 | |
timotimo | is that still today? | 20:09 | |
moritz spectests timotimo++'s latest pull request | |||
gtodd: re SVG::Plot, I have no idea if too much list-y stuff has changed or not | 20:10 | ||
last time I tried, it mostly worked | |||
masak | jnthn: just in case someone hasn't told you in the last half hour: you rock. :) | 20:11 | |
jnthn | :P | ||
moritz | though it's a bit tricky to get the input arrays-of-arrays right | ||
jnthn | No, I won't get through this stuff today. Getting the self-hosted NQP on JVM to spit out another self-hosted NQP on JVM is proving a little work :) | 20:12 | |
gtodd | r: 1/3.Num | 20:14 | |
lue | .oO(Luckily Java does a good job of keeping you up throughout the night, or this'd take twice as long) |
||
camelia | rakudo 5122e2: ( no output ) | ||
timotimo | okay, then i can go to bed :) | 20:15 | |
tadzik | jnthn: you and your work are awesome. Keep it up! | ||
gtodd | r: 1/3.Num.say | ||
camelia | rakudo 5122e2: OUTPUT«3» | ||
20:15
rindolf left
|
|||
FROGGS | r: (1/3).Num.say | 20:15 | |
camelia | rakudo 5122e2: OUTPUT«0.333333333333333» | 20:16 | |
gtodd | so .... perlito .... | 20:18 | |
timotimo | what about it? | 20:25 | |
gtodd | moritz: just fiddling with the example github.com/moritz/svg-plot/blob/ma...rogress.pl to change out the CSV::Simple | 20:26 | |
timotimo | if anyone finds out, i'd love to know why code using Num is faster than code using num. | 20:27 | |
gtodd | timotimo: in the channel there's m: are: n: for evaling ... but I guess perlito is too much of a subset ? | ||
geekosaur | is num repeatedly unboxing and reboxing or something? | 20:28 | |
jnthn | timotimo: The typical answer is because if you pass a num somewhere that needs an object and is untyped, then it has to box it to a Num. Do this a lot and you'll be reboxing it all the time. | ||
geekosaur | or more accurately the reverse | ||
box->op->unbox->box->op->unbox... | |||
20:28
DreamingInCode left
|
|||
timotimo | oh, well that's an answer. | 20:28 | |
could that be helped by adding more multi candidates for basic arithmetic for unboxed nums and friends? | 20:29 | ||
geekosaur | likely. profiling would tell you where they're most needed | 20:30 | |
timotimo | it really didn't :) | ||
cognominal | jnthn++ | 20:31 | |
timotimo | okay, bedtimey times :) | ||
gtodd | timotimo: I sometimes try examples I see pasted in here but they rarely work in perlito | 20:32 | |
colomon | r: say 1..10 | 20:36 | |
camelia | rakudo 5122e2: OUTPUT«1..10» | ||
colomon | jnthn: any feel for how hard it would be to make \N ** {0..$text-width} work in Rakudo? | 20:39 | |
masak | colomon: might want to workaround that with an assertion for now. | 20:40 | |
hm, but you probably already know that ;) | |||
jnthn | colomon: Needs regex engine hacking. | 20:41 | |
colomon | masak: I've never seen a workaround that actually worked for that. | ||
masak: so feel free to suggest. | |||
20:42
DreamingInCode joined,
DreamingInCode left
|
|||
colomon | masak: (Or possibly the problem I had was the workarounds wouldn't work in Niecza?) | 20:42 | |
20:43
DreamingInCode joined,
DreamingInCode left,
DreamingInCode joined
|
|||
masak | rn: for "aa", "aaaa" { if /^ (a*) <?{ $0.chars ~~ 0..3 }> $/ { say "$_ matches" } else { say "$_ does not match" } } | 20:44 | |
camelia | rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«aa matchesaaaa does not match» | ||
masak | colomon: voila. | ||
cognominal | arf, java on mac seems to be 1.6.0_43 | ||
colomon | rn: my $text-width = 6; say "This is a test" ~~ / (\N ** {0..$text-width}) ( \s | $ ) /; | 20:45 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«「This 」 0 => 「This」 1 => 「 」» | ||
..rakudo 5122e2: OUTPUT«===SORRY!===Quantifier quantifies nothingat /tmp/Zyu_KLsFTj:1------> h = 6; say "This is a test" ~~ / (\N ** ⏏{0..$text-width}) ( \s | $ ) /; expecting any of: postfix infix stopper infix or meta-i… | |||
colomon | rn: my $text-width = 6; say "This is a test" ~~ / (\N* <?{ $0.chars ~~ 0..$text-width}> ) ( \s | $ ) /; | 20:47 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method chars in type Any at /tmp/tzBLLoagn_ line 1 (ANON @ 8)  at /tmp/tzBLLoagn_ line 1 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 2982 (Regex.ACCEPTS @ 10)  at /tmp/tzBLLoagn_ line 1 (mainline … | ||
..rakudo 5122e2: OUTPUT«No such method 'chars' for invocant of type 'Any' in block at /tmp/QhoSX_hJlo:1» | |||
cognominal | apparently I must go to oracle.com to get a newer java | ||
colomon | rn: my $text-width = 6; say "This is a test" ~~ / ((\N*) <?{ $0.chars ~~ 0..$text-width}> ) ( \s | $ ) /; | ||
camelia | rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«「This 」 0 => 「This」 0 => 「This」 1 => 「 」» | ||
20:47
pr0` joined
|
|||
colomon | ah, maybe that will work. hmmm. | 20:47 | |
masak | ( \s | $ ) maybe better written >> | 20:48 | |
colomon | masak++ | 20:49 | |
wait, what's that last bit? | |||
> > | 20:50 | ||
? | |||
masak | >> is a right-side word boundary. | ||
colomon is trying to get Text-Tabs-Wrap working again | 20:51 | ||
flussence | I have half a mind to redo Text::Wrap from scratch... | 20:54 | |
21:00
kaare_ left
|
|||
colomon | masak++'s workaround there has most of the tests running again. | 21:08 | |
masak bows | |||
I'm glad I blurted it out. :) | 21:09 | ||
colomon | flussence: hold on a sec and I'll send you a pull request. | 21:12 | |
flussence | alrighty | 21:13 | |
21:13
pecastro_ joined,
pecastro left
|
|||
colomon | flussence: done, I think. been a while since I actually generated a pull request. :) | 21:14 | |
flussence | looks good to me | 21:16 | |
colomon | flussence: I fear I don't understand Text::Wrap well enough to understand what's not working in the test failures. | ||
flussence | to be honest, I don't completely understand it either :) | ||
I think most of this algorithm was written around the limitations of terminals having weird text-wrapping rules, I tried to actually document what it was doing at one point but that never went anywhere | 21:18 | ||
21:20
bruges_ left
21:22
bruges joined
|
|||
japhb is still backlogged, but before the UTC+n crowd head to bed ... | 21:25 | ||
moritz, let me add my best wishes for your wife's rapid and excellent recovery | |||
FROGGS, the p5/p6 benchmarking repo you're thinking of is probably mine. | 21:26 | ||
I will be bringing it up to date in preparation for my related YAPC::NA talk, but at the moment it's idling on the back burner. | |||
timotimo, in github.com/rakudo/rakudo/commit/5122e2ead9 , lines 266-269, the else block looks redundant, since the very next thing after the else is the same thing that's inside the else. :-) | 21:27 | ||
masak | japhb++ | 21:28 | |
japhb | jnthn, in github.com/jnthn/nqp-jvm-prep/commit/d26aaf7387 , why after the change do you still have the setting of $explicit at line 11 inside an 'if !nqp::isnull($explicit)' ? I'm not sure that makes sense. | 21:29 | |
21:29
DreamingInCode left
|
|||
jnthn | japhb: It didn't; thinko; fixed in a later commit | 21:29 | |
japhb | jnthn, ah gotcha | 21:30 | |
also, in github.com/perl6/nqp/commit/c9065ee68a, line 176 on the new side (171 on the old), looks like an existing line with a typo: vtablee | |||
jnthn | japhb: yeah, that typo has been in there for ages... | 21:31 | |
japhb | :-) | ||
japhb continues backlogging where he left off at 15:55 (log time). :-) | 21:32 | ||
dalek | rl6-roast-data: d158c81 | coke++ | / (4 files): today (automated commit) |
21:37 | |
rl6-roast-data: 501f0d3 | coke++ | / (4 files): today (automated commit) |
|||
21:44
kurahaupo joined
|
|||
dalek | ast: 3117f5b | coke++ | S11-modules/require.t: pugs fudge |
21:45 | |
FROGGS | japhb: ya, noticed that | 21:50 | |
masak | 'night, #perl6 | 22:01 | |
FROGGS | gnight masak | ||
r: require 'Test' # jnthn, this should not work per spec: "When you pass a string, require always assumes the string contains a filename." | 22:02 | ||
camelia | rakudo 5122e2: ( no output ) | ||
22:05
Guest92075 joined
22:11
tgt left
22:14
bbkr left
|
|||
[Coke] | jnthn++ | 22:15 | |
r: require 'Crap' | 22:18 | ||
camelia | rakudo 5122e2: OUTPUT«Could not find Crap in any of: /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib, /home/p6eval/.perl6/2013… | ||
tadzik | . o O ( Crap.pm: die "Obviously you mean Carp... or did you?" ) | 22:21 | |
cognominal | has C< :/$a for :a($<a>) > been ever discussed ? | 22:23 | |
that would be a nice addition, I could use in Actions classes | 22:24 | ||
FROGGS | :a( <-- is that some sort of smiley? ms piggy perhaps? | 22:26 | |
cognominal | oops | ||
I meant | |||
has C< :/$a > for C< :a($<a>) > been ever discussed ? | 22:27 | ||
FROGGS | what should that do? | ||
cognominal | r: say :a(1).perl | ||
camelia | rakudo 5122e2: OUTPUT«"a" => 1» | ||
22:28
dmol1 joined
|
|||
FROGGS | the 'for' is not a statement_mod in this case? | 22:29 | |
cognominal | I meant C< :/$a > as a short for C< :a($<a>) > which is itself a short for :a($/<a>) | ||
22:29
wooden joined,
wooden left,
wooden joined
|
|||
cognominal | Nope the code is inside the C< > "formatting" instructions. Consider only my last statement. | 22:30 | |
FROGGS | I'd prefer :$<a> over :/$a | 22:32 | |
:/$a is not that intuitive somehow | 22:33 | ||
cognominal | r: :$<a> | 22:34 | |
camelia | rakudo 5122e2: OUTPUT«===SORRY!===Bogus statementat /tmp/e9SwWCzc9e:1------> :$⏏<a> expecting any of: colon pair» | ||
cognominal | FROGGS: I agree :$<a> is more consistent | 22:36 | |
22:36
Guest92075 left
22:38
tgt joined,
pmurias left
22:42
LlamaRider left
|
|||
FROGGS | cognominal: btw, I'd like it to have | 22:47 | |
cognominal | ?? | ||
22:48
araujo left,
dmol1 left
|
|||
cognominal | FROGGS: did you meant you'd like the feature, with your better syntax? | 22:48 | |
FROGGS | yes | 22:49 | |
because it feels like it has to be there | |||
jnthn | enough bug hunt for tonight... | 22:50 | |
'night o/ | |||
22:50
pr0` left
|
|||
cognominal | jnthn++ | 22:50 | |
22:51
system joined
|
|||
FROGGS | gnight jnthn | 22:51 | |
22:51
system is now known as Guest62409
22:57
araujo joined
22:58
tgt left
23:07
berekuk left
|
|||
diakopter | rn: say 3 | 23:08 | |
camelia | rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«3» | ||
cognominal | good night | 23:18 | |
23:21
adu_ left
23:28
berekuk joined
23:42
berekuk left
|