»ö« 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!
Set by sorear on 25 June 2013.
TimToady r: say ([[1,2,3],[4,5,6],[7,8,9]]»[1]).perl 00:21
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«(2, 5, 8)␤» 00:22
TimToady r: say (-»[[1,2,3],[4,5,6],[7,8,9]]»[1]).perl 00:22
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Preceding context expects a term, but found infix - instead␤at /tmp/tmpfile:1␤------> say (-⏏»[[1,2,3],[4,5,6],[7,8,9]]»[1])…»
TimToady r: say (-«[[1,2,3],[4,5,6],[7,8,9]]»[1]).perl
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«(-2, -5, -8)␤»
TimToady heh 00:23
TimToady r: say ([[1,2,3],[4,5,6],[7,8,9]]».&prefix:<->).perl 00:25
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«(-3, -3, -3)␤»
TimToady (doesn't know about nodal yet)
TimToady the codepoints actually start to get off after 0x33ff, so it's also a problem in the BMP 02:48
TimToady m: say "\c[HEXAGRAM FOR THE CREATIVE HEAVEN]".ord.base(16) 02:49
camelia rakudo-moar da53ec: OUTPUT«4DCA␤»
TimToady that should be 4DC0
TimToady r: say "\c[CUNEIFORM SIGN AB2]" 06:06
camelia rakudo-moar da53ec: OUTPUT«𠥒␤»
..rakudo-jvm da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name CUNEIFORM SIGN AB2␤at /tmp/tmpfile:1␤------> say "\c[CUNEIFORM SIGN AB2⏏]"␤»
..rakudo-parrot da53ec: OUTPUT«𒀖␤»
TimToady I suspect that camelia is running with a detached head or an otherwise obsolete version of MoarVM (and maybe nqp too) 06:11
lue TimToady: is there a known pattern to moar's wrongness, aside from it starting with U+3400 ?
TimToady after futzing with it all afternoon, I discovered if I switched branches to master, it works right
trouble is, you need --gen-moar=master and --gen-nqp=master or you get detached heads, apparently 06:12
TimToady I was like 70 some patches behind on moar :/ 06:14
lue I have moar on the flatten_fastpath branch (or whatever its precise name is), and I get 0x020952 from that CUNEIFORM SIGN. I assume this was fixed very recently then?
TimToady dunno 06:15
TimToady doing a complete rebuild on my other machine to verify 06:20
TimToady huh, works on one of my machines, but not the other 06:30
huh, that other machine used a headless nqp, despite removing reconfiguring with a --gen-nqp=master 06:32
TimToady doesn't get it
trying again after forcing nqp branch to master 06:33
TimToady wow, amazing how much cleaner the spectest is with working unicode... 06:45
the parsing CORE on moar seems to be running considerably slower though on master than on my detached head 06:49
from 78 seconds to 113
huh, still fails on my other machine :/ 06:52
TimToady the unicode.c files are identical, so that's not the problem 06:54
TimToady both machines are 64-bit Linux 06:57
oh, I think I'm running with a libmoar.so that's from when I was experimenting with turning off unicode compression 07:02
drat 07:05
TimToady so is it worth blowing up libmoar.so from 3meg to 8meg just to get unicode to work temporarily? 07:11
could conceivably explain the slower compile too 07:12
maybe I should just find the bug...
tadzik something's very wrong with feather's connection 08:38
moritz there's something wrong with connectivity in the state of Denmar^Wthe Netherlands? :-) 08:39
tadzik :) 08:40
moritz will be offline most of today and tomorrow 08:54
timotimo o/ 09:34
timotimo the end of the month nears and no star releaser has stepped up, to my knowledge :| 09:40
timotimo gist.github.com/timo/8f9a5591cdb48dcd0ab1 :\ 09:57
masak I like how the passing test before that is called "we didn't segfault" 09:59
famous last words.
"phew! that was a tought one... but we survived!" *death*
tough*
timotimo :) 10:00
also: 1 megabyte lost all in all, that's a lot :| 10:01
jnthn timotimo: The work sharing code in parallel GC hasn't been exercised on a real workload until now. 10:04
timotimo: It'd be more surprising if we didn't find bugs.
timotimo jnthn: so, should i assume my changes aren't to blame? this is with the string_pressure branch 10:05
jnthn timotimo: Oh. Hm. 10:06
timotimo: *Probably* not. Probably you just changed when GC happens.
I'll try and find time to review that branch (which I'd like to do before it gets merged)
timotimo sure, the change to gc_status is potentially dangerous 10:07
so you're definitely right to want to review it before merging
FROGGS timotimo: what test file is this? 10:10
timotimo threads.rakudo.moar.t
FROGGS k 10:11
atroxaper Good morning, #perl6 ! 10:12
FROGGS hi atroxaper
atroxaper FROGGS: Hi!
timotimo hi there :) 10:13
atroxaper I have a bussiness trip to Paris for two months from my Siberia.) 10:14
timotimo: Hi!
Paris is really nice) 10:15
FROGGS I'll just see Paris's airport in march 10:16
jnthn Hm, iirc I've been in Siberia more recently than I've been in Paris :) 10:17
atroxaper jnthn: where in Siberia? 10:19
masak morning, atroxaper. 10:22
atroxaper: I can tell you're from Russia, because you close your parens but you do not open them :P
jnthn atroxaper: Novosibirsk last time, but I also have in my life done Trans-Sib railway ))
masak .oO( Russians only open parens when they're sad )
jnthn atroxaper: So been many places. 10:23
atroxaper jnthn: I live in Novodibirsk. Tell me if you are going to visit it again. 10:24
masak: Is only russians do so? 10:26
masak: nice note. I'll remember it. ')' 10:27
masak atroxaper: yeah, it seems to be a Russian/slavic thing to not include the eyes of the smiley. 10:28
atroxaper: I still think it's reasonably avant-garde to get rid of the nose :)
jnthn atroxaper: Seen it used by Ukrainians also... It just doesn't surprise me any more... ) But masak seems creeped out by the eyelessness ;)
masak atroxaper: but you people go one step further!
not creeped out. just amused )))) 10:29
masak gives atroxaper and jnthn some spare sets of eyes ::::::::::
jnthn uses them to prevent backtracking in his regexes instead
FROGGS bah! :o(
atroxaper We not include eyes because multi parens for noting a grade of smile. Maybe ':)))' does't look well. On the other hand ':):):)' takes too many time. 10:37
Some people write '(:'. That really weird for me. 10:38
timotimo 10:39
tadzik ( ͡° ͜ʖ ͡°)
jnthn I have to backtrack to parse (:. I parse it as sad on the first char, then have to re-parse it as happy... :) 10:40
tadzik r: "( ͡° ͜ʖ ͡°)".chars.say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«11␤»
tadzik hmm, I count 8
masak tadzik: me too. 10:46
tadzik: submit it!
clearly we should have a ( ͡° ͜ʖ ͡°) in RT :D
jnthn Need Flippin' Graphemes 10:47
masak those graphemes, how they flip. 10:48
tadzik n: "( ͡° ͜ʖ ͡°)".chars.say 10:49
camelia niecza v24-109-g48a8de3: OUTPUT«11␤»
tadzik ha!
oh, no-ha 10:50
so maybe it's not wrong after all
masak I'd say it is.
if by .chars we mean "graphs".
timotimo wishes to tackle questhub.io/realm/perl/quest/52d6a...441a000089 today
masak which I *think* we do. 10:51
jnthn By default .chars means .graphs, I believe.
tadzik reported 10:52
masak tadzik++ 10:55
let's see what RT does with those characters :P
tadzik I'm mildly amused by my choice of words :)
masak RT++ # renders the face quite nicely 10:58
tadzik just noticed he bought a concert tickets for one of the PLPW days 11:01
timotimo maybe i'll think about how breakpoints for the "target code" could be implemented in the gdb support for moarvm 11:06
FROGGS tadzik: can you have a look at that PR? 11:17
tadzik FROGGS: oh, by all means 11:23
FROGGS humm?
tadzik yes, I can have a look :) 11:23
FROGGS ossum *g* 11:24
#69 would be important to merge also
tadzik I have mixed feelings about #69 11:26
it looks like a workaround of sorts, for something I don't understand
FROGGS I think I can explain
it is the same problem as like pushing to an array you are iterating lazily over 11:27
so in this can we create a .work dir in cwd, and then interating over cwd and the stuff that we created in that run
so fetching the dir list eagerly before we write to that dir seems very very sane 11:28
we should perhaps add a comment that says "eager evaluation needed here because we write to that directory"
tadzik ah! 11:31
of course
tell me: in moar-support, is compsuffix() used for anything?
since Builder moved to comptarget 11:32
ah, I see it now
you pass --target=mbc, but what you get out if .moarvm
is that so?
FROGGS yes
target is mbc but fileext is moarvm
tadzik that's weird
FROGGS but not my fault :o) 11:33
tadzik I know :)
timotimo well, we don't want to call it "moarvm byte code file"
because that's not really what it is
but --target=moarvm is even more confusing
tadzik maybe comptarget could be: if 'moar' { 'mbc' } else { compsuffix(@_) } 11:34
less code duplication
food&
timotimo hoelzro: do you know of any way to make vim cleverer about syntax highlighting beginning in the middle of a file? 11:35
FROGGS tadzik: that sounds good 11:40
timotimo / jnthn: perl6-m t/spec/S17-concurrency/thread.rakudo.jvm passes on my box 11:41
timotimo rakudo.jvm? :)
FROGGS timotimo: so I don't have to fudge it :o) 11:42
the last three are skipped though 11:43
timotimo of course
hm. 11:44
how do i work a suggestion a la "the routine xx doesn't exist, but an infix operator xx does. maybe you need to add () before it?" into the X::Undeclared::Symbols?
maybe we could have a role "Suggestions" that would add any string to an exception's message? 11:45
timotimo gist.github.com/timo/ae5b88787b04aae3aa49 12:06
maybe this error could be tackled from the other direction 12:09
"parsed a term with arguments that doesn't take arguments"?
timotimo that's probably pretty fragile. 12:12
grondilu check out my rewrite of rosettacode.org/wiki/One-dimensiona...ata#Perl_6 guys. I gotta say I'm kind of proud of it. 12:31
timotimo hm. the artistic license 2 is kind of long
it seems like a very sensible license 12:36
atroxaper i've been waiting to ask why the main branch of Rakudo names 'nom'? 12:56
timotimo it's named after the "new object model" 12:59
which refers to 6model
atroxaper masak: one more thing about russian people. Often we write 'i' instead of 'I' becouse in russian language we should write 'You' instead of 'you' (with respect to somebody). And don't use single quotes at all :) 13:00
timotimo the I vs You thing is a thing in german as well :) 13:01
Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a (:stuff [$first, *@rest])) { say :rest($a).perl; }; doom($a);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> stuff(<a b c lel e f>)); sub doom(A $a (⏏:stuff [$first, *@rest])) { say :rest($…»
Ven r: class A { has @.stuff; }; my A $a .= new(stuff => <a b c lel e f>); sub doom(A $a (:stuff [$first, *@rest])) { say :rest($a).perl; }; doom($a); 13:04
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> uff => <a b c lel e f>); sub doom(A $a (⏏:stuff [$first, *@rest])) { say :rest($…» 13:05
Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a); 13:06
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> tuff(<a b c lel e f>)); sub doom(A $a ( ⏏:stuff [$first, *@rest] ) ) { say :rest…»
Ven err.
jnthn :stuff isn't a valid named param decl; needs to be :$stuff 13:08
timotimo :\stuff could also work if you want it to be called just "stuff" 13:09
Ven jnthn: perlcabal.org/syn/S06.html#Unpackin...parameters is where I'm taking that from
r: class A { has @.stuff; }; my A $a .= new(:$stuff(<a b c lel e f>)); sub doom(A $a ( :stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a); 13:10
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$stuff' is not declared␤at /tmp/tmpfile:1␤------> { has @.stuff; }; my A $a .= new(:$stuff⏏(<a b c lel e f>)); sub d…»
masak atroxaper: yes, the 'You' thing is widespread in many languages.
atroxaper: only the British and US tribes are self-centered enough to capitalize 'I' instead :P
timotimo %)
Ven jnthn: not sure I get what you mean 13:11
colomon grondilu: your code seems elegant, but is about 75% mystifying to me. 13:13
jnthn Ven: I said parameter, not argument... :) 13:15
timotimo Ven: let's sing the doom song! 13:15
pmurias timotimo: re suggestion error message, wouldn't it make sense to mix in a suggestion role of sorts?
jnthn Ven: You need the $ in the signature
timotimo pmurias: isn't that exactly what i suggested? :) 13:16
Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :$stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«"rest" => A.new(stuff => Array.new("a", "b", "c", "lel", "e", "f"))␤»
pmurias timotimo: just noticed that ;)
timotimo okay :)
glad to see you
how's life? :)
Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :@stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«"rest" => A.new(stuff => Array.new("a", "b", "c", "lel", "e", "f"))␤»
Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :@stuff [$first, *@rest] ) ) { say @rest.perl; }; doom($a);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Array.new("b", "c", "lel", "e", "f")␤»
Ven ok, that seems to be what I wanted indeed 13:17
timotimo holy crap
:$foobar.perl
that's a really cool way to output the name and value of a variable
like, for debugging purposes
Ven jnthn: I believe this needs fixing perlcabal.org/syn/S06.html#Unpackin...parameters <= here, right ? 13:18
it's missing the $
docs too long for github PR
timotimo oh, looks like a good catch! 13:19
colomon grondilu: ah, figured it out 13:20
Ven timotimo: might miss a @ instead, though 13:21
r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :$stuff [$first, *@rest] ) ) { say @rest.perl; }; doom($a);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Array.new("b", "c", "lel", "e", "f")␤»
Ven meh, that's the same
pmurias timotimo: just started a new semester, I still have to finish some $other perl5 stuff before resuming work on rakudo-js 13:23
timotimo that's fine :) 13:24
Ven pmurias: is rakudo-js on github ? 13:25
FROGGS Ven: yes, see github.com/pmurias/rakudo-js 13:28
Ven I should've guessed :). ++>>[ FROGGS , pmurias ]
FROGGS *g*
timotimo why is that ++>> and not ++<< ?
FROGGS m: constant FROGGS = 1; constant pmurias = 1; ++>>[ FROGGS , pmurias ] 13:29
camelia rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/4YYAiHpm0p␤Preceding context expects a term, but found infix + instead␤at /tmp/4YYAiHpm0p:1␤------> ant FROGGS = 1; constant pmurias = 1; ++⏏>>[ FROGGS , pmurias ]␤»
FROGGS well, does not make much sense with constants anyway >.<
timotimo has been digging into the qt-creator source and asking questions on #qt-creator 13:30
FROGGS m: my \FROGGS = 1; my \pmurias = 1; say ++<<[ FROGGS , pmurias ]
camelia rakudo-moar da53ec: OUTPUT«2 2␤»
timotimo the architecture and design of the thing is a work of art
FROGGS timotimo: in a good way?
timotimo yes
FROGGS: don't be so humble, you're at least 10! and pmurials, too
FROGGS timotimo: I am just one :o) 13:31
Ven timotimo: because I'm tired ! eh 13:32
Ven r: sub a($n) { $n so true; }; a(1); 13:39
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> sub a($n) { $n ⏏so true; }; a(1);␤ expecting any of:␤ postfix…»
Ven I remember seeing that, though. I'll need to find it again ...
Ven r: sub b($v) { say $v.perl; }; sub a($n) { b so true; }; a(1); 13:43
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ true used at line 1␤␤»
Ven r: sub b($v) { say $v.perl; }; sub a($n) { b so 1; }; a(1);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Bool::True␤»
Ven That might
That might've been it, wouldn't make sense otherwise
hoelzro timotimo: there's a way, but I've never learned enough to make it work right 14:48
hoelzro dammit, another thing to support: github.com/atom 14:52
geekosaur another text editor? *baps github* 15:00
you fools want I should learn *another* editor? 15:01
rindolf geekosaur: what?
geekosaur [27 14:52] <hoelzro> dammit, another thing to support: github.com/atom
rindolf geekosaur: ah, yes, I heard about it. 15:02
rindolf I was told there were some heated threads about it on reddit. 15:02
geekosaur (also referencing an old comic that I can't find any more about the zen master and the grasshopper who wants to solve the editor wars by building an editor combining both...)
[Coke] still no daily runs. 15:23
[Coke] There is already a ticket that .chars doesn't mean .graphs. 15:24
rt.perl.org/Ticket/Display.html?id=65170
nwc10 merge! child? 15:26
"references"?
things RT can do.
(which I think you already know)
[Coke] Yes. I'm mentioning it here to let someone who actually understands the -contents- of the tickets to chime in, then I can do the dirty bugadmin work. 15:27
masak merges #121338 into #65170 15:31
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121338
masak [Coke]++
synopsebot: heh, you realize that was two RT references, right? :) 15:32
not that it matters in this case, since I merged them :P
[Coke] masak++ #thanks 15:33
moritz back 15:42
hoelzro hmm 15:46
apparently you can fairly easily convert a Textmate bundle to support Atom
timotimo that sounds good
hoelzro well, we can kill two birds with one stone =) 15:47
oh, I didn't know TM was OS X only 15:49
now there's no hope of me working on it =/
hoelzro I just saw this in Grammar.pm: 15:50
for $<module_name>
how could that ever work?
shouldn't that be for $<module_name>.list? 15:51
moritz remember that Grammar.pm is NQP code
hoelzro ahhhh
so that's different in NQP?
moritz yes
there is no flattening in NQP
hoelzro ah, I keep forgetting that
moritz and 'for' always iterates over an array
and there's no distinction between itemized arrays and "flat" arrays 15:52
hoelzro ok 15:52
timotimo do we have e standard for what an "app" package should look like? 16:05
lib/ folder with lib/App/Programname/* and bin/ folder with the runnable in it?
FROGGS yes, that is it mostly 16:11
timotimo sounds good. 16:17
timotimo is there something like perl6 -Mfoobar that will run the given module and any MAIN if there is one? 16:29
there's -M to load a module "prior to running the program" which doesn't seem to be exactly what i mean?
PerlJam perl6 Module.pm6 will run any MAIN if there is one 16:30
well, any that matches the appropriate sig
timotimo ah, good. 16:32
FROGGS perl6 -Mfoobar will just run the repl with that module loaded 16:36
timotimo mhm
hoelzro it would be nice to combine the running MAIN of perl6 Module.pm6 with the search through @*INC 16:42
but then again, can't you just distribute a small script that invokes your module?
PerlJam Is there a way to skip a positional parameter when calling a subroutine such that it just uses the default? 16:45
moritz maybe passing Nil? 16:46
no idea if rakudo supports that, and if it's specced 16:47
jnthn Generally that means "shoulda used named args" :)
uh, parameters
moritz I agree, but the caller doesn't always have the power to refactor the callee 16:48
jnthn True :)
PerlJam Aye, and I'm wondering about porting Perl 5 code that may use this "feature"
hoelzro Nil as the argument seems to make sense 16:49
timotimo hoelzro: just like some .so files being actually executable (try it!), python has the convention that if you launch a module with python -m foo.bar.baz, it will execute the section that's separated out by the "if __name__ == '__main__'" 16:50
which is kind of meh, but ... whatevs :)
moritz m: sub f($a = 'a', $b = 'b') { say ($a, $b).perl }; f(Nil, 'c')
camelia rakudo-moar da53ec: OUTPUT«(Nil, "c")␤»
hoelzro timotimo: right
I'm just wondering if that idea is Perl6y
moritz well, you can include a MAIN in a module 16:51
hoelzro to me, it's interesting that I can run a script via "script-name", which searches PATH
moritz and it's only executed if you run the module as a script
hoelzro or I can run a module via "perl6 -m ModuleName", which searches @*INC
hoelzro (theoretical usage, of course) 16:51
moritz but there seems to be no combination of searching in @*INC and executing MAIN
hoelzro moritz: that's what I was getting at with -m 16:52
moritz hoelzro: yes, I understand
hoelzro if I want to run code as an executable, shouldn't I only have to worry about PATH?
why throw more variables into the equation
moritz yes, adding a script in $PATH is certainly the least hacky / most obvious way 16:53
geekosaur shells use $PATH, perl uses @*INC, what's the problem?
perl is not the shell 16:54
C compilers don't search PATH for libraries either
hoelzro right, but it's generally understood (I think?) that one var is for executables, and another is for libraries 16:55
geekosaur my point is, you explicitly said a module, not a script
hoelzro granted, this usage would require the user to say "run this module"
FROGGS perl does not search in PATH for scripts when I do: perl -e foobar.pl
geekosaur system facilities know executables (scripts) not "modules"
hoelzro and they should understand that, I guess 16:56
geekosaur perl defines "module", by its rules
geekosaur and most modules have no business being on $PATH; "execute a module" is kinda weird on its face 16:56
hoelzro I'm not saying that adding "search for this module and run it" is a bad idea; I'm more thinking about it =) 16:56
I wouldn't want something to be added just because Python has it 16:57
geekosaur (I used the libraries thing for a reason; a module is more like a library than a program)
PerlJam hoelzro: seems interesting to me. Dunno if there's a real need for it though.
hoelzro I think it's interesting too 16:58
the one instance I found myself wanting something like that in Perl 5 was serving the current directory
in Python, it's something like python -m SimpleHttpServer
but the distributor could always bundle up a script to launch the appropriate module... 16:59
geekosaur note, I'm not saying "execute a module" is *wrong*, just that it's not an obvious normal case. just like on Linux you can execute a shared library (the only one normally provided that *supports* this is libc.so and it just tells you about the libc version etc.)
hoelzro geekosaur: I think we're both just elaborating on the idea =)
hoelzro how can I list where a module is loaded from? 17:03
(%INC in Perl 6)
er, Perl 5
hoelzro hmm 17:04
moritz %*INC in rakudo
hoelzro if I use/need a module twice, does it get parsed/compiled twice?
moritz: that didn't work for me
moritz erm 17:05
wait
timotimo i think modules are cached; though if you supply arguments and it has an EXPORT sub, that should be re-run of course
hoelzro interesting...if I delete the precompiled .moarvm file in my module loading test for MoarMoneyMoarProblems, the test passes 17:06
moritz hoelzro: it's stored in a lexical inside Perl6::ModuleLoader
hoelzro also, a say() line in the precompiled module is run twice
this just gets moar and moar interesting.. 17:07
timotimo hoelzro: what about a BEGIN say? 17:11
hoelzro hmm
I'll try it
grr 17:12
hoelzro I fubar'd my mokudo 17:12
timotimo :( 17:18
timotimo builds a zeroconf-based "serverless" paste service for qt-creator to get accustomed to the codebase 17:44
[Coke] If you want to run a module's main without the six equiv of $^X, you can manually invoke it. 17:46
no?
timotimo i don't know what $^X is 17:47
the difference between manually invoking it and using -M is the way you specify the path
perl6 -Minvoke Foo::Bar::Baz vs perl6 /home/timo/perl6/lib/Foo/Bar/Baz.pm6
[Coke] i don't understand. if you're loading a module, you use whatever use is doing. yes/ 17:48
timotimo: why on earth would you do the former on the command line?
... eh, i retract that, it seems vaguely useful. But it's clearly not the same thing: you want to use the name, you use the INC path, no?
isn't this just timtoady? 17:49
TimToady wow, that's the first time I was able to sleep 8 hours in about three weeks 17:49
timotimo TimToady: 8 hours in three weeks is really not much sleep! you should really sleep at least one hour a day! 17:51
TimToady I also try to sleep one hour a day :P 17:52
timotimo [Coke]: the difference is that you can just say "run the module named foo" rather than having to know where it is
the -Minvoke is just my "pretend implementation" of this feature
[Coke] timotimo: what are you saying is the problem here? 17:53
[Coke] I see two ways of doing the same thing that you might want to use depending on the situation. 17:54
timotimo yes. the former is currently impossible, though :) 17:54
[Coke] the first one shoudl be spelled 'perl6 -MFoo::Bar::Baz MAIN', mebbe? 17:55
colomon TimToady: does the sleep deprivation explain the decision to start committing changes to Rakudo? ;) 18:00
TimToady undoubtedly 8] 18:01
hmm, that one looks like Cookie Monster
8) <- Kermit 18:02
8] 8 88 18:03
or 888 since most cookie sheets are rectangular
TimToady grondilu: rosettacode.org/wiki/One-dimensiona...ata#Perl_6 is spectacular. However, since I just made [Z+] work a couple days ago, I fixed your example for you. :) 18:33
colomon grondilu++ TimToady++ 18:34
colomon is still not convinced by the <| |>,join: Str idiom 18:35
moritz colomon: what's the idiom? 18:35
TimToady using .join inside-out
colomon what TimToady said. for instance, method gist { <| |>.join: @!cells.map({$_ ?? '#' !! ' '}).join } 18:36
TimToady treating the string as the delimiter
colomon and the delimiters as the list argument for join
TimToady it's kinda the same idea as '[' ~ ']' in regex 18:37
colomon TimToady: I'm not wildly comfortable with that, either. :)
TimToady putting the opener and closer next to each other makes the intent clearer 18:37
colomon but using join makes the intent less clear 18:38
TimToady would <| |>.insert: be more to your liking 18:39
?
colomon … I don't know. 18:40
my code will probably give it as '|' ~ whatever ~ '|' for the foreseeable future.
TimToady which works as long as whatever is shorter than @!cells.map({$_ ?? '#' !! ' '}).join 18:41
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; 'foo'.surrounded-by: '|'
camelia rakudo-moar da53ec: OUTPUT«No such method 'surrounded-by' for invocant of type 'Str'␤ in block at /tmp/UcZNimHKuU:1␤␤»
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; 'foo'.enclosed-by: '|'
camelia ( no output )
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: '|' 18:42
camelia rakudo-moar da53ec: OUTPUT«|foo|␤»
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: |<| |>
camelia rakudo-moar da53ec: OUTPUT«|foo|␤»
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: |«< >»
camelia rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/AHBLBV15f4␤Confused␤at /tmp/AHBLBV15f4:1␤------> ~ $b } }; say 'foo'.enclosed-by: |«< >»⏏<EOL>␤ expecting any of:␤ postfix␤»
TimToady I'm just wondering whether there's a different primitive that alternates whose degenerate case is this
insert all the following values between all the preceding values
colomon looking at the RC code again, would @.code work as well as self.code ? I think the former might be clearer. (Though switching it from hash to array is already a huge step forward in clarity of intent -- I spent ten minutes thinking the old self.code{ } was trying to pass a code block to the function code. 18:45
timotimo .fmt("|%s|")?
colomon (changing the subject because I don't have a good answer to TimToady++'s question.)
timotimo r: <foo bar baz>.join(" ").fmt("|%s|").say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo bar baz|␤»
timotimo ^ this seems okay
and still puts the | | close together
moritz .fmt('|%s') looks fairly nice, timotimo++ 18:46
colomon timotimo++ # perhaps less elegant, but definitely more to my liking
r: <foo bar baz>.fmt("|%s|").say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo| |bar| |baz|␤»
TimToady r: <foo bar baz>.Str.fmt("|%s|").say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo bar baz|␤»
colomon didn't recall whether or not .fmt distributed across lists.
TimToady same keystrokes as join :) 18:47
moritz r: say <foo bar baz>.fmt('%s', ', ')
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«foo, bar, baz␤»
timotimo hmm. i could imagine a three-argument-version of fmt 18:49
.fmt($foo, '%s', ', ') could then be equivalent to .fmt('%s', ', ').fmt($foo) 18:50
hm, no, that's kinda weird
then you'd have something like "|%s|", "%s", ", "
that's a mighty big WAT
grondilu about this cellular automaton code: it is very slow. I'm looking forward to the day it will run fast. But meanwhile if someone has ideas to speed it up, please go ahead.
TimToady well, it wants a GPU :) 18:55
timotimo that it does. 18:56
grondilu: you can have bigger neighbourhoods that get zipped together to create more than one result cell at the next step or alternatively one result cell skipping a few steps 18:57
those bigger neighbourhoods and the cells they result in can then be cached i na hash
that's how HashLife gets so incredibly fast
TimToady hmm, my .insert is really a roundrobin in disguise 18:59
FROGGS jnthn: could "Implement CUDA threads for MoarVM" be a GSoC project? 19:00
for me it feels as if this would be the right time and it would offer the right amount of work for a student
grondilu hang on. Are there serious hopes that P6 will allow GPU programming transparently??
grondilu thought TimToady was kidding when he talked about GPU 19:01
timotimo grondilu: i've got that hope in me
FROGGS my hope is that the compiler might choose to use gpu threads if it sees that it has to compute a few hundreds small tasks at once 19:02
and that it chooses to use cpu threads for larger/fewer tasks 19:03
timotimo i think a good first step would be to emit SIMD first 19:06
that'll already make a huge difference
as i understand it, there is significant overhead when putting data onto the GPU and retrieving data back
that's not the case with SIMD, afaik
FROGGS of course is there is some bottelneck 19:07
timotimo now you need to build good heuristics to avoid GPU-offloading if it's not effective :)
FROGGS the same issue make you to choose a software surface for one thing and a hardware surface for another 19:08
timotimo mh, right
nwc10 I would have thought that "working ropes" and "NFG" were more useful projects this year
FROGGS nwc10: true
nwc10 CUDA sounds like something that optimises existing functionality. Which seems daft to do before needed functionality is "exsting functionality" 19:09
PerlJam nwc10++ (ropes, NFG) 19:10
timotimo CUDA is problematic, because it's nvidia-only
OpenCL on the other hand is very, very poorly supported by NVidia
(they only support like OpenCL 1.1 or something like that)
FROGGS okay okay, scratch that idea then :o) 19:14
timotimo one of these projects (was that opencl?) also supports putting code onto FPGAs and such :)
TimToady grondilu: why would I not be serious about GPUs? SIMD is the main reason for having hypers in the first place? See also S03:4254 for an explicit reference to GPUs 19:27
synopsebot Link: perlcabal.org/syn/S03.html#line_4254
TimToady s:2nd/'?'/./
dalek nda/moar-support: 9fb996e | (Tobias Leich)++ | lib/Panda/Common.pm:
simplify compfuffix/comptarget, tadzik++
19:28
TimToady I don't think English capitalizes 'I' out of self-regard, but because simply because people thought 'i' was too hard to see for a pronoun that is going to change how you parse the verb, not to mention all the pragmatics surrounding 1st vs 2nd vs 3rd persons. 19:35
FROGGS p: sub MAIN($where = '.'.path.absolute) { say $where }; MAIN 19:36
camelia rakudo-parrot da53ec: OUTPUT«IO::Path</home/p6eval>␤IO::Path</home/p6eval>␤»
TimToady and there may have been some intererence with normally seeing 'I' at the front of the sentence, so people got used to the capital. 19:38
i note also that we don't capitalize Me.
if it were purely self-regard, we'd capitalize that too :) 19:39
but We don't do that, do We?
TimToady so I think it's mostly just a visual huffman thing 19:40
TimToady another way to look at it is that the ideographical nature of 'I' came to override the regular case rules. there are probably other examples of this in English 19:46
some of our characters are fossilized ideographs of words, like & and @ 19:48
FROGGS so @ is a word? 19:49
TimToady and the little circles in % and ‰ and ‱ surely used to be 0's 19:51
FROGGS yeah, I've always seen it that way 19:52
and was # meant to represent a table? (for a calculation?)
TimToady and arguably 􏿽xE2􏿽x84􏿽xAB is just the ideograph that evolved from Å 19:53
FROGGS O.o
.u 􏿽xE2􏿽x84􏿽xAB 19:54
yoleaux U+212B ANGSTROM SIGN [Lu] (􏿽xE2􏿽x84􏿽xAB)
TimToady so a good case could be made that I is just an ideograph for I, except that Unicode hasn't yet assigned a separate codepoint :)
FROGGS .u Å
yoleaux U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE [Lu] (Å)
FROGGS *g*
TimToady though obviously the I/me distinction keeps it from becoming a complete ideograph 19:57
or we'd write 'I' and pronounce it 'me'
FROGGS I pronounce it "Ei" :o) 19:59
TimToady I daresay most people write I rather than i because it's the convention, which is breaking down a bit nowadays due to lazy typists
FROGGS or "egg", even
grondilu I've made the P5 translation rosettacode.org/wiki/Elementary_cel...Perl.7D.7D 20:00
P5 is waaay faster than P6 on this.
TimToady s/this/most things/ 20:01
grondilu I know but it's kind of worrying because that shows all the work that still needs to be done to catch up with P5 20:02
TimToady in P5 you get the eager optimization for "free" :)
so everything is batched
we'll have to work a bit harder to propagate eager context 20:03
you'll note that hypers are implicitly eager, unlike Z
grondilu for some reason I could not overload ++ in P5. I thought I knew how to do this kind of things. Haven't done it for quite some time, though. 20:04
TimToady overloading in P5 is a complete hodgepodge of special cases
implemented by a brilliant but mad Russian :) 20:05
FROGGS tadzik: I've cloned all ecosystem modules and there are only three that have a Build.pm 20:17
Math--ThreeD/Build.pm: method build ($where) {
perl6-Imlib2/Build.pm: method build(Pies::Project $p) {
perl6-IUP/Build.pm: method build(Pies::Project $p) {
and the last two seem to be off
masak TimToady: who implemented overloading in P5? 20:24
lue I seem to be unable to use Panda anymore :( The error is "Cannot assign a non-Perl 6 value to a Perl 6 container" (previously spelled "cannot unbox to native int"), and it seems to be related to the "when X::Panda" bit in MAIN('install' 20:26
[Coke] oh. hey. I just had a horrible horrible idea involving something like CORBA and our metamodel. 20:27
FROGGS lue: can you provide more information? 20:28
FROGGS lue: what (rakudo) branches are you on? what are you doing to get the error? 20:29
lue during bootstrap.pl, under ==>Building File::Find, panda/master, rakudo/nom, nqp/master, moarvm/flatten_fastpath (though my default perl6 is perl6-p), parrot/master 20:30
(I know it's the when conditional because I expanded the CATCH { } into a multiline statement to better see what's failing) 20:31
FROGGS: gist.github.com/lue/9258983 20:35
FROGGS lue: can you invoke the shell cmd within bootstrap.pl with --ll-exception added? 20:38
lue sure, just a second
lue FROGGS: updated the gist. 20:43
FROGGS lue: I don't see the issue :/ 20:52
lue :/ 21:04
dalek nda/absolute: 026cd23 | (Tobias Leich)++ | / (7 files):
use absolute paths where possible
21:12
lue FROGGS: I'm running perl6-j ./bootstrap.pl , and it got past where parrot died. 21:27
perl6-m has segfaults, which considering the existence of panda/moar-support isn't surprising :) 21:29
So, it looks to be a Parrot issue I'm having :/
timotimo pandarot
FROGGS which is a weird thing
lue My guess is that for some part of the implicit $_ ~~ X::Panda in the when conditional is making Parrot complain. 21:34
lue considers bisecting rakudo to find the issue... too bad parrot is the slowest of them all to build :/ 21:42
rurban lue: where does it die? did you gdb it? 22:10
lue it dies upon "when X::Panda" in bin/panda. 22:11
lue I'm not sure what I would gdb, seeing as it's a P6/nqp-level exception. 22:12
FROGGS rurban: it dies in perl land, a few layers above gdb
rurban oh
lue is in the process of bisecting rakudo to find where it happens
FROGGS lue++
rurban tell me when you found a parrot problem. I just have a lot of parrot time 22:13
FROGGS I have no other idea/advice
lue the slow, slooow process of bisecting the backend that happens to be the slowest to build rakudo for :)
FROGGS lue: do you have a "good" revision already?
lue nope, I'm still waiting to be done compiling the first revision I want to see if it's good (that's 2014.02 specifically) 22:14
FROGGS are you recompiling parrot/nqp also? 22:15
lue nope, just rakudo so far. I hope that's where the error lies :)
FROGGS should be, yes
rurban well, gdb should even catch perl errors (using the proper breakpoint) 22:16
FROGGS well, he is far away from such a breakpoint atm 22:17
lue just so everyone here knows, I started compiling just perl6-p at 13:45:33, at it just got done now at 14:17:31 :P 22:18
FROGGS ??
you are not supposed to compile rakudo on your toaster...
that is kinda slow 22:19
lue Yeah, to the point where I wish I had a better way of even finding what the cause is. But I don't :/
FROGGS I guess it takes about five minutes on my laptop btw
I am compiling rakudo/nom now too 22:20
lue Way to make me feel like I have a stupid computer, FROGGS :P 22:20
FROGGS hopefully I get the same problem
*g*
lue Yeah, if *you* could do the bisecting, it'd be over with in a quarter of the time :) 22:21
FROGGS yeah, we should try :o)
lue Cool, 2014.02 is a good revision, I'm testing File::Find right now ( /me ^C and goes to the next revision)
FROGGS okay, I get the same error as you 22:23
lue FROGGS: Note that before a recent update, I instead got "cannot unbox to native int" in the same spot, so I believe that qualifies as the same error. 22:25
FROGGS it definitely feels related, yes 22:26
lue In fact, when I first saw the "Perl 6 object" error message, I thought it was a reworded form of the native int message. Could be wrong though :) 22:27
FROGGS no, it is a different one
p: my $l = nqp::list
camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in block at /tmp/VsJRK0667T:1␤␤»
FROGGS p: my $l = nqp::hllize( nqp::list ) 22:28
camelia ( no output )
FROGGS that is one way to trigger it
rurban I made parrot -O1 stable, -O2 soon. benchmarks: github.com/parrot/parrot/issues/10...t-36274524 22:29
FROGGS p: say 16.269/17.428 22:31
camelia rakudo-parrot da53ec: OUTPUT«0.933498␤»
FROGGS rurban++ 22:32
btw, my box takes 5m28.473s to build perl6-p 2014.02
lue should probably invest in a cooler processor some time :P 22:33
FROGGS I've got a core i5 22:34
timotimo i don't understand these benchmarks?
masak 'night, #perl6
FROGGS gnight masak
lue masak o/
masak tomorrow is Perl 6 day for me.
FROGGS nice!
masak yes! 22:35
FROGGS :o)
^---- nose
lue ja!
rurban make-4.0 -j10 should help 22:36
make 4 fixes a lot of concurrency issues, and -j10 saturates your cores better
lue FROGGS: I have a dual core Athlon that came with the computer; should shoot for a much nicer AMD CPU at some point :)
FROGGS rurban: that does not help building rakudo though
rurban and using ccache also helps a lot with bisecting
lue rurban: don't have make 4, so I'll be sure to check out sometime (for other stuff if not rakudo ☺) 22:37
rurban no parallelisms in the rakudo makefile
FROGGS the problem is that the dependencies almost force a sequential build
and the setting is one huge chunk wich takes like 40% of the total time 22:38
rurban ah, the setting. yes, RAM. nobody has make 4 yet, because some devs spreading the rumors that their builds will break
it fixed my -j4 builds with some hairy shellcode in the makefile 22:39
FROGGS Bisecting: 4 revisions left to test after this (roughly 2 steps) 22:47
FROGGS lue: this seems to it: e6c7baf01de1f38175ed4a51f9c2cfab2edfa9ba 23:02
lue FROGGS: I'm in the process of bisecting 4x as long as you took, let's see in a couple hours or so if my findings corroborate :P Could it possibly be the de-listification of lol there? 23:05
FROGGS lue: my guess is that this X op (METAOP_CROSS) does return something that wants hllizing: 23:07
panda/blib/lib/Panda/Builder.pm:8: my %color_of = @modules X=> 'not yet visited';
p: say < foo bar baz > X=> 'nyv' 23:08
camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in method REIFY at gen/parrot/CORE.setting:8407␤ in method reify at gen/parrot/CORE.setting:7279␤ in method gimme at gen/parrot/CORE.setting:7724␤ in method push at gen/parrot/CORE.setti…»
FROGGS \o/
lue FROGGS: What's weird is that error backtrace does not in any way go past bin/panda
\o/
FROGGS lue: see gist.github.com/lue/9258983#file-output-L25 23:09
lue Ah, I was referring to the non---ll-exception backtrace :)
FROGGS m: say < foo bar baz > X=> 'nyv'
camelia rakudo-moar da53ec: OUTPUT«"foo" => "nyv" "bar" => "nyv" "baz" => "nyv"␤»
FROGGS lue: yes, when you hit stuff in the setting, the non-ll hides it often 23:10
lue Well no, I'm referring to how I never learned it was in Builder.pm from the error message, which I think at least is Wrong™ 23:11
FROGGS I suspected Builder.pm fwiw :o) 23:12
lue Yeah, but still. :) I should still be told where in the code the issue came up. 23:13
FROGGS yes but...
lue FROGGS: I assume the problem is bigger than a simple nqp::hllize ? 23:23
FROGGS lue: I dunno yet
I am staring at the line else { $i = $i + 1; @j.push($j); $j = 0; }
lue ah, alright. 23:24
FROGGS that native int $j seems to cause the issue when getting pushed to @j
p: my @j; my int $j = 0; @j.push($j) # like that
camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in method REIFY at gen/parrot/CORE.setting:8407␤ in method reify at gen/parrot/CORE.setting:7279␤ in method gimme at gen/parrot/CORE.setting:7724␤ in method push at gen/parrot/CORE.setti…»
FROGGS damn, I am an awesome golfer :P 23:25
timotimo huh
that's not right
FROGGS don't you say *g*
timotimo m: my @j; my int $j = 0; @j.push($j); # does that work?
camelia ( no output )
FROGGS star: my @j; my int $j = 0; @j.push($j)
camelia star 2013-09: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in method REIFY at src/gen/CORE.setting:8332␤ in method reify at src/gen/CORE.setting:7265␤ in method gimme at src/gen/CORE.setting:7675␤ in method push at src/gen/CORE.setting:7754␤ in metho…»
timotimo how did we b0rk that?!
lue p6: my @j; my int $j = 0; @j.push($j)
camelia ( no output ) 23:26
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/tmpfile line 1:␤------> my @j; my⏏ int $j = 0; @j.push($j)␤␤Parse failed␤␤»
..rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in method REIFY at gen/parrot/CORE.setting:8407␤ in method reify at gen/parrot/CORE.setting:7279␤ in method gimme at gen/parrot/CORE.setting:7724␤ in method push at gen/parrot/CORE.setti…»
dalek kudo/nom: 3c80d3a | (Tobias Leich)++ | src/core/metaops.pm:
parrots arrays do not seem to like natives

This explodes using perl6-p: my @j; my int $j = 0; @j.push($j) Since I dont expect that this will be fixed quickly, I am de- optimizing the code slightly to make it work on perl6-p.
23:28
FROGGS timotimo: wasn't it the case that native ints have no container? 23:29
timotimo er
FROGGS ... and that an array relies on these containers? 23:30
timotimo the array should build a container, though
(it's what arrays do)
FROGGS except when it does not (or so)
p: my int @j; my int $j = 0; @j.push($j)
timotimo btw: is there a good "eselsbrücke" to remember which of array and list have containers and which doesn't?
camelia rakudo-parrot da53ec: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤ in any at gen/parrot/BOOTSTRAP.nqp:1219␤ in any at gen/parrot/BOOTSTRAP.nqp:1210␤ in method push at gen/parrot/CORE.setting:1596␤ in block at /tmp/n4KI3lz…»
FROGGS dunno, is that a Fangfrage? 23:31
lue FROGGS: "mnemonic" 23:32
BenGoldberg What's the proper way to do something like: 23:33
sub foo(int $native) { say $native }; foo(42);
lue FROGGS: Ah, nevermind :) /me needs a drastically better Deutsch vocabulary
FROGGS lue: *g*
BenGoldberg: writing "r: " in front of it? 23:38
r: sub foo(int $native) { say $native }; foo(42);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«42␤»
FROGGS timotimo: btw I think the array should build the containers, but for some reason it does not seem to happen 23:46
BenGoldberg feels silly ;)
FROGGS :o)
BenGoldberg Why can't the dispatcher autobox natives?
timotimo it can't?
FROGGS I always thought it does that
BenGoldberg Well, considering that the error message for 'p: my int @j; my int $j = 0; @j.push($j)' failing is 'Cannot call 'push'; none of these signatures match:', it seems to me that it's a failure to autobox.
lue BenGoldberg: it's a Parrot thing, not a Perl6 thing.
FROGGS my guess is that this is Array specific and not dispatcher specific
lue -j and -m do just fine with said code.
FROGGS lue: still likely to be a rakudo thing 23:46
lue well, parrot-leaning rakudo thing :)
FROGGS yes
FROGGS .u 「」 23:46
yoleaux U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
lue FROGGS: is that just for parrot, or does the parse time skyrocket for all backends? 23:48
FROGGS I think it is for all, but I'm not sure 23:49
I think it happened on the jvm at least, six months ago when lizmat++ added set/bag uniode ops 23:50
lue FROGGS: waitaminute: " otherwise the setting parse time increases insanely." but that's not the setting, it's the Grammar. Or is it affecting how fast the parser itself is? 23:51
FROGGS you are right, the last time the unicode ops where added to the setting 23:52
so perhaps this is really about Grammar.pm parse time
I can benchmark that tomorrow
but now I wanna go to bed :o)
timotimo gnite everyone 23:53
lue FROGGS o/
timotimo o/
FROGGS gnight