»ö« 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 diakopter on 14 April 2013.
[Coke] trying to install panda, getting errors in t/panda during install. 01:48
... ran bootstrap a second time. this time all the tests passed. 01:50
colomon ....cue Twilight Zone theme.... 01:56
[Coke] .seen lue? 02:04
yoleaux I haven't seen lue? around.
[Coke] .seen lue
yoleaux I saw lue 14 Apr 2013 20:14Z in #perl6: <lue> .oO(Luckily Java does a good job of keeping you up throughout the night, or this'd take twice as long)
[Coke] .tell lue there's a pull request for Lingua--EN--Numbers--Ordinal
yoleaux [Coke]: I'll pass your message to lue.
[Coke] wonders if github.com/szabgab/perl6-Pod-Parser is obsolete. 02:05
[Coke] .seen util 02:37
yoleaux I haven't seen util around.
[Coke] .seen Util
yoleaux I haven't seen Util around.
[Coke] .seen sergot
yoleaux I saw sergot 10 Apr 2013 19:55Z in #perl6: <sergot> timotimo: oh, right! I was thinking about it. Will do this. thanks timotimo++
[Coke] github.com/coke/Algorithm--Diff is failing because it has a proto with (@a,@b?,....) - when called without a @b, it is complaining that the thing passed in next isn't a Positional, like it missed that ? on the @b.) 02:46
.tell masak github.com/masak/csv has test failures 02:51
yoleaux [Coke]: I'll pass your message to masak.
undersc0re97 hi is there an official interpreter for Perl 6 yet? 03:02
labster There is an official specification for Perl 6, and various interpreters that implement the spec (to various degrees). 03:04
geekosaur there is unlikely to ever be *an* official intepreter, as such. perl 6 is not a monolith defined by a single implementation, and having multiple implementations has helped flesh out the specs and flush out bugs in both the spec and the implementations 03:05
this is not python; "there's more than one way to do it" applies even to perl itself :)
undersc0re97 and this is why perl 6 sucks
g'day
geekosaur nice troll 03:06
labster trollolol
adu ? 03:16
adu how do I read a file into a string? 03:41
sorear slurp 03:43
adu is that a string method or a function? 03:44
labster both
slurp "filename"; "filename".IO.slurp;
adu I don't see it in perlcabal.org/syn/S29.html 03:45
labster perlcabal.org/syn/S32/IO.html
adu ah, thanks
labster actually "filename".IO.open.slurp; 03:46
adu I'll probably use the global
labster it's easier.
adu how do I remove whitespace at the end of a string? 04:33
tangentstorm maybe s/$<x>=(.*?)\s*/$<x>/ ? 04:35
i don't remember the new notation. 04:36
lue r: say "foo " ~~ /\s+$//
yoleaux 02:04Z <[Coke]> lue: there's a pull request for Lingua--EN--Numbers--Ordinal
camelia rakudo 5122e2: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/BVbGbw3qOL:1␤------> say "foo " ~~ /\s+$//⏏<EOL>␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤»
tangentstorm for regexps i mean, unless it's the same
oh yeah
lue r: say "foo " ~~ s/\s+$//
camelia rakudo 5122e2: OUTPUT«Cannot modify an immutable value␤ in sub infix:<=> at src/gen/CORE.setting:12872␤ in block at /tmp/Z7CZN6JCdM:1␤␤»
lue r: my $a = "foo "; say $a ~~ s/\s+$//
camelia rakudo 5122e2: OUTPUT«True␤»
lue r: my $a = "foo "; $a ~~ s/\s+$//; say $a; # Bah.
camelia rakudo 5122e2: OUTPUT«foo␤»
adu hmm, I was looking for trim or chomp or chop, but none of them work 04:37
lue r: my $a = "foo "; say $a.chomp, "2 spaces now"
camelia rakudo 5122e2: OUTPUT«foo 2 spaces now␤»
lue huh.
anyway, s/\s+$// will get all the whitespace from the end of a string. 04:38
adu r: my $a = "foo "; say $a.trim, "2 spaces now"
camelia rakudo 5122e2: OUTPUT«foo2 spaces now␤»
adu o trim works
r: my $a = "foo "; say $a.trim(), "2 spaces now"
camelia rakudo 5122e2: OUTPUT«foo2 spaces now␤»
Heather Good morning 04:49
labster good morning, Heather. 04:55
Heather is there something for UI here? 04:57
labster has no idea 04:59
adu how do I declare a variable in a class? 05:26
r: class C{ constant $X = 3; method F() { return $X; }}; my $c = C.new; say $c.F 05:28
camelia rakudo 5122e2: OUTPUT«3␤»
sorear seems like it worked?
adu I guess so :D 05:30
:P
adu how do I do $x[0].ast ~ $x[1].ast ~ $x[2].ast 05:48
sorear you want to convert the ASTs to strings and concatenate the string representations? 05:54
adu sorear: yes, exactly 05:55
but @xs.map -> $x { $x.ast } isn't working 05:56
FROGGS morning 06:00
sorear adu: don't try to be fancy. 06:07
do you know how to write a loop over indexes?
adu no 06:10
I learned perl6 all wrong, I started with grammars, and now I'm learning basics
sorear do you know C or Java or any of the other five million languages that don't have map? 06:11
Heather___ sorear wait, Java have no map? :P 06:12
adu for @xs -> $x { $x = $x.ast }? 06:12
diakopter or $x.=ast 06:13
adu oh nice
adu now, does it have to have the @ sigil? or does that work for parcels too? 06:14
diakopter the @ sigil only signifies Positional role; anything can be iterated if it implements it 06:16
at least, in 6model. 06:17
I suspect it's the same in niecza
adu r: grammar G { rule TOP { <int>+ { my @xs = $<int>; for @xs -> $x is rw { $x .= ast }; make @xs.join(',')}}; rule int { <digit>+ { make $<digit>.Str.trim }}}; say G.parse('12 34').ast 06:20
camelia rakudo 5122e2: OUTPUT«1 2,3 4␤»
adu hmm, that's almost right
moritz good morning 06:21
japhb++ # reviewing commits
adu good morning moritz
masak good morning, #perl6 07:59
yoleaux 02:51Z <[Coke]> masak: github.com/masak/csv has test failures
hoelzro o/ masak
diakopter masak: did you see camelia? 07:59
jnthn morning, #perl6 08:01
hoelzro o/ jnthn
arnsholt 'lo jnthn
masak rn: say "»ö«" 08:05
camelia rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«»ö«␤»
masak diakopter: yes, noticed in the backlog. 08:06
diakopter: or rather, I noticed the name change from p6eval to camelia. didn't really understand why, or if there was anything more that changed. :)
diakopter 'cuz it's cute 08:07
masak gotcha. 08:08
FROGGS still is a SCHMETTERLING 08:09
DrEeevil smashes random things
diakopter gets smashed 08:10
FROGGS .oO( it just seems random O.o )
DrEeevil you started with the SCHMETTERLING
masak I know "Schmetterling" is German for "butterfly"... but it sounds like what you would get if you were to render the word "flapper" in German. 08:18
diakopter fapper? 08:19
masak no, "flapper".
like with wings.
Heather masak hi.
diakopter fapper?
masak Heather: oh hai. 08:20
Heather: hope you are well.
tadzik butterly, flutter by
Heather I'm well
masak yay 08:21
sorear diakopter: don't go there.
.translate en de bat
.help
yoleaux sorear: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
sorear .tr :en :de bat 08:22
yoleaux Fledermaus (en → de)
sorear masak: I like that one a lot too
tadzik oh, new translation syntax
.tr :pl :en agrafka
yoleaux safety-pin (pl → en)
labster hi everyone
tadzik hi labster
Heather .tr :en :pl butterfly
yoleaux motyl (en → pl)
sorear hi labster
masak sorear: oh. same word in Swedish :)
labster .tr :en :ja butterfly 08:23
yoleaux 蝶 (en → ja)
masak same in Chinese ;)
FROGGS hehe
sorear it amuses me how many 3 and 4 letter words us city kids have for things that I've never actually seen in person
awful huffmanning
masak sorear: yeah, since we abstracted away Nature we're long overdue for a corresponding language refactor. 08:24
tadzik such as?
masak I hear they're going to abolish Nature completely in the next generation or so.
Heather .tr: :la :en perl 08:25
masak Heather: no colon after '.tr'
sorear masak: Elsevier *shakes fist at sky*
Heather .tr :la :en perl
yoleaux all over (la → en)
Heather .tr :la :en Perl 08:26
yoleaux Perle (la → en)
tadzik sorear: what are those 3-4 letter words?
masak sorear: I know about the publishing company, but not really sure what you're referring to.
tadzik: 'cat', 'bat'...
tadzik ah
I've seen both :)
sorear "sty" is another great one
masak that's used of teenage rooms, though.
tadzik .tr :en :pl sty
yoleaux chlew (en → pl)
tadzik oh, a dorm room 08:27
masak does "told you so" gesture
Heather .tr :la :en perl Perl perL
yoleaux all over Perle Perle (la → en)
sorear tadzik: haha
tadzik: literally, a holding area for pig farming
tadzik yeah, I know the word :) 08:28
masak some of us were actually born on the countryside :P
sorear oh, I thought maybe google translate had caught the metaphor meaning :D
jnthn masak: And some of us were born *in* it :P
tadzik well, my hometown actually qualifies as, hrm
.tr :pl :en wieś
yoleaux village (pl → en)
tadzik well, that's not the perfect translation
masak jnthn: d'oh! surely you're "on" a side, not "in" a side? :/ 08:29
jnthn masak: No, it's certainly "in the countryside" :)
tadzik but I'm used to sleeping in barns and whatnot :)
masak sorear: I've never had someone explain a sty as "a holding area for pig farming" before. that's hilarious, because it's both true and very abstract.
sorear IME area class words don't translate well
it's "in" here. probably an en_US/en_GB thing? 08:30
sorear masak: The farmers get all the really short technical terms, I feel slighted :P 08:30
Heather .tr :en :en programmue
yoleaux programmue (en → en)
Heather .tr :en :en programme 08:31
yoleaux programme (en → en)
masak sorear: no, it's "in" on both sides of the pond, and I'm just mis-generalizing.
sorear suspects :en :en may be getting turned into a noop 08:32
Heather .tr :en :de :en programme 08:32
yoleaux Programm (en → de)
labster sorear: we stole "net" from fishermen," web" from insects, and "blog" from baby-talk. 08:33
sorear wonders if the vertical banks of the Rio Grande (a river which serves as the .us/.mx border for part of its length) count as country-side
labster tries to imagine the Rio Grande as something other than a flat riverbed. 08:34
diakopter there are canyon sections 08:35
sorear (or really any river or canyon that is an international border) 08:35
labster How about Niagara Falls on .us/.ca border?
Heather wonders if sandbox="allow-same-origin allow-scripts" will hack iframes 08:36
arnsholt It should count as country-side if it doesn't =D
labster r: if BEGIN {1}␤ && 2 { say "alive" }
camelia rakudo 5122e2: OUTPUT«===SORRY!===␤Missing block␤at /tmp/OujNZ9ORXC:2␤------> ⏏&& 2 { say "alive" }␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement modifier loop␤ parameterized block␤»…
sorear does anyone have an example of an open-pit mine that butts a border? "can't touch that rock, that's someone else's" 08:37
tadzik for some reason, that reminds me of this cartoon 08:38
"
labster I upgrade from r* to current rakudo, and magically find my code not working. but should that work above?
tadzik "Obviously, white zebras with black stripes hated black zebras with white stripes"
sorear std: if BEGIN {1}␤ && 2 { say "alive" }
camelia std 86b102f: OUTPUT«===SORRY!===␤Missing block at /tmp/mMzKmpZLwa line 2:␤------> ⏏&& 2 { say "alive" }␤ expecting any of:␤ blast␤ block␤ statement end␤ statement list␤ statement modifier loop␤Parse failed␤FAILED 00:00 43m␤»…
sorear labster: Looks like it should not work. Hmm. 08:39
labster r: if BEGIN {1}␤ { say "alive" }
camelia rakudo 5122e2: OUTPUT«alive␤»
labster std: if BEGIN {1}␤ { say "alive" }
camelia std 86b102f: OUTPUT«ok 00:00 43m␤»
sorear std: if BEGIN {1}␤ { say "alive" }
camelia std 86b102f: OUTPUT«ok 00:00 43m␤»
labster huh. Well, that used to work. Oh well, no big deal. 08:40
jnthn That used to be a parse bug in Rakudo 08:42
} did not always terminate lines properly, so it left the parser happy to parse an infix 08:43
Which mean if the next line sharted with a %h you were in bother.
*started
As it treated the % as a modulo.
jnthn remembers fixin' it.
labster I think I'm going to get less surprises if I just move to the git version. Or at least more incremental surprises :) 08:44
kresike hello all you happy perl6 people 08:49
labster oh boy, more block parsing errors. 09:06
r: my (%filesizes, @duplicates); %filesizes ==> grep { .value ~~ Array }␤ ==> map { .value }␤ ==> @duplicates ;
camelia rakudo 5122e2: OUTPUT«===SORRY!===␤Bogus statement␤at /tmp/3gX91Wax5H:2␤------> ⏏==> map { .value }␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement modifier loop␤ prefix or term␤ …
labster r: my (%filesizes, @duplicates); %filesizes ==> grep { .value ~~ Array } ==> map { .value } ==> @duplicates ; 09:07
camelia rakudo 5122e2: ( no output )
labster newlines man.
jnthn Hmmm
std: my (%filesizes, @duplicates); %filesizes ==> grep { .value ~~ Array }␤ ==> map { .value }␤ ==> @duplicates ; 09:08
camelia std 86b102f: OUTPUT«===SORRY!===␤Bogus statement at /tmp/W_Gdpg0R0O line 2:␤------> ⏏==> map { .value }␤Parse failed␤FAILED 00:00 46m␤»
jnthn That's inconvenient, though consistent with STD 09:08
Can be defeated with parens
grep({...})
arnsholt What about moving the ==> to the other side of the newline? 09:09
jnthn Should work also
The rule is about } followed by a new line
jnthn kinda likes lining up his pipes to the left, though... 09:10
arnsholt Yeah, I like having them on the left as well
Unrelated, I hate writing abstracts 09:11
jnthn is writing sample code and tutorial material today, which isn't so bad 09:12
arnsholt Yeah, that's a bit easier
arnsholt forgot about the JavaZone deadline
So now I have to write it up, or not get to submit anything at all 09:13
jnthn ah, conf deadlines...
When is JavaZone?
FROGGS * jnthn remembers fixin' it. <--- how? I had problems yesterday parsing 'require "/path" <&bar>' as '<sym> <path=.EXPR> <args=.EXPR>', it always meant to parse an infix:<
arnsholt September I think
jnthn That's quite a way before the conf
arnsholt 11th and 12th 09:14
jnthn Oredev has a deadline way before the conf too. My $dayjob are like "submit?" and I'm like "ah, a November conf" and then always miss the (I think April-ish) deadline.
Like I've a clue what I'll care about in November all the way back in April! :)
arnsholt I know!
Sometimes I don't know what I'll care about next week, never mind half a year in advance =) 09:15
labster okay, my broken modules are working once again. thanks jnthn++. And now it's bedtime. 09:39
FROGGS gnight labster 09:41
arnsholt jnthn: What's your gut feeling for NativeCall on JVM in early september? 10:02
jnthn arnsholt: Should be do-able, if you've some tuits to throw at it also. If it's just me...less sure. :)
arnsholt Yeah, I expect to be able to work on it, yeah 10:03
jnthn arnsholt: Once I get the JVM support into the NQP repo, there's no reason you can't dig into the NQP side of the support...after all, it's exposed as nqp::ops
arnsholt Yeah, that was my rough (not-really-a) plan so far 10:04
Continue working on mainline NQP and start hacking on the JVM side once it lands in the main repo
masak waves, from a train 12:16
isn't it *awesome* that you can do IRC while moving ~100 km/h? 12:17
Heather is dancing in the rain
masak I assume that's how fast we're moving. SJ calls their trains "SJ snabbtåg", which gets more ridiculous every year as other countries are building more and more trains that top out at ~300 km/h. 12:18
jnthn masak: snabbtaag does faster than that a lot of the time.
masak oh, ok. 12:19
jnthn To Stockholm is what, 700km?
And it gets there in 4.25 hours or so
masak oh yeah.
jnthn I think it's 200km/h ish.
masak ok, that's kind of fast-ish, then. 12:20
jnthn Sweden will probably get on the 300km/h + bandwagon eventually, I suspect. There are plans...
masak "SJ inte så långsamt-tåg" :P
jnthn :D
...I bet it'll be 2030 or so though.
masak WOW that's fast! oh wait
jnthn You have to be China to build high speed rail out at insanely high pace. :)
masak I love the plans I saw for Chinese trains that are so fast they *don't stop at stations*. 12:21
(you have to dock with them while they're moving, with a special secondary train) 12:22
jnthn I...don't see that one happening in reality. Even if it is wildly cool :) 12:22
The next time I get chance to travel around China, it will be rather different.
Last time I did loads of overnight sleeper trains to cover the distances. These days, a bunch of those are a few hours on a high speed... 12:23
.oO( Now if only they could do this with the Trans-Sib... :) )
arnsholt jnthn: They keep talking about high-speed rail in Norway as well, especially Oslo-Bergen 12:24
jnthn arnsholt: I've done that journey on the line that exists today, and I can only think, OMG that would be EXPENSIVE. :) 12:25
arnsholt But nothing ever comes of it, since it's easier to build some roads with a tunnel or two and the odd bridge
Far easier way to get political goodwill >.<
jnthn You may well start and end at sea level but there way is anything but flat.
*the
You hit >1km in altitude at one point, iirc?
arnsholt Indeed. But when the line was built (>100 years ago, if memory serves), the total budget was more than a full year's national budget 12:26
jnthn Wow :)
arnsholt Finse station is 1222 above sealevel, I think
And the highest point a bit above that again
Yeah. Infrastructure is stupid expensive
jnthn Ah. I got off at Myrdal, or however you spell it. 12:27
The one where the line down to Flaam starts.
arnsholt Myrdal is a station, not too far from Bergen
Yeah, that's Myrdal
jnthn It's still pretty high, iirc.
arnsholt ("Bog valley" is the literal meaning in modern Norwegian) 12:28
Still a ways to go down to Bergen from Myrdal, I think, yeah 12:30
Lots of mountains, certainly =)
jnthn Yeah. I really liked it there. 12:31
Will have to visit again some day.
arnsholt Could you take a look at gist.github.com/arnsholt/219bafc22a55fac09e21 BTW? What I've got for my JavaZone abstract so far 12:33
Feedback from anyone with a few minutes to spare would be much appreciated
jnthn arnsholt: Operator definition is not quite coupled to classes, fwiw :) 12:36
Maybe point out how it's done with multiple dispatch?
tangentstorm There are probably a great many java developers who don't know what perl is. 12:37
jnthn chuckles at the Expected audience :D
arnsholt: Gradual typing may also be worth a mention 12:38
(you come close, but making it explicit the programmer gets to pick how typed their program is may be worth doing) 12:39
[Coke] sergot: how often does feather.perl6.nl/~sergot/modules/ refresh?
tangentstorm arnsholt: Probably java readers would rather you compared it to java than to perl5.
jnthn tangentstorm: Hm, that's a good point on audience... 12:40
tangentstorm Like how does this grammar stuff compare to ANTLR?
arnsholt jnthn: I know. Figured I'd not go into too many details in the abstract 12:42
(Re: operators)
Yeah, I tried to hint at the gradual typing. Any suggestions on how to make it clearer?
tangentstorm answer: perl6 has a lot more power, you can (with a little work) use perl actions with existing antlr grammars.
arnsholt Yeah, I need more bullet points on audience
tangentstorm Can you use java classes from perl, and vice versa? 12:43
jnthn tangentstorm: Not yet, but I want to make that possible.
arnsholt ANTLR is a good idea. It should be well known to Java folks and make the increased expressive power apparent
Language interop is one of those non-specced parts of Perl 6 I think
jnthn tangentstorm: Got get Rakudo to run there at all first :)
[Coke] jnthn++ jvm work. 12:44
tangentstorm oh so this is like a "vision of the future" article, arnsholt? 12:45
jnthn tangentstorm: It's a conf abstract for September, which is in the future. :) 12:46
tangentstorm i could be biased. So far talking to antlr4 is the only thing i've really accomplished in perl6 :)
Oh cool. Didn't know what javazone was.
arnsholt tangentstorm: No, this is a Java conference
So my general idea is "Perl 6 is super awesome! And look, it runs on the JVM like, right now!" 12:47
Especially the last part. I'd like to demo some code using Rakudo/JVM and show that it's possible right now
Now vapourware, no grand visions of the future, just cool code right now 12:48
jnthn s/Now/No/ ? :)
tangentstorm Who is working on this?
arnsholt Yeah, that ^_^
[Coke] ooh, I liked javaone. first conference I got work to send me to. :) 12:49
jnthn tangentstorm: Various folks here are contributing.
[Coke] still has his stuffed Duke!
arnsholt tangentstorm: "This" being the JVM port?
tangentstorm yeah.
arnsholt Mostly jnthn++ is my impression, but several other as well 12:51
tangentstorm jnthn: so is the plan to port NQP to the jvm, or is there another layer lower than that, but above PIR when you can make the cut? 12:54
(or is it just a completely different thing?)
jnthn tangentstorm: NQP is basically already ported in github.com/jnthn/nqp-jvm-prep/ 12:55
tangentstorm cool
jnthn tangentstorm: It can cross-compile itself to the JVM.
tangentstorm: Giving a Parrot-independent output. 12:56
I'm two files off having that self hosted thing being able to spit itself out.
Meaning it'll be bootstrapped on the JVM.
also migrating the work into the main NQP repository since loads of code is shared. 12:57
tangentstorm Cool.
daxim "until we have a Perl6 hype and girls start tearing of their shirts if they see a guy wearing a Perl6 T-shirt. Yeah. Why not? Phantasies are not illegal." 13:11
arnsholt daxim: ? 13:12
masak daxim: please provide some context.
daxim perlmonks.org/index.pl?node_id=1027730
masak is getting increasingly tired at debates on exactly where on the adoption curve Perl 6 is 13:14
daxim you tire, you lose
masak I beg to differ. I'm coding Perl 6 and having a lot of fun.
I'm *getting Perl 6 code written*.
interestingly, these conversations seem to be conducted by people who (for the most part) haven't coded much Perl 6. 13:15
daxim if you'd help tadzik fix the papercuts, you'd increase adoption for >1 persons, which has the greater utility
tadzik papercuts? :)
masak agreed. I'll have a look at CSV later today.
daxim like github.com/tadzik/panda/issues/40 13:16
masak by that argument, writing new libraries, modules, and frameworks that people will use, also has great utility.
hoelzro the problem I've had with writing Perl 6 code is that I get 80% there, and something stops me
whether it's my knowledge of the language or a bug 13:17
tadzik ah, yes
daxim ↑ what mr ro said
tadzik daxim: I went some way towards that, it's not ready for publishing yet
hoelzro sometimes the bugs are workaround-able, but sometimes it's hard
especially without digging into the internals
daxim excellent, keep the public updated with your progress
tadzik I do, I complain and rant regularly :) 13:18
hoelzro speaking of bugs I've found...has anyone had a chance to look at this? rt.perl.org/rt3/Ticket/Display.html?id=117377
hoelzro also needs to work on compiling the list of weird behavior he found with POSIX.pm6 13:19
jnthn hoelzro: The underlying issue is that there's no postcircumfix:<( )> in the base class. 13:20
hoelzro jnthn: right
but adding it is non-trivial =( 13:21
I made a comment detailing my research =)
jnthn Yeah, it's non-trivial. If you Just Naively Add It you end up turning every method invocation into an infinite loop... :) 13:22
Well, infinite recursion.
hoelzro right =/ 13:23
I'd be happy to work on it some more; I just need some direction
jnthn May be best added in BOOTSTRAP 13:25
colomon masak: you did see github.com/masak/csv/pull/6 , right? 13:26
hoelzro I think I tried adding it to BOOTSTRAP
jnthn But may also need to circumvent stuff somewhere in ClassHOW...
I'd have to look more closely, and I'm meant to be $dayjobbing at the moment :) 13:27
masak colomon: no, I didn't. looking now. 13:27
hoelzro ok, very good 13:28
masak colomon: merged.
hoelzro I also found some...interesting behavior with NativeCall while working on POSIX.pm6, but I have to put the examples in a more digestable format
colomon masak++ 13:29
tadzik github doesn't make it too easy to keep track of pull requests opened in your repos
colomon tadzik: ah, I didn't know that. 13:30
I figured there would be an e-mail sent.
tadzik oh, there is :)
masak I have a simple rule to manage it all: I ignore all pull requests until someone tells me in person.
tadzik I find those easy to forget too
github.com/dashboard/pulls/public is almost good
masak emails -- I couldn't handle all that, so I think I turned them off.
tadzik if only it had "show only _my_ repos, not all repos I have access to" 13:31
masak right.
tadzik I should probably ask github stuff for that
masak that was the problem for me -- too much noise.
tadzik: please do :)
colomon interesting.
tadzik same with issues
oh, issues have "In your repositories"
colomon now has to remember what the other pull request he sent yesterday was...
tadzik but no, that's also "you have access to" 13:32
arnsholt jnthn: Regarding the gradual typing stuff. What's a good way to sell it to a Java audience, you think?
colomon ah, template6 -- supernovus?
arnsholt hoelzro: I'm sure there's lots of fun stuff in NativeCall. Bug reports are welcome =) 13:33
jnthn "Perl 6 isn't statically typed or dynamically typed; as a gradually typed language, it lets the programmer pick the point on the spectrum that best suits the problem at hand."
arnsholt I'm a bit tuit-starved ATM, though. Unfortunately :/
hoelzro arnsholt: I'll submit them as soon as I have good examples =)
aren't we all? ;)
arnsholt True dat. More so than usual =) 13:34
colomon I feel like I should know supernovus's IRC handle, but I don't. anyone?
arnsholt jnthn: Oooh, nice one. It's almost like you've thought quite a bit about this =D
hoelzro will Perl 6 compilers ever do anything like type inference? or does that conflict with gradual typing in a way I'm not thinking about?
jnthn hoelzro: The optimizer is free to make inferences when it can determine it is safe. 13:35
hoelzro ok, very good
arnsholt Rakudo's optimizer does a bit of inference already, doesn't it? 13:35
jnthn Depends what you count as inference... :)
arnsholt Heh
hoelzro well, my $sum = 0; for @known_int_values -> $value { $sum += $value } return $sum 13:36
(assuming @known_int_values is declared as Array of Int)
the compiler *could* say "hey, $sum is an Int"
right?
jnthn It's got to prove that every assignment to the variable doesn't change its type. 13:37
brrt only if it knows all @known_int_values are integer
also
hoelzro right
brrt what about speculative optimisations?
'assuming this stays an integer, do ….., otherwise, bail me out'
jnthn brrt: Just need to be careful not to lose by bulking up the resulting code too much with speculation. 13:38
Some things are better left to JIT time.
brrt uhuh
hoelzro let's say it's this: sub mysum(Array of Int @values) { my $sum = 0; for @values -> $value { $sum += $value } $sum }
brrt but i wonder how many or few JIT-ers transform objects to primitives
hoelzro $sum is safe to be an Int here
hoelzro another thing is this: 13:38
brrt hoelzro, in ruby it aint
(for example) 13:39
hoelzro brrt: it's not?
brrt because int is defined to overflow to BigInt
hoelzro oh, I see
brrt IIRC
hoelzro good point
well, my other question is:
hoelzro will a Perl 6 compiler *ever* say "hey, I can tell mysum always returns an Int. So it's Signature.returns is Int now." 13:39
hoelzro *its 13:41
colomon hoelzro: btw, it's easier to write sub mysum(Array of Int @values) { [+] @values } ;) 13:45
hoelzro colomon: I know, it's just an example =)
brrt you're asking for type inference?
brrt is not aware of anything that forbids it 13:46
hoelzro I'm asking if that kind of inference will be done
brrt but i'm not sure it would be spec-ed
hoelzro yeah
brrt and then, do non-inferencing compilers comply?
masak colomon: usually typing a @ variable with 'Array' is Not What You Want.
brrt do we want to put the burden of correct type inference onto compilers?
masak colomon: unless you expect to pass in a Positional of Array. 13:47
hoelzro the compiler could add signature metadata by itself, tooling could recommend metadata additions, or the compiler could ignore it
masak colomon: did you mean 'Int @values'?
hoelzro masak: that's my fault
I meant Int @values
masak oh, so I see.
jnthn 73 lines, lock free
oh, ww
masak :)
hoelzro there could also be a lexical trait or something that says "hey, go nuts with type inference here" 13:48
brrt hmm
hoelzro hmm
I think I like that last one best
brrt it would be un-perl6-y to /not/ specify such a thing
hoelzro use auto_inference; # automatically amends type signatures if capable
hoelzro continues to muse over coffee
arnsholt Why would you want that to be turned on explicitly? 13:49
If the optimizer can statically determine something's safe, it should do it anyways
If it can't be proven to be safe, you can't do it anyways
skids Maybe you want to know at compile time if you have written code that will collapse to natives... 13:50
So it could fail if not.
arnsholt That might be nice, true
brrt use infer; use infer :primitives; 13:51
arnsholt The Allegro Common Lisp compiler has a neat feature where you can enable a pragma which outputs lots of info about what code is inlined/turned into natives (and, crucially, why some of it isn't)
brrt use inference 13:51
arnsholt OTOH, ACL is a commercial CL compiler that's been in development for something like 30 years
brrt likes
what, we'll reach that age soon enough 13:52
timotimo hehe :) 14:08
FROGGS I am already 30 fwiw 14:10
arnsholt I've updated my abstract gist: gist.github.com/arnsholt/219bafc22a55fac09e21 14:13
timotimo looking for a file to put a test for rt.perl.org/rt3/Ticket/Display.html?id=73938 into - suggestions? 14:15
hoelzro arnsholt: just for signature inference 14:16
for an our sub/multi
tadzik FROGGS: Happy Birthday! \o/ 14:17
timotimo r: try eval q{ sub foo(Str) { }; foo 42 }; say $!.WHAT # there is no typed exception for this yet?! 14:18
camelia rakudo 5122e2: OUTPUT«(X::AdHoc)␤»
arnsholt hoelzro: Sorry? My addled brain failed to parse that
timotimo i'd like to create a type dexception for that. yay/nay?
FROGGS tadzik: no, my birthday is in 6 months.... :o)
hoelzro arnsholt: I mean to say that I think inference should be automatic for lexicals
and optional for things that will exist outside the current lexical unit
arnsholt Oh, right 14:19
FROGGS timotimo: you need a typed exception to make a proper test, so, yes :o)
hoelzro because I see no harm in implying Int for my $sum = 0;
but for sub mysum(Int @values) { ... } 14:20
there might be a case where magically attaching a 'returns Int' without informing the user could be bad
timotimo how about X::Routine::ImpossibleInvocation? 14:22
FROGGS hmmm, an X:: is always if something is not possible at that moment 14:23
timotimo i could derive it from X::Comp without having X::Comp in the name, no? 14:24
FROGGS right
timotimo does the name sound acceptable then?
hm, there are X::Routine:: and X::Multi, but this exception kind of covers both cases 14:25
FROGGS routine is the base class of a multi 14:26
and adding tokens is more about multis as routines
timotimo interestingly there is already X::Multi::NoMatch, which could be used for this case if we have a multi.
oh, i wasn't thinking about adding tokens at the moment
i got sidetracked :)
FROGGS rn: sub statement:<hurz> {}; say "alive"; #RT #73938 14:27
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Cannot extend category:statement with subs at /tmp/MhLL4dTIyQ line 1:␤------> sub statement:<hurz> ⏏{}; say "alive"; #RT #73938␤␤Potential difficulties:␤ &statement:<hurz> is declared but not used at /tmp…
..rakudo 5122e2: OUTPUT«===SORRY!===␤Cannot add tokens of category 'statement'␤at /tmp/XyTbNOKN0a:1␤------> sub statement:<hurz> ⏏{}; say "alive"; #RT #73938␤ expecting any of:␤ colon pair␤ quote words␤»
FROGGS so it is about trying to add multis to an onlystar? 14:28
err, not onlystar...
timotimo nonono, i am talking about something entirely different right now
r: try eval q{ sub foo(Str) { }; foo 42 }; say $!.WHAT
tadzik FROGGS: doesn't matter! \o/ :D
camelia rakudo 5122e2: OUTPUT«(X::AdHoc)␤»
FROGGS tadzik: \o/ :O)
ahhh, this one 14:29
FROGGS X::Routine::SignatureMismatch? 14:30
timotimo how does it relate to X::Multi::NoMatch? the error messages are very similar at lesat 14:31
least*
FROGGS hmmm, it is almost the same, yes 14:32
maybe throwing the same message is okay in this case
ENOSUCHCANDIDATE
timotimo i'll have a look if i can make it happen 14:33
oh, well, there may not be a $.dispatcher that i can put there, though.
skids Though the user might infer that receiving an X::Multi::NoMatch means that their sub is considered a multi. 14:34
timotimo right
i think i'll need a distinct error message
especially since the code already distinguishes between "calling proto of" and "calling" ... "will never work". 14:35
it seems like i could even improve the error message from X::Multi::NoMatch, as it only says "none of these signatures match", but not what doesn't match any of the signatures 14:37
that shall be my first stop.
skids Yeah I've wanted that.
timotimo oh, it seems like that comes from the insides of parrot 14:38
FROGGS timotimo: I believe that this is in cqp's multidispatch.c 14:39
skids Better put down some newspapers. :-)
FROGGS *g*
timotimo i don't know what ... oh. 14:40
yes, that could very well be.
but the multiple dispatcher is in nqp nowadays
so maybe i can fiddle around in it for a bit
FROGGS you could add the current call right beneath the most fitting dispatchee, and colorize the good&bad arguments green&red O.o
timotimo yikes 14:41
FROGGS :P 14:41
NAOW!
timotimo seems like the multidispatch nqp code is only in jvm compatibility stuff?
FROGGS might well be 14:42
timotimo i'll wait for that to hit parrot-rakudo. if it ever will. 14:43
whaaaat, multi_dispatch.c is only 150 lines of c code?! 14:44
timotimo hm, but there must be some other code, this is just caching stuff 14:47
NQPRoutine seems to have a dispatch method 14:48
FROGGS timotimo: once the dispatchee-dumper was in that file, at least I believe it was 14:50
github.com/perl6/nqp/commits/master/src/guts 14:51
timotimo i only see a simple nqp::die for "ambiguous" and "no candidates"; how is it dispatched to the correct exception type? :\
FROGGS jnthn++ removed large chunk on feb 07 14:52
timotimo yes, the rest seems to be in NQPRoutine now
FROGGS r: multi a(Str) { }; a(7) 14:53
camelia rakudo 5122e2: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'a' will never work with argument types (int) (lines 1, 1)␤ Expected any of:␤ :(Str )␤»
timotimo well, that comes from the optimizer 14:54
FROGGS /home/froggs/dev/rakudo_rakudo/src/Perl6/Optimizer.pm:621: $obj.name ~ "' will never work with " ~
meh, right
timotimo yes, i've found this all before ;)
FROGGS bah
timotimo sorry
FROGGS np
timotimo i wonder how to do this later than compile time 14:56
except by turning off the optimizer
apparently that still runs at --optimize=0 14:57
anant__ Is exception reporting handled differently on the REPL? 14:58
timotimo a little bit
due to an unfortunate bug, $! will not be available between lines :(
if you write try { die "foo" } and after that say $!, you'll get nil
or rather Any. 14:59
anant__ I was trying to understand this: gist.github.com/anant-sogani/5388608
timotimo in you write try { die "foo" }; say $!, you will get foo
ah, indeed. it may be lazy in the file and -e version, but eagerly evaluated in the REPL 15:00
because the repl will print the value of your expression
try this in the repl:
my @a = 1, 2, 8 ... *; 1;
you will see, that the error will not be reported
anant__ timotimo: you're right! 15:01
timotimo you may need to add --ll-exception to your perl6 command line to get the full backtrace in the repl 15:02
gtodd my @a = 1, 2, 8 ... *; 1;
gtodd oh it just eagerly takes the 1 15:03
timotimo that's not really it; the repl will just print only the last thing computed 15:04
anant__ timotimo: --ll-exception didn't change anything (no backtrace for "say @a") 15:05
timotimo ok, ok
gtodd hmm but it doesn't hand continuing with \
timotimo indeed. finding out when a statemend ends is a hard thing to do 15:06
although of course the \ before a new line is a trivial thing to add
gtodd errm doesn't handle continuing the way say SQL clients can because perl > SQL but ... yeah can't/wouldn't \ be useful?
anant__ timotimo: Can you point me to the code which sets exception reporting to eager for REPL 15:07
timotimo that's not what's happening 15:08
i'll give you a file+line, though 15:09
gtodd python REPL uses \ and then autoindents the line .... I don't know if fancy things like ipython try harder
kresike bye folks
timotimo github.com/perl6/nqp/blob/master/s...er.pm#L237 15:10
gtodd: there's a method in the compile module that tries as hard as it can to figure out if the line is complete or partial
gtodd perl5 -de1 uses cont: :)
neat
timotimo there's something similar in STD, too, but it doesn't seem complete 15:11
gotta pack up and run now :)
anant__ timotimo: thanks! 15:12
arnsholt JavaZone talk submitted! =D 15:28
FROGGS arnsholt++ 15:32
[Coke] what the (*#&@$ is wrong with perlmonks.org/index.pl?node_id=1027730 the sexist shirt thing? Has someone called them out about that in the comments? 15:46
*and the.. 15:49
jnthn timotimo: The Rakduo multi-dispatcher is different from the NQP one; they just share caching infrastructure 15:56
timotimo: The Rakudo one is in BOOTSTRAP 15:57
jnthn r: multi m(Int $x) { }; try m('omgz'.substr(3)); say $!.WHAT 15:57
camelia rakudo 5122e2: OUTPUT«(X::Multi::NoMatch)␤»
jnthn Already typed, it seems :)
masak [Coke]: no. no-one has called them out. I didn't even get to the sexism because I felt the rest of the comment was just rambling. 16:02
isBEKaml hello, #perl6! 16:12
masak isBEKaml! \o/ 16:15
isBEKaml 'elo, masak! :) 16:16
[Coke] masak: I didn't even get to the rest of the comment because of the sexism. 16:20
[Coke] on the plus side, perlmonks seemed slightly faster than I remember it being. 16:21
isBEKaml perlmonks is faster these days? I only remember it being down all the time. :) 16:23
isBEKaml masak: how goes p6IRCast? 16:31
masak .oO( perlmonks: brings you sexism slightly faster ) 16:39
isBEKaml: excuse me, what's a p6IRCast? :)
isBEKaml masak: Oh, you know - the little thing that's served over the interwebs. :P 16:40
masak isBEKaml: packets?
isBEKaml is too distracted today - enough to flub words. 16:41
masak I'm sorry, I can't extract a real question from your mysteriousness. :)
maybe I'm too busy to play along.
masak (teaching tomorrow, and still some left to prepare) 16:41
gtodd masak: hi masak ... is there still a Text::CSV::Simple or only Text::CSV ? 16:41
isBEKaml masak: right - webcase, ircase all the same. :P
err, webcast.. 16:42
masak gtodd: I don't know anything about the former, and as far as I know my module was always called the latter.
gtodd masak: oops ok please ignore my question!! will ask again another day
isBEKaml gtodd: for something simpler? ;)
gtodd masak: go prepare for teaching or your students will suffer 16:43
:)
masak isBEKaml: you're still making almost no sense, but I'm starting to suspect you were only asking the equivalent of "how's it going?"
in that case, uh, well I guess.
isBEKaml masak: you're safer than me from myself, then. :P 16:44
isBEKaml masak: please ignore. Clear head, later will I come back. 16:45
gtodd isBEKaml: Text::CSV::Simple seems to have methods for accessing headers/keys etc. which seems easy enough to do from Text::CSV ... 16:46
isBEKaml nowit'smyturntobeconfused. :|
gtodd: so use Text::CSV? 16:47
gtodd isBEKaml: I am ... :-) I just thought Text::CSV::Simple still existed somewhere 16:48
because it is used in SVG::Plot :-)
isBEKaml gtodd: oh, good then- I was just asking why you specifically needed ::Simple. 16:49
rn: my Int $b = 42; $b = Nil; say $b; 16:53
camelia rakudo 5122e2: OUTPUT«Type check failed in assignment to '$b'; expected 'Int' but got 'Nil'␤ in block at /tmp/nn0dEGpYCO:1␤␤»
..niecza v24-37-gf9c8fc2: OUTPUT«(Int)␤»
colomon Text::CSV is not exactly complicated
isBEKaml oh, Camelia. Nice. :)
gtodd isBEKaml: well it made headers into keys for csv values etc. Text::CSV does it too possibly in a simpler way :) 16:54
isBEKaml gtodd: Ah 16:58
nom: say (1,2,3,4) ~~ (1,*,3,*) 17:00
camelia rakudo 5122e2: OUTPUT«False␤»
isBEKaml b: say (1,2,3,4) ~~ (1,*,3,*) 17:02
camelia b 922500: OUTPUT«Bool::True␤»
[Coke] nom: say (1,2) ~~ (1,2)
camelia rakudo 5122e2: OUTPUT«True␤»
[Coke] nom: say (1,2) ~~ (1,*)
camelia rakudo 5122e2: OUTPUT«False␤»
isBEKaml [Coke]: It's marked to be a nom regression. I somehow misread that as regression after nom. :) 17:03
[Coke] ah, there's already a spec test? 17:04
b: say (1,2).WHAT
camelia b 922500: OUTPUT«Parcel()␤»
[Coke] nom: say (1,2).WHAT
isBEKaml [Coke]: yep, S03-smartmatches
camelia rakudo 5122e2: OUTPUT«(Parcel)␤»
[Coke] nom: say 3 ~~ * 17:05
camelia rakudo 5122e2: OUTPUT«True␤»
timotimo huh, what is "b"?
"beta"?
isBEKaml before "nom"
timotimo mhm
masak the "b" doesn't stand for anything much. 17:06
[Coke] nom: say (1,2,3) <<===>> (1,2,3)
camelia rakudo 5122e2: OUTPUT«===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~>␤at /tmp/IIFXDFHkha:1␤------> say (1,2,3) <<===>>⏏ (1,2,3)␤»
PerlJam masak: bacon! ;) 17:06
masak std: say (1,2,3) <<===>> (1,2,3)
camelia std 86b102f: OUTPUT«===SORRY!===␤Cannot make assignment out of <<== because sequencer operators are too fiddly at /tmp/qsU9JDDCYP line 1:␤------> say (1,2,3) <<===⏏>> (1,2,3)␤Bogus term at /tmp/qsU9JDDCYP line 1:␤------> say (1,2,3) <<===⏏…
masak std: say (1,2,3) <<[===>]> (1,2,3) 17:07
camelia std 86b102f: OUTPUT«===SORRY!===␤Unable to parse bracketed infix at /tmp/lEU9p5yuCG line 1:␤------> say (1,2,3) <<⏏[===>]> (1,2,3)␤Couldn't find final ']'; gave up at /tmp/lEU9p5yuCG line 1:␤------> say (1,2,3) <<[===⏏>]> (1,2,3)␤P…
masak std: say (1,2,3) <<[===]>> (1,2,3)
camelia std 86b102f: OUTPUT«ok 00:00 44m␤»
timotimo what's that supposed to be? o_O
masak nom: say (1,2,3) <<[===]>> (1,2,3)
camelia rakudo 5122e2: OUTPUT«True True True␤»
timotimo oh, i see
hyper of ===
masak [Coke]: need to visual-pill the === for the parser to swallow it ;)
gtodd colomon: true ... it seems sort of slow though (possibly the slurp ...) but I may be doing something wrong ... 17:08
[Coke] nom: say (1,2,3) «===» (1,2,3)
camelia rakudo 5122e2: OUTPUT«True True True␤»
[Coke] nom: say (1,2,3) «===» (1,*,3)
camelia rakudo 5122e2: OUTPUT«True False True␤»
[Coke] perlcabal.org/syn/S03.html#Smart_matching says "Array Array arrays are comparable $_ «===» X (dwims * wildcards!)
masak nom: say (1,2,3) «~~» (1,*,3)
camelia rakudo 5122e2: OUTPUT«True True True␤»
isBEKaml nom: say (1,2,3) ~~ (1,*,3) 17:09
masak [Coke]: I read the parens as an exception, though.
camelia rakudo 5122e2: OUTPUT«False␤»
[Coke] masak: right.
src/core/List.pm ACCEPTS doesn't implement the exception. 17:10
it's just doing ===
[Coke] LHF for isBEKaml! 17:10
masak \o/
isBEKaml LHF eh? I didn't know that. I was just fooling around roast when I spotted this. :P 17:11
[Coke] isBEKaml: gist.github.com/coke/5389683 ? 17:14
r: say *.WHAT 17:15
camelia rakudo 5122e2: OUTPUT«(Whatever)␤»
PerlJam Should (1,*) ~~ (1,2) return True just like (1,2) ~~ (1,*) ? 17:19
[Coke] r: say * ~~ 2 17:22
camelia rakudo 5122e2: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in method Numeric at src/gen/CORE.setting:865␤ in sub infix:<==> at src/gen/CORE.setting:3013␤ in sub infix:<==> at src/gen/CORE.setting:3011␤ in method ACCEPTS at src/gen/CORE.setting:2…
isBEKaml [Coke]: is that what it is? I've yet to make sense of this conversation. =)
[Coke] isBEKaml: that's a patch that might let you untodo those regressed tests.
PerlJam: I don't think whatever works that way in smarth match. 17:23
*smart
though that failure seems masakable.
[Coke] isBEKaml: I'll see about applying that this evening if you don't happen to get around to it. no worries. 17:24
isBEKaml [Coke]: It's an hr to midnight where I am. :) 17:25
nwc10 so, if p6eval is now camelia, is p5eval going to become camel? onion? pumpking? zombie? 17:32
paycheque? 17:35
moritz \o 17:36
PerlJam "masakable"? 17:39
:-)
isBEKaml This is the only place I know where proper nouns turn verbs. :-)
PerlJam yeah, though I was a little slow on this one. I first skimmed it as "maskable" and it's only when I looked the second time that I noticed it was "masakable". 17:41
you have to pay attention on #perl6 to catch the nuance :)
moritz isBEKaml: did you mean "we verb nouns"? :-) 17:44
isBEKaml moritz: SVO's always good form. :-) 17:45
PerlJam we verb everything! :)
isBEKaml [Coke]: I'm building rakudo with your patch. :-) 17:48
dalek p/jvm-support: cee4c7e | jnthn++ | src/vm/jvm/HLL/Backend.nqp:
Add JVM version of HLL::Backend.
18:00
p/jvm-support: 50ce474 | jnthn++ | src/QRegex/Cursor.nqp:
Correct iterator usage.
p-jvm-prep: 21ed389 | jnthn++ | nqp-src/QRegex.nqp:
Correct iterator usage (sync from NQP repo).
18:04
p-jvm-prep: 07377b2 | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
Adding missing encoding flag.
isBEKaml How fast can SETTING go? It takes about 280 seconds to parse, on my machine. 18:05
and another 32 to optimize.
SETTING compilation, I mean. (99 secs on post) 18:06
isBEKaml not that I'm complaining, it's way better than when I was on an ancient machine. :) 18:06
jnthn < 80s on my machine. 18:07
arnsholt I think I get it down to 90-120 seconds on my work machine
jnthn dinner, bbiab 18:08
isBEKaml 80 and 90s? You guys must be on 16 core? 18:09
timotimo more cores don't make it faster
isBEKaml oh, I forgot - it blocks. 18:10
timotimo well, compiling the SETTING is just one compile operation on a gigantic file
rakudo can't parallelize that (so far)
arnsholt Yeah, my work machine is a pretty recent i7. Useful for data crunching and compiling Rakudo =) 18:11
masak "we verb nouns" <== autopun. 18:20
moritz masak: just tweeted it as such (before I saw your comment :-) 18:22
isBEKaml r: say <1 2 3> <<~~>> (1,*,*)
camelia rakudo 5122e2: OUTPUT«True True True␤»
isBEKaml r: say <1 2 3> <<~~>> <1 * *> # should this work too? 18:23
camelia rakudo 5122e2: OUTPUT«True False False␤»
masak moritz: ;) 18:24
great minds are broken in similar ways :P
PerlJam masak: but was that an intentional autopun? 18:25
masak PerlJam: ask moritz, he said it first.
isBEKaml: no, I don't think val('*') should be *
PerlJam (It seemed intentional to me)
I find it's the accidental autopuns that are the interesting ones :) 18:26
masak was just gonna say.
isBEKaml I thought of it in two ways - he may have meant "noun" when I said "proper noun". The other being in the form of a complete sentence, but makes no sense outright (subject verb object - SVO :)
masak PerlJam: that's what makes the "how do I do that" so funny :P
PerlJam: bash.org/?3936 18:27
moritz PerlJam: yes, intentional. And iirc I've used it before in here
PerlJam masak: aye, I've had almost that same conversation with my son btw. :) 18:27
masak it's probably quite common. 18:28
though probably less often appreciated as funny :)
PerlJam (and coincidentally my son's name is Christian ;)
masak freaky.
PerlJam nah, just the brain pattern matching ridiculously :)
isBEKaml so does "Yo, you got shoes on the wrong feet, son!" "But I got only *these* two feet!(worried look)" :D
PerlJam kids are often funny in ways that only adults can appreciate :) 18:29
it's that whole innocence thing they have too much of and we have so little of. 18:30
isBEKaml Right :-) 18:33
.tell [Coke] your patch didn't work - I'll investigate some more before I crash tonight.
yoleaux isBEKaml: I'll pass your message to [Coke].
masak "a creative adult is a child who survived"
gtodd masak: Ursula Le Guin ? 18:41
masak yes, I believe so. 18:46
well spotted.
gtodd :-) well I am abusing your Text:CSV to make moritz's SVG::Plot example github.com/moritz/svg-plot/blob/ma...rogress.pl 18:48
work
masak \o/
gtodd and I don't want to appear uncultured or lacking creativity .. since I was just never taught to write efficient code of any kind :) 18:50
isBEKaml masak: you're happy that your brain child is getting abused ? :P
masak please be more careful with your metaphors. :/ 18:51
but yes, it's fun when people are using my modules.
isBEKaml masak: Sorry, was just kidding 18:54
sprunge.us/PjUi 18:57
masak isBEKaml: the use of == there looks very wrong.
jnthn eeeeerrrrrghghghhh
You wrote a multi then disambiguated types on the inside? :) 18:58
masak isBEKaml: also, I don't think you should use .WHAT to check for types outside of debugging.
isBEKaml jnthn: disregard the multi. :)
jnthn And doing any kind of exact check on .WHAT buts polymorphism.
masak yeah.
jnthn *busts
And if you must it's ===, not == :)
isBEKaml remove the multi and run it again. It returns two Ints! :O 18:59
jnthn And probably some warnings :)
Type objects numify to 0
isBEKaml no warnings.
jnthn == does numerical comparison and thus numifies both sides
r: say Int == Int
camelia rakudo 5122e2: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3248␤ in sub infix:<==> at src/gen/CORE.setting:3171␤ in sub infix:<==> at src/gen/CORE.setting:3011␤ in block at /tmp/V3_KxrD2s1:1␤␤»
isBEKaml jnthn, masak: the reason I was fiddling with this was when I was wondering about [Coke]++'s patch. 19:00
jnthn r: say 3.WHAT == Int
camelia rakudo 5122e2: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3248␤ in sub infix:<==> at src/gen/CORE.setting:3171␤ in sub infix:<==> at src/gen/CORE.setting:3011␤ in block at /tmp/JRC6vhTHPr:1␤␤»
jnthn Hm, I'm not sure I understand how your code actually ran :)
isBEKaml jnthn: same issue here. I was actually looking for some warnings, but it ran! 19:01
jnthn: I don't do any checks on types explicitly, leaving the compiler to handle it, but when I do - I usually see the compiler carping.
but not her.
*here
gtodd Method 'serialize' not found for invocant of class 'SVG' ... argh 19:03
[Coke] oh, duh, I should have done ~~ Whatever!
yoleaux 18:33Z <isBEKaml> [Coke]: your patch didn't work - I'll investigate some more before I crash tonight.
[Coke] *facepalm*
funny, given that I was trying to fix a case of ~~
gtodd in the REPL how so I view all the methods a class like SVG provides 19:04
isBEKaml r: Int.^methods(:local).perl.say
camelia rakudo 5122e2: OUTPUT«(method Int(Int : Mu *%_) { ... }, method Num(Int:D : Mu *%_) { ... }, method Rat(Int:D : , Mu *%_) { ... }, method FatRat(Int:D : , Mu *%_) { ... }, method abs(Int:D : Mu *%_) { ... }, method Bridge(Int:D : Mu *%_) { ... }, method chr(Int:D : Mu *%_) { ... }, meth…
jnthn r: say Int.^methods # shorter :) 19:05
camelia rakudo 5122e2: OUTPUT«Int Num Rat FatRat abs Bridge chr sqrt base expmod is-prime floor round ceiling sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotanh acotanh unpolar cis Complex log exp …
gtodd is (hoping one day for a REPL config that lets me define shortcuts in perl to that)
isBEKaml jnthn: .perl now .gists?
gtodd :-O
jnthn isBEKaml: No, say .gists 19:06
masak it would be very bad if .perl did .gist
moritz gtodd: it already supports such shortcuts
gtodd: sub m(Mu $x) { $x.^methods } 19:07
and then m Int
that's the nice thing about a programming language: it already contains all the tools you need :-)
isBEKaml (please don't say LISP, please don't say LISP)
moritz I didn't plan to :-) 19:08
gtodd LISP?
moritz Lisp Is Strictly Parenthetic 19:08
masak why would we say LISP?
flussence
.oO(
jnthn LISP?
:P
masak )
sorry, I just had to close flussence thought bubble. 19:09
before it swallowed up the entire backlog.
flussence I guess that counts as jnthn not saying it out loud :)
isBEKaml but it checked if lisp existed with a keyword check.
jnthn Though bubbles are only for parenthetical remarks :)
gtodd moritz: I meant more so I could put "sub m(Mu $x) { $x.^methods }" into ~/.perl6/config/REPL.p6 and then type "m" whenever I wanted
jnthn *Thought
isBEKaml jnthn: ah, thanks (I vaguely remember asking this question, though forgot the rationale for this change) 19:10
moritz gtodd: shouldn't be too hard to do 19:11
gtodd: otoh it will open up a whole can of worms of the kind "works in the REPL, but not in my program" or "works in the REPL, but not on p6eval/camelia) 19:12
isBEKaml moritz: I get the funny feeling that you're talking about scala repl. :)
moritz: that was one of the reasons scala folks introduced :paste command to wrap all multiline inputs. 19:14
[Coke] .seen Util
yoleaux I haven't seen Util around.
isBEKaml [Coke]: No worries, I can't think anyway. :)
moritz but even without a magic mechanism, it's just a 'use' away 19:16
or you can do alias p6repl='perl6 -MREPLTools'
and then it'll load your REPLTools.pm
masak moritz++ 19:17
that trick alone deserves a blog post. 19:18
and someone should host such a module on github.
moritz oh, I was kinda idea-starved anyway
masak :)
moritz I thought about blogging about the optimizer, but didn't know what exactly to write
masak ++moritz
gtodd moritz: hmm
moritz++ 19:19
isBEKaml moritz: that's a good idea. Can I wrap more modules within my catch-all module and make them available at the toplevel?
gtodd clones moritz
moritz isBEKaml: re-exporting currently isn't well supported 19:20
timotimo moritz: if you blog about the optimizer, don't forget to show that little shim that jnthn came up with that lets you write a tiny-optimizer in one perl6 script file and run it on a bit of code and output the transformed ast and run it
moritz timotimo: when I do, I'll ask you to nopaste the code for me, because I don't remeber where it is, or what it looks like :-) 19:22
isBEKaml moritz: Oh, I can live with this for now :)
jnthn: about that Whatever bit earlier, is that a bug in that it doesn't carp? 19:23
timotimo sure, will do
dalek kudo/nom: 6e39296 | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
turn WVal into Want + IVal if it's an Int.
19:26
kudo/nom: ee68af8 | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
need to decont the Int value before isbig_I will work.
kudo/nom: 05ec31b | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
cache symbols found in SETTING.
kudo/nom: abb0a5b | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
fix $!SETTING cache.
timotimo yay
moritz meant to push that yesterday, and then forgot
timotimo++
masak timotimo++ 19:27
moritz timotimo: have you already submitted a signed CLA?
timotimo: IMHO it's high time we make you a rakudo committer; I'm tired of merging your pull requests :-)
dalek kudo/nom: 9f873d8 | gerdr++ | src/core/Capture.pm:
Add Bool method to Capture

