»ö« 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.
00:17 shortcircuit joined 00:19 adu_ joined 00:47 dayangkun joined, adu_ left 00:51 Chillance left 01:04 FROGGS_ joined 01:05 anuby joined 01:07 FROGGS left 01:24 Psyche^ joined 01:27 Patterner left, Psyche^ is now known as Patterner 01:34 rindolf joined 01:35 adu_ joined
[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
02:23 lustlife joined
[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++
02:42 orafu left, orafu joined 02:45 preflex_ joined, preflex left, preflex_ is now known as preflex
[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.
03:02 undersc0re97 joined
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
03:05 undersc0re97 left
geekosaur nice troll 03:06
labster trollolol
03:16 adu_ is now known as adu
adu ? 03:16
03:40 BenGoldberg left
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.
03:49 rhinux_ joined
adu how do I remove whitespace at the end of a string? 04:33
04:34 jaldhar left, _jaldhar joined
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␤»
04:49 Heather joined
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
05:08 rindolf left 05:10 SamuraiJack joined, Heather__ joined 05:11 Heather___ joined 05:13 Heather left 05:15 Heather__ left
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?
05:29 tangentstorm left
adu I guess so :D 05:30
:P
05:31 dayangkun left 05:33 gdey left 05:42 gdey joined
adu how do I do $x[0].ast ~ $x[1].ast ~ $x[2].ast 05:48
05:48 FROGGS_ left
sorear you want to convert the ASTs to strings and concatenate the string representations? 05:54
05:55 gdey left
adu sorear: yes, exactly 05:55
but @xs.map -> $x { $x.ast } isn't working 05:56
05:59 FROGGS_ joined 06:00 FROGGS_ is now known as FROGGS
FROGGS morning 06:00
06:01 tangentstorm joined
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
06:12 Heather___ is now known as Heather, Heather left, Heather joined
adu for @xs -> $x { $x = $x.ast }? 06:12
diakopter or $x.=ast 06:13
adu oh nice
06:14 kaleem joined
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
06:25 frdmn joined 06:38 kurahaupo left 06:47 dayangkun joined, rindolf joined 07:03 arlinius joined 07:06 domidumont joined 07:07 dayangkun left 07:09 dayangkun joined 07:10 crab2313 joined 07:20 adu left 07:21 domidumont left 07:23 domidumont joined 07:36 sqirrel joined 07:44 xinming left 07:45 xinming joined 07:47 dayangkun left 07:58 drbean left
masak good morning, #perl6 07:59
yoleaux 02:51Z <[Coke]> masak: github.com/masak/csv has test failures
hoelzro o/ masak
07:59 drbean joined
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. :)
08:06 salv0 left
diakopter 'cuz it's cute 08:07
08:08 salv0 joined
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
08:30 fgomez left
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
08:32 berekuk joined
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
08:35 daxim joined
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␤»…
08:36 fgomez joined, fgomez left
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␤»
08:40 dakkar joined
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
08:49 kresike joined
kresike hello all you happy perl6 people 08:49
08:59 tgt joined
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␤»
09:08 berekuk left
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
09:16 berekuk joined, xinming left 09:18 xinming joined 09:19 fgomez joined
labster okay, my broken modules are working once again. thanks jnthn++. And now it's bedtime. 09:39
FROGGS gnight labster 09:41
09:44 labster left 09:46 crab2313 left
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
10:09 anuby left 10:10 crab2313 joined 10:40 rking left 10:46 crab2313 left, rking joined 10:59 fgomez left, SamuraiJack_ joined 11:00 fgomez joined 11:03 SamuraiJack left 11:09 sqirrel left 11:11 brrt joined 11:28 stevan_ left 12:03 skids left 12:05 domidumont left 12:12 shortcircuit left
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
12:22 tgt left
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... :) )
12:23 tgt joined
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.
12:31 domidumont joined
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
12:52 p5eval left 12:53 dayangkun joined
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.
12:59 p5eval joined 13:00 eiro left 13:01 Heather left 13:04 census joined 13:09 bluescreen10 joined 13:10 PacoAir joined 13:11 SamuraiJack_ left
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
13:24 crab2313 joined
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
13:27 woosley1 joined
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
13:28 robinsmidsrod left
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?
13:32 robinsmidsrod joined
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
13:35 skids joined
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
13:38 kaleem left
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:
13:39 kaare_ joined
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
13:39 xinming left
hoelzro *its 13:41
13:41 xinming joined
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)
13:51 ilbot6 left
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
13:54 census left 13:55 Chillance joined 13:56 robinsmidsrod left 13:58 robinsmidsrod joined
timotimo hehe :) 14:08
FROGGS I am already 30 fwiw 14:10
14:11 xilo left
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
14:30 xilo joined
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
14:41 BenGoldberg joined
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
14:47 frdmn left
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 )␤»
14:53 asogani joined
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
14:55 asogani is now known as anant__
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;
15:03 crab2313 left
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
15:09 kresike left
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
15:15 stevan_ joined, woosley1 left 15:23 domidumont left
arnsholt JavaZone talk submitted! =D 15:28
15:28 stevan_ left 15:30 stevan_ joined, cognominal left, brrt left
FROGGS arnsholt++ 15:32
15:43 dalecooper joined
[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
15:49 dalecooper left 15:55 xantamoc joined, gdey joined
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
15:57 FROGGS left
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
16:03 gdey left 16:10 isBEKaml joined 16:11 dmol joined
isBEKaml hello, #perl6! 16:12
masak isBEKaml! \o/ 16:15
isBEKaml 'elo, masak! :) 16:16
16:18 anant__ left, FROGGS joined
[Coke] masak: I didn't even get to the rest of the comment because of the sexism. 16:20
16:21 stevan_ left
[Coke] on the plus side, perlmonks seemed slightly faster than I remember it being. 16:21
16:23 stevan_ joined
isBEKaml perlmonks is faster these days? I only remember it being down all the time. :) 16:23
16:30 stevan_ left
isBEKaml masak: how goes p6IRCast? 16:31
16:33 stevan_ joined 16:37 tgt left
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?
16:41 perigrin left
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.
16:41 perigrin joined
masak (teaching tomorrow, and still some left to prepare) 16:41
16:41 xantamoc left
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
16:44 SamuraiJack_ joined
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)␤»
17:04 toddr left, daxim left
[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)␤»
17:06 stevan__ joined
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 ===
17:10 stevan_ left
[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)␤»
17:15 stevan__ left
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.
17:24 dakkar left
[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 :)
17:44 tgt joined
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
17:50 kbenson joined 17:53 cognominal joined
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
18:06 kurahaupo joined
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
18:08 SamuraiJack_ left
jnthn dinner, bbiab 18:08
18:09 tgt left
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
18:15 pib1908 left
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
18:27 tgt joined, dmol left
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
18:30 kivutar joined
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"
18:40 Chillance_ joined
gtodd masak: Ursula Le Guin ? 18:41
18:43 kurahaupo left 18:44 Chillance left
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?
19:08 domidumont joined
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
19:11 FROGGS left
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++
19:26 domidumont left
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
19:32 alester joined
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.
19:47 gdey joined
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.
19:49 tgt left
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. :(
19:55 spider-mario joined 19:57 tgt joined 19:58 labster joined 19:59 japhb_ joined
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); ...
20:03 isBEKaml left
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
20:08 tgt left 20:13 tgt joined
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
20:17 tgt left
masak gtodd++ 20:20
20:21 dmol joined 20:22 tgt joined 20:26 pib1963 joined 20:47 rindolf left 20:54 kaare_ left 20:55 frdmn joined 21:04 skids left
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
21:18 raiph left 21:27 lizmat joined
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
21:40 raiph joined
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
21:44 PacoAir left
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
21:47 kst left
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?
21:47 kst joined
PerlJam How are p5 and p6 modules not to be confused? 21:48
lizmat but not today: too tired from driving ~900 km
21:48 dmol left
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)
21:52 spider-mario left
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
21:56 thou joined
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
22:03 lustlife left
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
22:10 woolfy joined 22:13 bluescreen10 left
raiph diakopter: i would have thought we can have cake and eat it (more) 22:15
22:15 thou left
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
22:18 kurahaupo joined
diakopter I can't imagine why anyone would want them separate. so I'm asking for the reason 22:18
22:18 DreamingInCode joined, stevan_ joined 22:19 xilo left 22:20 simcop2387 left
raiph diakopter: does "i love perl5, i hate perl6, don't you dare negatively impact cpan for me" count? 22:20
timotimo huh?
22:20 simcop2387_ joined, simcop2387_ is now known as simcop2387
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
22:32 GlitchMr left
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
22:36 GlitchMr joined
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
22:41 GlitchMr left 22:42 xilo joined
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?
22:43 GlitchMr joined
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
22:47 skids joined
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
23:06 woolfy left
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
23:11 frdmn left 23:12 frdmn joined
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
23:18 frd|afk joined
[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
23:22 frdmn left
[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
23:40 tgt left
timotimo first it says "from-json defined but not used", then i get some NullReferenceException :( 23:40
23:40 stevan_ left 23:41 stevan_ joined
[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 ... :(
23:59 armitage81 joined
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