Right now, defined captures evaluate to `True`, but empty captures should probably be `False`.
19:28
kudo/nom: e1f5d99 | moritz++ | src/core/Capture.pm:
Merge pull request #110 from gerdr/patch-1

Add Bool method to Capture
isBEKaml timotimo++ 19:29
moritz .ask FROGGS if github.com/rakudo/rakudo/pull/87 can be closed
yoleaux moritz: I'll pass your message to FROGGS.
moritz yoleaux: mange takk
isBEKaml .tell jnthn never mind my last remark, I can't even reproduce that anymore. :( 19:46
yoleaux isBEKaml: I'll pass your message to jnthn.
dalek p/jvm-support: b34b168 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
Sync encoding fix from nqp-jvm-prep.
19:49
p/jvm-support: 598d177 | jnthn++ | src/vm/jvm/QAST/ (2 files):
Add JAST nodes and QAST -> JAST compiler.
jnthn isBEKaml: ah, ok...no worries 19:49
yoleaux 19:46Z <isBEKaml> jnthn: never mind my last remark, I can't even reproduce that anymore. :(
labster good morning 20:00
isBEKaml .tell [Coke] feel free to take up that ACCEPTS thing. I don't think I'll be able to do it tonight. 20:01
yoleaux isBEKaml: I'll pass your message to [Coke].
isBEKaml yo, labster
gtodd well, I can get the parse-spectest-progress.pl as far as running this (:plot-height no longer works so I ditched it ) .... 20:02
my $svg = SVG::Plot.new(:width(800),:height(550),:fill-width(1.01),:values(@data),:labels(@date),:max-x-labels(20),:colors<lawngreen red blue yellow lightgrey>,).plot(:stacked-bars);my (@date, @pass, @fail, @todo, @skip, @specskip); ...
gtodd but can't get started on writing the xml ... 20:05
say SVG.serialize($svg);
Method 'key' not found for invocant of class 'List'
masak labster! \o/
[Coke] .tell isBEKaml roger, will look this evening.
yoleaux [Coke]: I'll pass your message to isBEKaml.
20:01Z <isBEKaml> [Coke]: feel free to take up that ACCEPTS thing. I don't think I'll be able to do it tonight.
labster hi all. It's a beautiful sunny day and everything is passing tests. 20:06
gtodd SVG.^methods shows SVG has a serialize method but ... the invocant (? which is SVG) can't find a key method ... SVG uses XML::Writer which has a serialize method but if I try: say XML::Writer.serialize($svg); 20:14
rakudo says: The XML tree must have a single root node so
me stop now ... parsing and grabbing the CSV values was quite nice (slow though) after that exercising the modules is proving too much exercise :) 20:15
cheers
masak gtodd++ 20:20
japhb_ jnthn, re: irclog.perlgeek.de/perl6/2013-04-15#i_6706819 , until you "corrected" yourself, I thought you were making an excellent pun. ;-) 21:05
jnthn japhb_: It's still a pun with the correction :) 21:06
masak read that as "it's still a pun in the right direction" 21:17
dalek p/jvm-support: 2afee8f | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/ (6 files):
Some serialization/SC management fixes.
21:31
p/jvm-support: f7a84ee | jnthn++ | src/HLL/Actions.nqp:
Turn an our sub into a lexical one.
p/jvm-support: 80d8da0 | jnthn++ | src/vm/jvm/NQP/Ops.nqp:
Add JVM version of NQP::Ops.
jnthn wb, lizmat :) 21:32
lizmat hi #perl6 21:37
just got back in again… just catching up on things
need to collect my thoughts on the consensus reached about supporting Perl 6 modules on CPAN 21:39
PerlJam ... concensus supporting Perl 6 modules on CPAN ?!? 21:40
lizmat yes
PerlJam Why do I get the feeling that I've missed something very interesting?
lizmat I guess you had to be there :-)
it was quite interesting at the QA Hackathon in Lancaster the past weekend 21:41
some things will need to be moved in place in the next 1~2 weeks 21:42
PerlJam cool
[Coke] eagerly awaits bloggytime. 21:43
tadzik but there was
lizmat and relatedly, we will need to implement the "use Dog:auth(cpan:TimToady):ver(1.0);" spec
tadzik: there was what? 21:44
tadzik lizmat: blogging
tadzik Wendy blogged, methinks 21:44
lizmat ah, yes, but not about this...
:-)
[Coke] let me know if I need to add a blog to the planet. 21:45
lizmat I think I'll put it in a blog myself on blogs.perl.org 21:47
japhb_ Are said blogs going to appear on Planet Six?
PerlJam How are p5 and p6 modules not to be confused? 21:48
lizmat but not today: too tired from driving ~900 km
japhb_ lizmat, Ah, then definitely post the link here. 21:48
lizmat yes, I will…
PerlJam (i.e., I'm using a cpan client on p5 ... how do I not accidentally install a p6 module?)
[Coke] japhb_: any blog that you can add perl6 tags to, I can throw in the planet.
japhb_ I can't keep up with b.p.o, so I only read Planet Six, and miss stuff 5'ers say about 6 sometimes. :-/
lizmat japhb_: check, will make sure it will somehow wind up on Planet Six 21:49
japhb_ thx
jnthn lizmat++
PerlJam lizmat++ indeed
jnthn And looking forward to the post, once you're well rested
lizmat but since it is more important that Perl 5 people know about this, I'm going to primary post on blogs.perl.org
jnthn 900km...that's some driving!
lizmat two drivers makes it easier: still, it *was* ~12 hours in the car 21:50
masak ugh 21:52
japhb_ .wa 900km in miles
yoleaux convert 900 km (kilometers) to miles: 559.2 miles; Additional conversions: 900000 meters; 9×10⁷ cm (centimeters); 486 nmi (nautical miles); Comparisons as radius: ~(0.14 ~1/7) × equatorial radius of Earth (~6378 km); ~0.52 × moon radius (1.7375×10⁶ m); ~0.78 × Pluto radius (1.151×10⁶ m); Electromagnetic frequency range: VF/ULF (voice frequency)
PerlJam lizmat: lots of towns or spots with slower speed limit? 21:53
diakopter PerlJam: by making it install into perl5 a bridge package that loads the perl6 module via perl6 into the p5 process 21:54
assuming you perl6 vm supports such interop and embedding 21:55
*your
PerlJam I routinely visit my mother who is little more than 500 miles away in about 10 hours (unless we stop for a long lunch or have frequent stops or something)
diakopter: I was interested in keeping the worlds separate, not bringing them together
diakopter that's surprising 21:56
lue thinks modules should have a :lang attribute in C<use> (use Dog:lang<Perl6>) and/or specified in the package file and/or implied from contents of package
lue &
diakopter that anyone would want that
lue I agree, but also backend VM(s) 21:57
perlJam:could you more precisely define Worlds
lizmat lue: that is specced as: "use Whiteness:from<perl5>:name<Acme::Bleach>:auth<cpan:DCONWAY>:ver<1.12>;", S11:549 21:58
PerlJam: nope, mostly highway, with max speeds between ~110 and 130km/hour 21:59
diakopter lizmat: to clarify, I agreed with parts 2,3 of lue 22:00
lizmat some traffic jams, one train to catch (the Shuttle)
diakopter PerlJam: sorry typos; question abovs
above
lizmat the consensus is just about the changes in the Perl5 toolchain to get Perl6 module distributions to not cause problems on Perl 5 smokers 22:02
diakopter my suggestion also removes that problem
lizmat std: use Whiteness:from<perl5>:name<Acme::Bleach>:auth<cpan:DCONWAY>:ver<1.12>; 22:05
camelia std 86b102f: OUTPUT«===SORRY!===␤Cannot locate module Whiteness at /tmp/qYGos1qkGu line 1:␤------> me::Bleach>:auth<cpan:DCONWAY>:ver<1.12>⏏;␤Check failed␤FAILED 00:00 41m␤»
diakopter replace whiteness ith Test 22:06
lizmat the fact that it tries to load "Whiteness" is already an error: it should try to load "Acme::Bleach" 22:07
diakopter PerlJam: why would you want to keep Perl 5 away from Perl 6 and vice versa? 22:09
raiph diakopter: i would have thought we can have cake and eat it (more) 22:15
masak 'night, #perl6 22:15
raiph o/ masak
lizmat night masak and the rest of #perl6
jnthn o/ lizmat 22:16
raiph gnite lizmat
diakopter: that is, those who want a unified p5/p6 view can have that, those who want separation can have that
diakopter I can't imagine why anyone would want them separate. so I'm asking for the reason 22:18
raiph diakopter: does "i love perl5, i hate perl6, don't you dare negatively impact cpan for me" count? 22:20
timotimo huh?
diakopter did I suggest negatively impacting cpan? 22:20
I don't see how that follows from "not keeping them separate" 22:21
PerlJam diakopter: sorry ... had to talk to an A/C repair tech.
diakopter: I was just wondering about the ways that P5 people could not accidentally install P6 modules (and vice versa) 22:22
diakopter well, also included in my proposal was all the perl6 start with a perl6:: prefix, which perl6 implementations would implicitly insert when using cpan
*all the perl6 modules 22:23
(so that solves your wondering in the context of what I'm suggesting anyway) 22:25
PerlJam aye
dalek p-jvm-prep: ed0eb2d | jnthn++ | src/org/perl6/nqp/sixmodel/ (6 files):
Assorted serialization fixes.
p-jvm-prep: 39e3a72 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Fix sprintf code-gen.
p-jvm-prep: d8d3f2f | jnthn++ | nqp-src/NQP (2 files):
Support --javaclass option on selfhost.
lue I don't like the sound of perl6:: personally 22:27
diakopter why? you'd never see it as a p6 user
dalek p/jvm-support: 9e12e1c | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
Sync sprintf code-gen fix.
22:28
p/jvm-support: 0f2b9a2 | jnthn++ | src/ (2 files):
Remove Parrot opts, add javaclass opt for JVM.
p/jvm-support: 9c5e0c3 | jnthn++ | src/vm/jvm/stage0/ (10 files):
Update stage0; many fixes.
p/jvm-support: b6dc68a | jnthn++ | tools/build/Makefile-JVM.in:
Flesh out the rest of stage1 build.

Gets through the build, though the result doesn't quite work yet.
lue I just don't want to stuff my code into a mandatory lib/perl6/ directory or to put Perl6:: in front of all my classes/modules/etc. 22:29
diakopter when I said you wouldn't see it, I meant it literally 22:30
you wouldn't have to do any of that
lue So, Perl 5 users essentially have to make it clear they want to use a P6 module however the system is supposed to do that? (If that's what you mean, then I'd suggest a perl5:: prefix for our side) 22:31
(which, also, is what :from<> is specced to do already)
diakopter no
diakopter I mean, yes, if they want to use a perl6 module, they use the perl5 bridge version (with the perl6:: prefix) which loads the perl6 one 22:32
japhb_ lue, I think diakopter is making a proposal to A) namespace CPAN, and B) give perl5 a no-syntax-changes way to specify wanting to use the perl6 bridge rather than getting a same-named perl5-native module 22:33
diakopter, is that right?
diakopter exactly
lue And then :from<> (defaulting to perl6 if unspecified) would be the P6 way to make sure you want to use Perl 5 module. (i.e. :from<perl5> forces P6 to run P5, perl6:: forces P5 to run P6) 22:34
japhb_ right 22:35
diakopter that way, a Perl 6 module/distribution publisher need only upload one tarball 22:38
lue Just to be clear, perl6:: (which btw I'd rather see Perl6::, but no big deal) is a Perl 5 module that loads the Perl 6 module, correct? (Or would it active some internal mechanism in the perl5 compiler/standard external package?)
diakopter exactly. it would need the support of a Perl 6 VM that could do that
no internal mechanism needs added to anything in cpan or toolchain 22:39
lue would every P6 module Foo::Bar need a Perl6::Foo::Bar written for it, or would Perl6::Foo::Bar tell the compiler/some external module to use P6 to find a Perl 6-code Foo::Bar 22:40
diakopter not written by hand
well it could be; it'd be super-short
but it would be generated by your module publishing script
lue Sounds good, then. 22:42
diakopter I'm not against the creation of a subdirectory for moe and such 22:43
lue If Perl 6 modules are going to be on CPAN soon, seems I should get an account on PAUSE prepared, correct?
diakopter but I do think creating a subdirectory for Perl 6 would make it significantly harder for Perl 6 module publishers to make their code available to p5-land 22:45
lue I'm assuming CPAN already has some system in place to avoid name clashes, making it possible to have a P5 module and P6 module named Foo::Bar on there. 22:47
diakopter or at least make it confusing for the other option
diakopter no 22:47
tangentstorm CPAN *is* the thing to avoid name clashes :)
diakopter that's what they're adding - different buckets 22:48
tangentstorm i remember there was a whole process to go through to get AI:: set up
lue I think one of my only real concerns for P6 on CPAN is being kept from using a module name because some P5 module 10-15 years ago used it first. 22:49
diakopter lue: that's why the p6 module would actually have the perl6:: prefix on CPAN
lue Oh. That's different than what I got from you said earlier. 22:50
diakopter oh, you're right, I was wrong about never seeing it
sorear i worry about P6 programmers not yet having absorbed P5 naming norms and whatnot 22:51
jnthn sleep; 'night o/ 22:52
sorear P5 programmers don't have name collision problems because they're considerate enough to pick unique names
lue I'm fine with perl6:: as long as I never have to think "Oh yeah, I have to add perl6:: in front" as a Perl 6 user.
japhb_ Also, the use of perl6:: versus Perl6:: is that there are a lot of Perl 5 modules in the latter namespace already (bringing back ideas), but I think the only think in perl6:: is 'perl6', which is IIRC Rakudo. 22:53
diakopter just when browsing CPAN (which you'd have to designate somehow anyway to the UI to see only p6 modules if that's what you wanted)
japhb_ Night, jnthn
lue would like the cpan6 tool to (be configurable to) ignore the perl6:: prefix and require a :from<perl5> suffix as necessary for a P5 module 22:55
s/ignore/prepend for me/ 22:56
diakopter sorear: that's a good worry; I agree. however, it's not an argument against uploading to CPAN; it's an argument against uploading to any authority 23:11
timotimo how do i install json::tiny for niecza? 23:17
do i just copy the contents of lib/ to nieczas lib folder? 23:18
[Coke] tries to figure out why this fails: 23:19
perl Configure.pl --prefix=install --gen-nqp --gen-parrot
(rather than building parrot, it complains it can't find install/bin/parrot) 23:20
[Coke] votes for somehow having "install/" in a borked state, as it's working now. weird. 23:22
[Coke] ah. needs a full path. 23:26
timotimo does niecza have a working socket implementation? 23:32
[Coke] ok((1,2,3,4) ~~ (1,*,*,3,4), 'array smartmatch dwims * 1 elem (many *s)'); 23:34
that looks like a horrible idea.
ok((1,2,3,4) ~~ (1,*,4), 'array smartmatch dwims * many elems');
(that doesn't look much better)
sorear timotimo: ish 23:35
timotimo sorear: putting the lib folder from JSON__Tiny into the local folder and running niecza with -Ilib causes strangeness 23:38
timotimo first it says "from-json defined but not used", then i get some NullReferenceException :( 23:40
[Coke] if I wanted to check out a copy of b, where would I look? 23:52
japhb_ [Coke], I believe you can checkout Rakudo as of the 'Beijing' tag and be there. 23:53
Might also be the head of the 'master' branch
[Coke] japhb_: danke. 23:55
timotimo bedtimes for me now :) 23:56
japhb_ o/
timotimo perl6 and json ... woefully slow :( 23:58
well, in rakudo at least
yada yada yada ... :(
japhb_ We would do very well, once rakudo-jvm is working, to figure out how much of that is the grammar engine, how much is Rakudo overhead, and how much is the VM -- and then stomp the bottleneck heavily. 23:59