Camelia, the Perl 6 bug

IRC log for #perl6, 2013-04-15

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:17 shortcircuit joined #perl6
00:19 adu_ joined #perl6
00:47 dayangkun joined #perl6
01:04 FROGGS_ joined #perl6
01:05 anuby joined #perl6
01:24 Psyche^ joined #perl6
01:34 rindolf joined #perl6
01:35 adu_ joined #perl6
01:48 [Coke] trying to install panda, getting errors in t/panda during install.
01:50 [Coke] ... ran bootstrap a second time. this time all the tests passed.
01:56 colomon ....cue Twilight Zone theme....
02:04 [Coke] .seen lue?
02:04 yoleaux I haven't seen lue? around.
02:04 [Coke] .seen lue
02:04 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)
02:04 [Coke] .tell lue there's a pull request for Lingua--EN--Numbers--Ordinal
02:04 yoleaux [Coke]: I'll pass your message to lue.
02:05 * [Coke] wonders if https://github.com/szabgab/perl6-Pod-Parser is obsolete.
02:23 lustlife joined #perl6
02:37 [Coke] .seen util
02:37 yoleaux I haven't seen util around.
02:37 [Coke] .seen Util
02:37 yoleaux I haven't seen Util around.
02:37 [Coke] .seen sergot
02:37 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 joined #perl6
02:45 preflex_ joined #perl6
02:46 [Coke] https://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:51 [Coke] .tell masak https://github.com/masak/csv has test failures
02:51 yoleaux [Coke]: I'll pass your message to masak.
03:02 undersc0re97 joined #perl6
03:02 undersc0re97 hi is there an official interpreter for Perl 6 yet?
03:04 labster There is an official specification for Perl 6, and various interpreters that implement the spec (to various degrees).
03:05 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 geekosaur this is not python; "there's more than one way to do it" applies even to perl itself :)
03:05 undersc0re97 and this is why perl 6 sucks
03:05 undersc0re97 g'day
03:05 undersc0re97 left #perl6
03:06 geekosaur nice troll
03:06 labster trollolol
03:16 adu ?
03:41 adu how do I read a file into a string?
03:43 sorear slurp
03:44 adu is that a string method or a function?
03:44 labster both
03:44 labster slurp "filename"; "filename".IO.slurp;
03:45 adu I don't see it in http://perlcabal.org/syn/S29.html
03:45 labster http://perlcabal.org/syn/S32/IO.html
03:45 adu ah, thanks
03:46 labster actually "filename".IO.open.slurp;
03:46 adu I'll probably use the global
03:46 labster it's easier.
03:49 rhinux_ joined #perl6
04:33 adu how do I remove whitespace at the end of a string?
04:34 _jaldhar joined #perl6
04:35 tangentstorm maybe s/$<x>=(.*?)\s*/$<x>/ ?
04:36 tangentstorm i don't remember the new notation.
04:36 lue r: say "foo    " ~~ /\s+$//
04:36 yoleaux 02:04Z <[Coke]> lue: there's a pull request for Lingua--EN--Numbers--Ordinal
04:36 camelia rakudo 5122e2: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/BVbGbw3qOL:1�------> [32msay "foo    " ~~ /\s+$//[33m�[31m<EOL>[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-infix�»
04:36 tangentstorm for regexps i mean, unless it's the same
04:36 tangentstorm oh yeah
04:36 lue r: say "foo    " ~~ s/\s+$//
04:36 camelia rakudo 5122e2: OUTPUT«Cannot modify an immutable value␤  in sub infix:<=> at src/gen/CORE.setting:12872␤  in block  at /tmp/Z7CZN6JCdM:1␤␤»
04:36 lue r: my $a = "foo    "; say $a ~~ s/\s+$//
04:36 camelia rakudo 5122e2: OUTPUT«True␤»
04:36 lue r: my $a = "foo    "; $a ~~ s/\s+$//; say $a; # Bah.
04:36 camelia rakudo 5122e2: OUTPUT«foo␤»
04:37 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"
04:37 camelia rakudo 5122e2: OUTPUT«foo   2 spaces now␤»
04:37 lue huh.
04:38 lue 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"
04:38 camelia rakudo 5122e2: OUTPUT«foo2 spaces now␤»
04:38 adu o trim works
04:38 adu r: my $a = "foo  "; say $a.trim(), "2 spaces now"
04:38 camelia rakudo 5122e2: OUTPUT«foo2 spaces now␤»
04:49 Heather joined #perl6
04:49 Heather Good morning
04:55 labster good morning, Heather.
04:57 Heather is there something for UI here?
04:59 * labster has no idea
05:10 SamuraiJack joined #perl6
05:10 Heather__ joined #perl6
05:11 Heather___ joined #perl6
05:26 adu how do I declare a variable in a class?
05:28 adu r: class C{ constant $X = 3; method F() { return $X; }}; my $c = C.new; say $c.F
05:28 camelia rakudo 5122e2: OUTPUT«3␤»
05:28 sorear seems like it worked?
05:30 adu I guess so :D
05:30 adu :P
05:42 gdey joined #perl6
05:48 adu how do I do $x[0].ast ~ $x[1].ast ~ $x[2].ast
05:54 sorear you want to convert the ASTs to strings and concatenate the string representations?
05:55 adu sorear: yes, exactly
05:56 adu but @xs.map -> $x { $x.ast } isn't working
05:59 FROGGS_ joined #perl6
06:00 FROGGS morning
06:01 tangentstorm joined #perl6
06:07 sorear adu: don't try to be fancy.
06:07 sorear do you know how to write a loop over indexes?
06:10 adu no
06:10 adu I learned perl6 all wrong, I started with grammars, and now I'm learning basics
06:11 sorear do you know C or Java or any of the other five million languages that don't have map?
06:12 Heather___ sorear wait, Java have no map? :P
06:12 Heather joined #perl6
06:12 adu for @xs -> $x { $x = $x.ast }?
06:13 diakopter or $x.=ast
06:13 adu oh nice
06:14 kaleem joined #perl6
06:14 adu now, does it have to have the @ sigil? or does that work for parcels too?
06:16 diakopter the @ sigil only signifies Positional role; anything can be iterated if it implements it
06:17 diakopter at least, in 6model.
06:17 diakopter I suspect it's the same in niecza
06:20 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␤»
06:20 adu hmm, that's almost right
06:21 moritz good morning
06:21 moritz japhb++ # reviewing commits
06:21 adu good morning moritz
06:25 frdmn joined #perl6
06:47 dayangkun joined #perl6
06:47 rindolf joined #perl6
07:03 arlinius joined #perl6
07:06 domidumont joined #perl6
07:09 dayangkun joined #perl6
07:10 crab2313 joined #perl6
07:23 domidumont joined #perl6
07:36 sqirrel joined #perl6
07:45 xinming joined #perl6
07:59 masak good morning, #perl6
07:59 yoleaux 02:51Z <[Coke]> masak: https://github.com/masak/csv has test failures
07:59 hoelzro o/ masak
07:59 drbean joined #perl6
07:59 diakopter masak: did you see camelia?
08:01 jnthn morning, #perl6
08:01 hoelzro o/ jnthn
08:01 arnsholt 'lo jnthn
08:05 masak rn: say "»ö«"
08:05 camelia rakudo 5122e2, niecza v24-37-gf9c8fc2: OUTPUT«»ö«␤»
08:06 masak diakopter: yes, noticed in the backlog.
08:06 masak 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:07 diakopter 'cuz it's cute
08:08 salv0 joined #perl6
08:08 masak gotcha.
08:09 FROGGS still is a SCHMETTERLING
08:09 * DrEeevil smashes random things
08:10 * diakopter gets smashed
08:10 * FROGGS .oO( it just seems random O.o )
08:10 DrEeevil you started with the SCHMETTERLING
08:18 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:19 diakopter fapper?
08:19 masak no, "flapper".
08:19 masak like with wings.
08:19 Heather masak hi.
08:19 diakopter fapper?
08:20 masak Heather: oh hai.
08:20 masak Heather: hope you are well.
08:20 tadzik butterly, flutter by
08:20 Heather I'm well
08:21 masak yay
08:21 sorear diakopter: don't go there.
08:21 sorear .translate en de bat
08:21 sorear .help
08:21 yoleaux sorear: I'm yoleaux. Type .commands to see what I can do, or see http://dpk.io/yoleaux for a quick guide.
08:22 sorear .tr :en :de bat
08:22 yoleaux Fledermaus (en → de)
08:22 sorear masak: I like that one a lot too
08:22 tadzik oh, new translation syntax
08:22 tadzik .tr :pl :en agrafka
08:22 yoleaux safety-pin (pl → en)
08:22 labster hi everyone
08:22 tadzik hi labster
08:22 Heather .tr :en :pl butterfly
08:22 yoleaux motyl (en → pl)
08:22 sorear hi labster
08:22 masak sorear: oh. same word in Swedish :)
08:23 labster .tr :en :ja butterfly
08:23 yoleaux 蝶 (en → ja)
08:23 masak same in Chinese ;)
08:23 FROGGS hehe
08:23 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
08:23 sorear awful huffmanning
08:24 masak sorear: yeah, since we abstracted away Nature we're long overdue for a corresponding language refactor.
08:24 tadzik such as?
08:24 masak I hear they're going to abolish Nature completely in the next generation or so.
08:25 Heather .tr: :la :en perl
08:25 masak Heather: no colon after '.tr'
08:25 sorear masak: Elsevier *shakes fist at sky*
08:25 Heather .tr :la :en perl
08:25 yoleaux all over (la → en)
08:26 Heather .tr :la :en Perl
08:26 yoleaux Perle (la → en)
08:26 tadzik sorear: what are those 3-4 letter words?
08:26 masak sorear: I know about the publishing company, but not really sure what you're referring to.
08:26 masak tadzik: 'cat', 'bat'...
08:26 tadzik ah
08:26 tadzik I've seen both :)
08:26 sorear "sty" is another great one
08:26 masak that's used of teenage rooms, though.
08:26 tadzik .tr :en :pl sty
08:26 yoleaux chlew (en → pl)
08:27 tadzik oh, a dorm room
08:27 * masak does "told you so" gesture
08:27 Heather .tr :la :en perl Perl perL
08:27 yoleaux all over Perle Perle (la → en)
08:27 sorear tadzik: haha
08:27 sorear tadzik: literally, a holding area for pig farming
08:28 tadzik yeah, I know the word :)
08:28 masak some of us were actually born on the countryside :P
08:28 sorear oh, I thought maybe google translate had caught the metaphor meaning :D
08:28 jnthn masak: And some of us were born *in* it :P
08:28 tadzik well, my hometown actually qualifies as, hrm
08:28 tadzik .tr :pl :en wieÅ›
08:28 yoleaux village (pl → en)
08:28 tadzik well, that's not the perfect translation
08:29 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" :)
08:29 tadzik but I'm used to sleeping in barns and whatnot :)
08:29 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.
08:29 sorear IME area class words don't translate well
08:30 sorear 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
08:30 yoleaux programmue (en → en)
08:31 Heather .tr :en :en programme
08:31 yoleaux programme (en → en)
08:31 masak sorear: no, it's "in" on both sides of the pond, and I'm just mis-generalizing.
08:32 * sorear suspects :en :en may be getting turned into a noop
08:32 berekuk joined #perl6
08:32 Heather .tr :en :de :en programme
08:32 yoleaux Programm (en → de)
08:33 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
08:34 * labster tries to imagine the Rio Grande as  something other than a flat riverbed.
08:35 diakopter there are canyon sections
08:35 daxim joined #perl6
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?
08:36 * 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
08:36 labster r:  if BEGIN {1}␤ && 2 { say "alive" }
08:36 camelia rakudo 5122e2: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/OujNZ9ORXC:2�------> [32m [33m�[31m&& 2 { say "alive" }[0m�    expecting any of:�        postfix�        statement end�        statement modifier�        statement modifier loop�        parameterized block�»…
08:36 fgomez joined #perl6
08:37 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:38 tadzik for some reason, that reminds me of this cartoon
08:38 tadzik "
08:38 labster I upgrade from r* to current rakudo, and magically find my code not working.  but should that work above?
08:38 tadzik "Obviously, white zebras with black stripes hated black zebras with white stripes"
08:38 sorear std:  if BEGIN {1}␤ && 2 { say "alive" }
08:38 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block at /tmp/mMzKmpZLwa line 2:�------> [32m [33m�[31m&& 2 { say "alive" }[0m�    expecting any of:�    blast�  block�  statement end�  statement list� statement modifier loop�Parse failed�FAILED 00:00 43m�»…
08:39 sorear labster: Looks like it should not work.  Hmm.
08:39 labster r:  if BEGIN {1}␤  { say "alive" }
08:39 camelia rakudo 5122e2: OUTPUT«alive␤»
08:39 labster std:  if BEGIN {1}␤  { say "alive" }
08:39 sorear std:  if BEGIN {1}␤ { say "alive" }
08:39 camelia std 86b102f: OUTPUT«ok 00:00 43m␤»
08:39 camelia std 86b102f: OUTPUT«ok 00:00 43m␤»
08:40 dakkar joined #perl6
08:40 labster huh.  Well, that used to work.  Oh well, no big deal.
08:42 jnthn That used to be a parse bug in Rakudo
08:43 jnthn } did not always terminate lines properly, so it left the parser happy to parse an infix
08:43 jnthn Which mean if the next line sharted with a %h you were in bother.
08:43 jnthn *started
08:43 jnthn As it treated the % as a modulo.
08:43 * jnthn remembers fixin' it.
08:44 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:49 kresike joined #perl6
08:49 kresike hello all you happy perl6 people
08:59 tgt joined #perl6
09:06 labster oh boy, more block parsing errors.
09:06 labster r: my (%filesizes, @duplicates);   %filesizes  ==> grep { .value ~~ Array }␤ ==> map { .value }␤  ==> @duplicates ;
09:06 camelia rakudo 5122e2: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus statement�at /tmp/3gX91Wax5H:2�------> [32m [33m�[31m==> map { .value }[0m�    expecting any of:�        postfix�        statement end�        statement modifier�        statement modifier loop�        prefix or term�       …
09:07 labster r: my (%filesizes, @duplicates);   %filesizes  ==> grep { .value ~~ Array } ==> map { .value }  ==> @duplicates ;
09:07 camelia rakudo 5122e2:  ( no output )
09:07 labster newlines man.
09:07 jnthn Hmmm
09:08 jnthn std:  my (%filesizes, @duplicates);   %filesizes  ==> grep { .value ~~ Array }␤ ==> map { .value }␤  ==> @duplicates ;
09:08 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus statement at /tmp/W_Gdpg0R0O line 2:�------> [32m [33m�[31m==> map { .value }[0m�Parse failed�FAILED 00:00 46m�»
09:08 jnthn That's inconvenient, though consistent with STD
09:08 jnthn Can be defeated with parens
09:08 jnthn grep({...})
09:09 arnsholt What about moving the ==> to the other side of the newline?
09:09 jnthn Should work also
09:09 jnthn The rule is about } followed by a new line
09:10 * jnthn kinda likes lining up his pipes to the left, though...
09:10 arnsholt Yeah, I like having them on the left as well
09:11 arnsholt Unrelated, I hate writing abstracts
09:12 * jnthn is writing sample code and tutorial material today, which isn't so bad
09:12 arnsholt Yeah, that's a bit easier
09:12 * arnsholt forgot about the JavaZone deadline
09:13 arnsholt So now I have to write it up, or not get to submit anything at all
09:13 jnthn ah, conf deadlines...
09:13 jnthn When is JavaZone?
09:13 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:<
09:13 arnsholt September I think
09:13 jnthn That's quite a way before the conf
09:14 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.
09:14 jnthn Like I've a clue what I'll care about in November all the way back in April! :)
09:14 arnsholt I know!
09:15 arnsholt Sometimes I don't know what I'll care about next week, never mind half a year in advance =)
09:16 berekuk joined #perl6
09:18 xinming joined #perl6
09:19 fgomez joined #perl6
09:39 labster okay, my broken modules are working once again.  thanks jnthn++.  And now it's bedtime.
09:41 FROGGS gnight labster
10:02 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. :)
10:03 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
10:04 arnsholt Yeah, that was my rough (not-really-a) plan so far
10:04 arnsholt Continue working on mainline NQP and start hacking on the JVM side once it lands in the main repo
10:10 crab2313 joined #perl6
10:46 rking joined #perl6
10:59 SamuraiJack_ joined #perl6
11:00 fgomez joined #perl6
11:11 brrt joined #perl6
12:16 * masak waves, from a train
12:17 masak isn't it *awesome* that you can do IRC while moving ~100 km/h?
12:17 * Heather is dancing in the rain
12:18 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.
12:19 masak oh, ok.
12:19 jnthn To Stockholm is what, 700km?
12:19 jnthn And it gets there in 4.25 hours or so
12:19 masak oh yeah.
12:19 jnthn I think it's 200km/h ish.
12:20 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...
12:20 masak "SJ inte så långsamt-tåg" :P
12:20 jnthn :D
12:20 jnthn ...I bet it'll be 2030 or so though.
12:20 masak WOW that's fast! oh wait
12:20 jnthn You have to be China to build high speed rail out at insanely high pace. :)
12:21 masak I love the plans I saw for Chinese trains that are so fast they *don't stop at stations*.
12:22 masak (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 jnthn The next time I get chance to travel around China, it will be rather different.
12:23 jnthn 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 jnthn .oO( Now if only they could do this with the Trans-Sib... :) )
12:23 tgt joined #perl6
12:24 arnsholt jnthn: They keep talking about high-speed rail in Norway as well, especially Oslo-Bergen
12:25 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
12:25 arnsholt Far easier way to get political goodwill >.<
12:25 jnthn You may well start and end at sea level but there way is anything but flat.
12:25 jnthn *the
12:25 jnthn You hit >1km in altitude at one point, iirc?
12:26 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 :)
12:26 arnsholt Finse station is 1222 above sealevel, I think
12:26 arnsholt And the highest point a bit above that again
12:26 arnsholt Yeah. Infrastructure is stupid expensive
12:27 jnthn Ah. I got off at Myrdal, or however you spell it.
12:27 jnthn The one where the line down to Flaam starts.
12:27 arnsholt Myrdal is a station, not too far from Bergen
12:27 arnsholt Yeah, that's Myrdal
12:27 jnthn It's still pretty high, iirc.
12:28 arnsholt ("Bog valley" is the literal meaning in modern Norwegian)
12:30 arnsholt Still a ways to go down to Bergen from Myrdal, I think, yeah
12:30 arnsholt Lots of mountains, certainly =)
12:31 jnthn Yeah. I really liked it there.
12:31 jnthn Will have to visit again some day.
12:31 domidumont joined #perl6
12:33 arnsholt Could you take a look at https://gist.github.com/arn​sholt/219bafc22a55fac09e21 BTW? What I've got for my JavaZone abstract so far
12:33 arnsholt Feedback from anyone with a few minutes to spare would be much appreciated
12:36 jnthn arnsholt: Operator definition is not quite coupled to classes, fwiw :)
12:36 jnthn Maybe point out how it's done with multiple dispatch?
12:37 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
12:38 jnthn arnsholt: Gradual typing may also be worth a mention
12:39 jnthn (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 http://feather.perl6.nl/~sergot/modules/ refresh?
12:39 tangentstorm arnsholt: Probably java readers would rather you compared it to java than to perl5.
12:40 jnthn tangentstorm: Hm, that's a good point on audience...
12:40 tangentstorm Like how does this grammar stuff compare to ANTLR?
12:42 arnsholt jnthn: I know. Figured I'd not go into too many details in the abstract
12:42 arnsholt (Re: operators)
12:42 arnsholt Yeah, I tried to hint at the gradual typing. Any suggestions on how to make it clearer?
12:42 tangentstorm answer: perl6 has a lot more power, you can (with a little work) use perl actions with existing antlr grammars.
12:42 arnsholt Yeah, I need more bullet points on audience
12:43 tangentstorm Can you use java classes from perl, and vice versa?
12:43 jnthn tangentstorm: Not yet, but I want to make that possible.
12:43 arnsholt ANTLR is a good idea. It should be well known to Java folks and make the increased expressive power apparent
12:43 arnsholt Language interop is one of those non-specced parts of Perl 6 I think
12:43 jnthn tangentstorm: Got get Rakudo to run there at all first :)
12:44 [Coke] jnthn++ jvm work.
12:45 tangentstorm oh so this is like a "vision of the future" article, arnsholt?
12:46 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 :)
12:46 tangentstorm Oh cool. Didn't know what javazone was.
12:46 arnsholt tangentstorm: No, this is a Java conference
12:47 arnsholt So my general idea is "Perl 6 is super awesome! And look, it runs on the JVM like, right now!"
12:47 arnsholt Especially the last part. I'd like to demo some code using Rakudo/JVM and show that it's possible right now
12:48 arnsholt Now vapourware, no grand visions of the future, just cool code right now
12:48 jnthn s/Now/No/ ? :)
12:48 tangentstorm Who is working on this?
12:48 arnsholt Yeah, that ^_^
12:49 [Coke] ooh, I liked javaone. first conference I got work to send me to. :)
12:49 jnthn tangentstorm: Various folks here are contributing.
12:49 * [Coke] still has his stuffed Duke!
12:49 arnsholt tangentstorm: "This" being the JVM port?
12:49 tangentstorm yeah.
12:51 arnsholt Mostly jnthn++ is my impression, but several other as well
12:53 dayangkun joined #perl6
12:54 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 tangentstorm (or is it just a completely different thing?)
12:55 jnthn tangentstorm: NQP is basically already ported in https://github.com/jnthn/nqp-jvm-prep/
12:55 tangentstorm cool
12:55 jnthn tangentstorm: It can cross-compile itself to the JVM.
12:56 jnthn tangentstorm: Giving a Parrot-independent output.
12:56 jnthn I'm two files off having that self hosted thing being able to spit itself out.
12:56 jnthn Meaning it'll be bootstrapped on the JVM.
12:57 jnthn also migrating the work into the main NQP repository since loads of code is shared.
12:57 tangentstorm Cool.
12:59 p5eval joined #perl6
13:04 census joined #perl6
13:09 bluescreen10 joined #perl6
13:10 PacoAir joined #perl6
13:11 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:12 arnsholt daxim: ?
13:12 masak daxim: please provide some context.
13:12 daxim http://perlmonks.org/index.pl?node_id=1027730
13:14 * masak is getting increasingly tired at debates on exactly where on the adoption curve Perl 6 is
13:14 daxim you tire, you lose
13:14 masak I beg to differ. I'm coding Perl 6 and having a lot of fun.
13:14 masak I'm *getting Perl 6 code written*.
13:15 masak 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
13:15 tadzik papercuts? :)
13:16 masak agreed. I'll have a look at CSV later today.
13:16 daxim like https://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.
13:16 hoelzro the problem I've had with writing Perl 6 code is that I get 80% there, and something stops me
13:17 hoelzro whether it's my knowledge of the language or a bug
13:17 tadzik ah, yes
13:17 daxim ↑ what mr ro said
13:17 tadzik daxim: I went some way towards that, it's not ready for publishing yet
13:17 hoelzro sometimes the bugs are workaround-able, but sometimes it's hard
13:17 hoelzro especially without digging into the internals
13:17 daxim excellent, keep the public updated with your progress
13:18 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? https://rt.perl.org/rt3/Tic​ket/Display.html?id=117377
13:19 * hoelzro also needs to work on compiling the list of weird behavior he found with POSIX.pm6
13:20 jnthn hoelzro: The underlying issue is that there's no postcircumfix:<( )> in the base class.
13:20 hoelzro jnthn: right
13:21 hoelzro but adding it is non-trivial =(
13:21 hoelzro I made a comment detailing my research =)
13:22 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 jnthn Well, infinite recursion.
13:23 hoelzro right =/
13:23 hoelzro I'd be happy to work on it some more; I just need some direction
13:24 crab2313 joined #perl6
13:25 jnthn May be best added in BOOTSTRAP
13:26 colomon masak: you did see https://github.com/masak/csv/pull/6 , right?
13:26 hoelzro I think I tried adding it to BOOTSTRAP
13:26 jnthn But may also need to circumvent stuff somewhere in ClassHOW...
13:27 jnthn I'd have to look more closely, and I'm meant to be $dayjobbing at the moment :)
13:27 woosley1 joined #perl6
13:27 masak colomon: no, I didn't. looking now.
13:28 hoelzro ok, very good
13:28 masak colomon: merged.
13:28 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:29 colomon masak++
13:29 tadzik github doesn't make it too easy to keep track of pull requests opened in your repos
13:30 colomon tadzik: ah, I didn't know that.
13:30 colomon I figured there would be an e-mail sent.
13:30 tadzik oh, there is :)
13:30 masak I have a simple rule to manage it all: I ignore all pull requests until someone tells me in person.
13:30 tadzik I find those easy to forget too
13:30 tadzik https://github.com/dashboard/pulls/public is almost good
13:30 masak emails -- I couldn't handle all that, so I think I turned them off.
13:31 tadzik if only it had "show only _my_ repos, not all repos I have access to"
13:31 masak right.
13:31 tadzik I should probably ask github stuff for that
13:31 masak that was the problem for me -- too much noise.
13:31 masak tadzik: please do :)
13:31 colomon interesting.
13:31 tadzik same with issues
13:31 tadzik oh, issues have "In your repositories"
13:31 * colomon now has to remember what the other pull request he sent yesterday was...
13:32 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?
13:32 colomon ah, template6 -- supernovus?
13:32 robinsmidsrod joined #perl6
13:33 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."
13:33 arnsholt I'm a bit tuit-starved ATM, though. Unfortunately :/
13:33 hoelzro arnsholt: I'll submit them as soon as I have good examples =)
13:33 hoelzro aren't we all? ;)
13:34 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?
13:34 arnsholt jnthn: Oooh, nice one. It's almost like you've thought quite a bit about this =D
13:34 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?
13:35 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 #perl6
13:35 arnsholt Rakudo's optimizer does a bit of inference already, doesn't it?
13:35 jnthn Depends what you count as inference... :)
13:35 arnsholt Heh
13:36 hoelzro well, my $sum = 0; for @known_int_values -> $value { $sum += $value } return $sum
13:36 hoelzro (assuming @known_int_values is declared as Array of Int)
13:36 hoelzro the compiler *could* say "hey, $sum is an Int"
13:36 hoelzro right?
13:37 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
13:37 brrt also
13:37 hoelzro right
13:37 brrt what about speculative optimisations?
13:37 brrt 'assuming this stays an integer, do ….., otherwise, bail me out'
13:38 jnthn brrt: Just need to be careful not to lose by bulking up the resulting code too much with speculation.
13:38 jnthn Some things are better left to JIT time.
13:38 brrt uhuh
13:38 hoelzro let's say it's this: sub mysum(Array of Int @values) { my $sum = 0; for @values -> $value { $sum += $value } $sum }
13:38 brrt but i wonder how many or few JIT-ers transform objects to primitives
13:38 hoelzro $sum is safe to be an Int here
13:38 hoelzro another thing is this:
13:38 brrt hoelzro, in ruby it aint
13:39 brrt (for example)
13:39 hoelzro brrt: it's not?
13:39 brrt because int is defined to overflow to BigInt
13:39 hoelzro oh, I see
13:39 brrt IIRC
13:39 hoelzro good point
13:39 hoelzro well, my other question is:
13:39 kaare_ joined #perl6
13:39 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:41 hoelzro *its
13:41 xinming joined #perl6
13:45 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 =)
13:45 brrt you're asking for type inference?
13:46 * brrt is not aware of anything that forbids it
13:46 hoelzro I'm asking if that kind of inference will be done
13:46 brrt but i'm not sure it would be spec-ed
13:46 hoelzro yeah
13:46 brrt and then, do non-inferencing compilers comply?
13:46 masak colomon: usually typing a @ variable with 'Array' is Not What You Want.
13:46 brrt do we want to put the burden of correct type inference onto compilers?
13:47 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
13:47 masak colomon: did you mean 'Int @values'?
13:47 hoelzro masak: that's my fault
13:47 hoelzro I meant Int @values
13:47 masak oh, so I see.
13:47 jnthn 73 lines, lock free
13:47 jnthn oh, ww
13:47 masak :)
13:48 brrt hmm
13:48 hoelzro there could also be a lexical trait or something that says "hey, go nuts with type inference here"
13:48 hoelzro hmm
13:48 hoelzro I think I like that last one best
13:48 brrt it would be un-perl6-y to /not/ specify such a thing
13:48 hoelzro use auto_inference; # automatically amends type signatures if capable
13:48 * hoelzro continues to muse over coffee
13:49 arnsholt Why would you want that to be turned on explicitly?
13:49 arnsholt If the optimizer can statically determine something's safe, it should do it anyways
13:49 arnsholt If it can't be proven to be safe, you can't do it anyways
13:50 skids Maybe you want to know at compile time if you have written code that will collapse to natives...
13:50 skids So it could fail if not.
13:50 arnsholt That might be nice, true
13:51 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 brrt use inference
13:51 * brrt likes
13:51 arnsholt OTOH, ACL is a commercial CL compiler that's been in development for something like 30 years
13:52 brrt what, we'll reach that age soon enough
13:54 census left #perl6
13:55 Chillance joined #perl6
13:58 robinsmidsrod joined #perl6
14:08 timotimo hehe :)
14:10 FROGGS I am already 30 fwiw
14:13 arnsholt I've updated my abstract gist: https://gist.github.com/arn​sholt/219bafc22a55fac09e21
14:15 timotimo looking for a file to put a test for https://rt.perl.org/rt3/Ti​cket/Display.html?id=73938 into - suggestions?
14:16 hoelzro arnsholt: just for signature inference
14:16 hoelzro for an our sub/multi
14:17 tadzik FROGGS: Happy Birthday! \o/
14:18 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)␤»
14:18 arnsholt hoelzro: Sorry? My addled brain failed to parse that
14:18 timotimo i'd like to create a type dexception for that. yay/nay?
14:18 FROGGS tadzik: no, my birthday is in 6 months.... :o)
14:18 hoelzro arnsholt: I mean to say that I think inference should be automatic for lexicals
14:18 hoelzro and optional for things that will exist outside the current lexical unit
14:19 arnsholt Oh, right
14:19 FROGGS timotimo: you need a typed exception to make a proper test, so, yes :o)
14:19 hoelzro because I see no harm in implying Int for my $sum = 0;
14:20 hoelzro but for sub mysum(Int @values) { ... }
14:20 hoelzro there might be a case where magically attaching a 'returns Int' without informing the user could be bad
14:22 timotimo how about X::Routine::ImpossibleInvocation?
14:23 FROGGS hmmm, an X:: is always if something is not possible at that moment
14:24 timotimo i could derive it from X::Comp without having X::Comp in the name, no?
14:24 FROGGS right
14:24 timotimo does the name sound acceptable then?
14:25 timotimo hm, there are X::Routine:: and X::Multi, but this exception kind of covers both cases
14:26 FROGGS routine is the base class of a multi
14:26 FROGGS and adding tokens is more about multis as routines
14:26 timotimo interestingly there is already X::Multi::NoMatch, which could be used for this case if we have a multi.
14:26 timotimo oh, i wasn't thinking about adding tokens at the moment
14:26 timotimo i got sidetracked :)
14:27 FROGGS rn: sub statement:<hurz> {}; say "alive"; #RT #73938
14:27 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Cannot extend category:statement with subs at /tmp/MhLL4dTIyQ line 1:�------> [32msub statement:<hurz> [33m�[31m{}; say "alive"; #RT #73938[0m��Potential difficulties:�  &statement:<hurz> is declared but not used at /tmp…
14:27 camelia ..rakudo 5122e2: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot add tokens of category 'statement'�at /tmp/XyTbNOKN0a:1�------> [32msub statement:<hurz> [33m�[31m{}; say "alive"; #RT #73938[0m�    expecting any of:�        colon pair�        quote words�»
14:28 FROGGS so it is about trying to add multis to an onlystar?
14:28 FROGGS err, not onlystar...
14:28 timotimo nonono, i am talking about something entirely different right now
14:28 timotimo r: try eval q{ sub foo(Str) { }; foo 42 }; say $!.WHAT
14:28 tadzik FROGGS: doesn't matter! \o/ :D
14:28 camelia rakudo 5122e2: OUTPUT«(X::AdHoc)␤»
14:28 FROGGS tadzik: \o/ :O)
14:29 FROGGS ahhh, this one
14:30 xilo joined #perl6
14:30 FROGGS X::Routine::SignatureMismatch?
14:31 timotimo how does it relate to X::Multi::NoMatch? the error messages are very similar at lesat
14:31 timotimo least*
14:32 FROGGS hmmm, it is almost the same, yes
14:32 FROGGS maybe throwing the same message is okay in this case
14:32 FROGGS ENOSUCHCANDIDATE
14:33 timotimo i'll have a look if i can make it happen
14:33 timotimo oh, well, there may not be a $.dispatcher that i can put there, though.
14:34 skids Though the user might infer that receiving an X::Multi::NoMatch means that their sub is considered a multi.
14:34 timotimo right
14:34 timotimo i think i'll need a distinct error message
14:35 timotimo especially since the code already distinguishes between "calling proto of" and "calling" ... "will never work".
14:37 timotimo 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 timotimo that shall be my first stop.
14:37 skids Yeah I've wanted that.
14:38 timotimo oh, it seems like that comes from the insides of parrot
14:39 FROGGS timotimo: I believe that this is in cqp's multidispatch.c
14:39 skids Better put down some newspapers. :-)
14:39 FROGGS *g*
14:40 timotimo i don't know what ... oh.
14:40 timotimo yes, that could very well be.
14:40 timotimo but the multiple dispatcher is in nqp nowadays
14:40 timotimo so maybe i can fiddle around in it for a bit
14:40 FROGGS you could add the current call right beneath the most fitting dispatchee, and colorize the good&bad arguments green&red O.o
14:41 timotimo yikes
14:41 BenGoldberg joined #perl6
14:41 FROGGS :P
14:41 FROGGS NAOW!
14:41 timotimo seems like the multidispatch nqp code is only in jvm compatibility stuff?
14:42 FROGGS might well be
14:43 timotimo i'll wait for that to hit parrot-rakudo. if it ever will.
14:44 timotimo whaaaat, multi_dispatch.c is only 150 lines of c code?!
14:47 timotimo hm, but there must be some other code, this is just caching stuff
14:48 timotimo NQPRoutine seems to have a dispatch method
14:50 FROGGS timotimo: once the dispatchee-dumper was in that file, at least I believe it was
14:51 FROGGS https://github.com/perl6/n​qp/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? :\
14:52 FROGGS jnthn++ removed large chunk on feb 07
14:52 timotimo yes, the rest seems to be in NQPRoutine now
14:53 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 #perl6
14:54 timotimo well, that comes from the optimizer
14:54 FROGGS /home/froggs/dev/rakudo_rakud​o/src/Perl6/Optimizer.pm:621:            $obj.name ~ "' will never work with " ~
14:54 FROGGS meh, right
14:54 timotimo yes, i've found this all before ;)
14:54 FROGGS bah
14:54 timotimo sorry
14:54 FROGGS np
14:56 timotimo i wonder how to do this later than compile time
14:56 timotimo except by turning off the optimizer
14:57 timotimo apparently that still runs at --optimize=0
14:58 anant__ Is exception reporting handled differently on  the REPL?
14:58 timotimo a little bit
14:58 timotimo due to an unfortunate bug, $! will not be available between lines :(
14:58 timotimo if you write try { die "foo" } and after that say $!, you'll get nil
14:59 timotimo or rather Any.
14:59 anant__ I was trying to understand this: https://gist.github.com/anant-sogani/5388608
14:59 timotimo in you write try { die "foo" }; say $!, you will get foo
15:00 timotimo ah, indeed. it may be lazy in the file and -e version, but eagerly evaluated in the REPL
15:00 timotimo because the repl will print the value of your expression
15:00 timotimo try this in the repl:
15:00 timotimo my @a = 1, 2, 8 ... *; 1;
15:00 timotimo you will see, that the error will not be reported
15:01 anant__ timotimo: you're right!
15:02 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 gtodd oh it just eagerly takes the 1
15:04 timotimo that's not really it; the repl will just print only the last thing computed
15:05 anant__ timotimo: --ll-exception didn't change anything (no backtrace for "say @a")
15:05 timotimo ok, ok
15:05 gtodd hmm but it doesn't hand continuing with \
15:06 timotimo indeed. finding out when a statemend ends is a hard thing to do
15:06 timotimo although of course the \ before a new line is a trivial thing to add
15:06 gtodd errm doesn't handle continuing the way say SQL clients can because perl > SQL but ... yeah can't/wouldn't  \ be useful?
15:07 anant__ timotimo:  Can you point me to the code which sets exception reporting to eager for REPL
15:08 timotimo that's not what's happening
15:09 timotimo 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
15:09 kresike bye folks
15:10 timotimo https://github.com/perl6/nqp/blob​/master/src/HLL/Compiler.pm#L237
15:10 timotimo 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
15:10 gtodd perl5 -de1    uses  cont: :)
15:10 gtodd neat
15:11 timotimo there's something similar in STD, too, but it doesn't seem complete
15:11 timotimo gotta pack up and run now :)
15:12 anant__ timotimo: thanks!
15:15 stevan_ joined #perl6
15:28 arnsholt JavaZone talk submitted! =D
15:30 stevan_ joined #perl6
15:32 FROGGS arnsholt++
15:43 dalecooper joined #perl6
15:46 [Coke] what the (*#&@$ is wrong with http://perlmonks.org/index.pl?node_id=1027730 the sexist shirt thing?  Has someone called them out about that in the comments?
15:49 [Coke] *and the..
15:55 xantamoc joined #perl6
15:55 gdey joined #perl6
15:56 jnthn timotimo: The Rakduo multi-dispatcher is different from the NQP one; they just share caching infrastructure
15:56 jnthn 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)␤»
15:57 jnthn Already typed, it seems :)
16:02 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:10 isBEKaml joined #perl6
16:11 dmol joined #perl6
16:12 isBEKaml hello, #perl6!
16:16 masak isBEKaml! \o/
16:16 isBEKaml 'elo, masak! :)
16:18 FROGGS joined #perl6
16:20 [Coke] masak: I didn't even get to the rest of the comment because of the sexism.
16:21 [Coke] on the plus side, perlmonks seemed slightly faster than I remember it being.
16:23 stevan_ joined #perl6
16:23 isBEKaml perlmonks is faster these days? I only remember it being down all the time. :)
16:31 isBEKaml masak: how goes p6IRCast?
16:33 stevan_ joined #perl6
16:39 * masak .oO( perlmonks: brings you sexism slightly faster )
16:39 masak isBEKaml: excuse me, what's a p6IRCast? :)
16:40 isBEKaml masak: Oh, you know - the little thing that's served over the interwebs. :P
16:40 masak isBEKaml: packets?
16:41 * 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. :)
16:41 masak maybe I'm too busy to play along.
16:41 perigrin joined #perl6
16:41 masak (teaching tomorrow, and still some left to prepare)
16:41 xantamoc left #perl6
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
16:42 isBEKaml 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.
16:42 gtodd masak: oops ok please ignore my question!! will ask again another day
16:42 isBEKaml gtodd: for something simpler? ;)
16:43 gtodd masak:  go prepare for teaching or your students will suffer
16:43 gtodd :)
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?"
16:43 masak in that case, uh, well I guess.
16:44 isBEKaml masak: you're safer than me from myself, then. :P
16:44 SamuraiJack_ joined #perl6
16:45 isBEKaml masak: please ignore. Clear head, later will I come back.
16:46 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. :|
16:47 isBEKaml gtodd: so use Text::CSV?
16:48 gtodd isBEKaml: I am ... :-)  I just thought Text::CSV::Simple still existed somewhere
16:48 gtodd because it is used in SVG::Plot :-)
16:49 isBEKaml gtodd: oh, good then- I was just asking why you specifically needed ::Simple.
16:53 isBEKaml 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␤␤»
16:53 camelia ..niecza v24-37-gf9c8fc2: OUTPUT«(Int)␤»
16:53 colomon Text::CSV is not exactly complicated
16:53 isBEKaml oh, Camelia. Nice. :)
16:54 gtodd isBEKaml:  well it made headers into keys for csv values etc. Text::CSV does it too possibly in a simpler way :)
16:58 isBEKaml gtodd: Ah
17:00 isBEKaml nom: say (1,2,3,4) ~~ (1,*,3,*)
17:00 camelia rakudo 5122e2: OUTPUT«False␤»
17:02 isBEKaml b: say (1,2,3,4) ~~ (1,*,3,*)
17:02 camelia b 922500: OUTPUT«Bool::True␤»
17:02 [Coke] nom: say (1,2) ~~ (1,2)
17:02 camelia rakudo 5122e2: OUTPUT«True␤»
17:02 [Coke] nom: say (1,2) ~~ (1,*)
17:02 camelia rakudo 5122e2: OUTPUT«False␤»
17:03 isBEKaml [Coke]: It's marked to be a nom regression. I somehow misread that as regression after nom. :)
17:04 [Coke] ah, there's already a spec test?
17:04 [Coke] b: say (1,2).WHAT
17:04 camelia b 922500: OUTPUT«Parcel()␤»
17:04 [Coke] nom: say (1,2).WHAT
17:04 isBEKaml [Coke]: yep, S03-smartmatches
17:04 camelia rakudo 5122e2: OUTPUT«(Parcel)␤»
17:04 toddr left #perl6
17:05 [Coke] nom: say 3 ~~ *
17:05 camelia rakudo 5122e2: OUTPUT«True␤»
17:05 timotimo huh, what is "b"?
17:05 timotimo "beta"?
17:05 isBEKaml before "nom"
17:05 timotimo mhm
17:06 masak the "b" doesn't stand for anything much.
17:06 [Coke] nom: say (1,2,3) <<===>> (1,2,3)
17:06 camelia rakudo 5122e2: OUTPUT«[31m===[0mSORRY![​31m===[0m�Unsupported use of >> to do right shift;  in Perl 6 please use +> or ~>�at /tmp/IIFXDFHkha:1�------> [32msay (1,2,3) <<===>>[33m�[31m (1,2,3)[0m�»
17:06 stevan__ joined #perl6
17:06 PerlJam masak: bacon!  ;)
17:06 masak std: say (1,2,3) <<===>> (1,2,3)
17:06 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of <<== because sequencer operators are too fiddly at /tmp/qsU9JDDCYP line 1:�------> [32msay (1,2,3) <<===[33m�[31m>> (1,2,3)[0m�Bogus term at /tmp/qsU9JDDCYP line 1:�------> [32msay (1,2,3) <<===[33m�…
17:07 masak std: say (1,2,3) <<[===>]> (1,2,3)
17:07 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse bracketed infix at /tmp/lEU9p5yuCG line 1:�------> [32msay (1,2,3) <<[33m�[31m[===>]> (1,2,3)[0m�Couldn't find final ']'; gave up at /tmp/lEU9p5yuCG line 1:�------> [32msay (1,2,3) <<[===[33m�[31m>]> (1,2,3)[0m�P…
17:07 masak std: say (1,2,3) <<[===]>> (1,2,3)
17:07 camelia std 86b102f: OUTPUT«ok 00:00 44m␤»
17:07 timotimo what's that supposed to be? o_O
17:07 masak nom: say (1,2,3) <<[===]>> (1,2,3)
17:07 camelia rakudo 5122e2: OUTPUT«True True True␤»
17:07 timotimo oh, i see
17:07 timotimo hyper of ===
17:07 masak [Coke]: need to visual-pill the === for the parser to swallow it ;)
17:08 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)
17:08 camelia rakudo 5122e2: OUTPUT«True True True␤»
17:08 [Coke] nom: say (1,2,3) «===» (1,*,3)
17:08 camelia rakudo 5122e2: OUTPUT«True False True␤»
17:08 [Coke] http://perlcabal.org/syn/S03.html#Smart_matching says "Array     Array     arrays are comparable   $_ «===» X (dwims * wildcards!)
17:08 masak nom: say (1,2,3) «~~» (1,*,3)
17:08 camelia rakudo 5122e2: OUTPUT«True True True␤»
17:09 isBEKaml nom: say (1,2,3) ~~ (1,*,3)
17:09 masak [Coke]: I read the parens as an exception, though.
17:09 camelia rakudo 5122e2: OUTPUT«False␤»
17:09 [Coke] masak: right.
17:10 [Coke] src/core/List.pm ACCEPTS doesn't implement the exception.
17:10 [Coke] it's just doing ===
17:10 [Coke] LHF for isBEKaml!
17:10 masak \o/
17:11 isBEKaml LHF eh? I didn't know that. I was just fooling around roast when I spotted this. :P
17:14 [Coke] isBEKaml: https://gist.github.com/coke/5389683 ?
17:15 [Coke] r: say *.WHAT
17:15 camelia rakudo 5122e2: OUTPUT«(Whatever)␤»
17:19 PerlJam Should (1,*) ~~ (1,2) return True just like (1,2) ~~ (1,*)   ?
17:22 [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…
17:22 isBEKaml [Coke]: is that what it is? I've yet to make sense of this conversation. =)
17:22 [Coke] isBEKaml: that's a patch that might let you untodo those regressed tests.
17:23 [Coke] PerlJam: I don't think whatever works that way in smarth match.
17:23 [Coke] *smart
17:23 [Coke] though that failure seems masakable.
17:24 [Coke] isBEKaml: I'll see about applying that this evening if you don't happen to get around to it. no worries.
17:25 isBEKaml [Coke]: It's an hr to midnight where I am. :)
17:32 nwc10 so, if p6eval is now camelia, is p5eval going to become camel? onion? pumpking? zombie?
17:35 nwc10 paycheque?
17:36 moritz \o
17:39 PerlJam "masakable"?
17:39 PerlJam :-)
17:39 isBEKaml This is the only place I know where proper nouns turn verbs. :-)
17:41 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 PerlJam you have to pay attention on #perl6 to catch the nuance  :)
17:44 tgt joined #perl6
17:44 moritz isBEKaml: did you mean "we verb nouns"? :-)
17:45 isBEKaml moritz: SVO's always good form. :-)
17:45 PerlJam we verb everything!  :)
17:48 isBEKaml [Coke]: I'm building rakudo with your patch. :-)
17:50 kbenson joined #perl6
17:53 cognominal joined #perl6
18:00 dalek nqp/jvm-support: cee4c7e | jnthn++ | src/vm/jvm/HLL/Backend.nqp:
18:00 dalek nqp/jvm-support: Add JVM version of HLL::Backend.
18:00 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/cee4c7e667
18:00 dalek nqp/jvm-support: 50ce474 | jnthn++ | src/QRegex/Cursor.nqp:
18:00 dalek nqp/jvm-support: Correct iterator usage.
18:00 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/50ce474103
18:04 dalek nqp-jvm-prep: 21ed389 | jnthn++ | nqp-src/QRegex.nqp:
18:04 dalek nqp-jvm-prep: Correct iterator usage (sync from NQP repo).
18:04 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/21ed389c84
18:04 dalek nqp-jvm-prep: 07377b2 | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
18:04 dalek nqp-jvm-prep: Adding missing encoding flag.
18:04 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/07377b2da5
18:05 isBEKaml How fast can SETTING go? It takes about 280 seconds to parse, on my machine.
18:05 isBEKaml and another 32 to optimize.
18:06 isBEKaml SETTING compilation, I mean. (99 secs on post)
18:06 kurahaupo joined #perl6
18:06 isBEKaml not that I'm complaining, it's way better than when I was on an ancient machine. :)
18:07 jnthn < 80s on my machine.
18:07 arnsholt I think I get it down to 90-120 seconds on my work machine
18:08 jnthn dinner, bbiab
18:09 isBEKaml 80 and 90s? You guys must be on 16 core?
18:09 timotimo more cores don't make it faster
18:10 isBEKaml oh, I forgot - it blocks.
18:10 timotimo well, compiling the SETTING is just one compile operation on a gigantic file
18:10 timotimo rakudo can't parallelize that (so far)
18:11 arnsholt Yeah, my work machine is a pretty recent i7. Useful for data crunching and compiling Rakudo =)
18:20 masak "we verb nouns" <== autopun.
18:22 moritz masak: just tweeted it as such (before I saw your comment :-)
18:22 isBEKaml r: say <1 2 3> <<~~>> (1,*,*)
18:22 camelia rakudo 5122e2: OUTPUT«True True True␤»
18:23 isBEKaml r: say <1 2 3> <<~~>> <1 * *> # should this work too?
18:23 camelia rakudo 5122e2: OUTPUT«True False False␤»
18:24 masak moritz: ;)
18:24 masak great minds are broken in similar ways :P
18:25 PerlJam masak: but was that an intentional autopun?
18:25 masak PerlJam: ask moritz, he said it first.
18:25 masak isBEKaml: no, I don't think val('*') should be *
18:25 PerlJam (It seemed intentional to me)
18:26 PerlJam I find it's the accidental autopuns that are the interesting ones  :)
18:26 masak was just gonna say.
18:26 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 :)
18:26 masak PerlJam: that's what makes the "how do I do that" so funny :P
18:27 masak PerlJam: http://bash.org/?3936
18:27 moritz PerlJam: yes, intentional. And iirc I've used it before in here
18:27 tgt joined #perl6
18:27 PerlJam masak: aye, I've had almost that same conversation with my son btw.  :)
18:28 masak it's probably quite common.
18:28 masak though probably less often appreciated as funny :)
18:28 PerlJam (and coincidentally my son's name is Christian ;)
18:28 masak freaky.
18:28 PerlJam nah, just the brain pattern matching ridiculously  :)
18:28 isBEKaml so does "Yo, you got shoes on the wrong feet, son!" "But I got only *these* two feet!(worried look)" :D
18:29 PerlJam kids are often funny in ways that only adults can appreciate :)
18:30 PerlJam it's that whole innocence thing they have too much of and we have so little of.
18:30 kivutar joined #perl6
18:33 isBEKaml Right :-)
18:33 isBEKaml .tell [Coke] your patch didn't work - I'll investigate some more before I crash tonight.
18:33 yoleaux isBEKaml: I'll pass your message to [Coke].
18:33 masak "a creative adult is a child who survived"
18:40 Chillance_ joined #perl6
18:41 gtodd masak: Ursula Le Guin ?
18:46 masak yes, I believe so.
18:46 masak well spotted.
18:48 gtodd :-)  well I am abusing your Text:CSV to make moritz's SVG::Plot example https://github.com/moritz/svg-plot/blob/m​aster/examples/parse-spectest-progress.pl
18:48 gtodd work
18:48 masak \o/
18:50 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
18:51 masak please be more careful with your metaphors. :/
18:51 masak but yes, it's fun when people are using my modules.
18:54 isBEKaml masak: Sorry, was just kidding
18:57 isBEKaml http://sprunge.us/PjUi
18:57 masak isBEKaml: the use of == there looks very wrong.
18:57 jnthn eeeeerrrrrghghghhh
18:58 jnthn 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.
18:58 isBEKaml jnthn: disregard the multi. :)
18:58 jnthn And doing any kind of exact check on .WHAT buts polymorphism.
18:58 jnthn *busts
18:58 masak yeah.
18:58 jnthn And if you must it's ===, not == :)
18:59 isBEKaml remove the multi and run it again. It returns two Ints! :O
18:59 jnthn And probably some warnings :)
18:59 jnthn Type objects numify to 0
18:59 isBEKaml no warnings.
18:59 jnthn == does numerical comparison and thus numifies both sides
18:59 jnthn r: say Int == Int
18:59 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␤␤»
19:00 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
19:00 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␤␤»
19:00 jnthn Hm, I'm not sure I understand how your code actually ran :)
19:01 isBEKaml jnthn: same issue here. I was actually looking for some warnings, but it ran!
19:01 isBEKaml 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.
19:01 isBEKaml but not her.
19:01 isBEKaml *here
19:03 gtodd Method 'serialize' not found for invocant of class 'SVG'  ... argh
19:03 [Coke] oh, duh, I should have done ~~ Whatever!
19:03 yoleaux 18:33Z <isBEKaml> [Coke]: your patch didn't work - I'll investigate some more before I crash tonight.
19:03 [Coke] *facepalm*
19:03 [Coke] funny, given that I was trying to fix a case of ~~
19:04 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
19:04 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…
19:05 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 …
19:05 * gtodd is (hoping one day for a REPL config that lets me define shortcuts in perl to that)
19:05 isBEKaml jnthn: .perl now .gists?
19:05 gtodd :-O
19:06 jnthn isBEKaml: No, say .gists
19:06 masak it would be very bad if .perl did .gist
19:06 moritz gtodd: it already supports such shortcuts
19:07 moritz gtodd: sub m(Mu $x) { $x.^methods }
19:07 moritz and then   m Int
19:07 moritz that's the nice thing about a programming language: it already contains all the tools you need :-)
19:07 isBEKaml (please don't say LISP, please don't say LISP)
19:08 moritz I didn't plan to :-)
19:08 gtodd LISP?
19:08 domidumont joined #perl6
19:08 moritz Lisp Is Strictly Parenthetic
19:08 masak why would we say LISP?
19:08 flussence .oO(
19:08 jnthn LISP?
19:08 jnthn :P
19:08 masak )
19:09 masak sorry, I just had to close flussence thought bubble.
19:09 masak before it swallowed up the entire backlog.
19:09 flussence I guess that counts as jnthn not saying it out loud :)
19:09 isBEKaml but it checked if lisp existed with a keyword check.
19:09 jnthn Though bubbles are only for parenthetical remarks :)
19:09 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
19:09 jnthn *Thought
19:10 isBEKaml jnthn: ah, thanks (I vaguely remember asking this question, though forgot the rationale for this change)
19:11 moritz gtodd: shouldn't be too hard to do
19:12 moritz 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. :)
19:14 isBEKaml moritz: that was one of the reasons scala folks introduced :paste command to wrap all multiline inputs.
19:14 [Coke] .seen Util
19:14 yoleaux I haven't seen Util around.
19:15 isBEKaml [Coke]: No worries, I can't think anyway. :)
19:16 moritz but even without a magic mechanism, it's just a 'use' away
19:16 moritz or you can do  alias p6repl='perl6 -MREPLTools'
19:16 moritz and then it'll load your REPLTools.pm
19:17 masak moritz++
19:18 masak that trick alone deserves a blog post.
19:18 masak and someone should host such a module on github.
19:18 moritz oh, I was kinda idea-starved anyway
19:18 masak :)
19:18 moritz I thought about blogging about the optimizer, but didn't know what exactly to write
19:18 masak ++moritz
19:18 gtodd moritz: hmm
19:19 gtodd 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?
19:20 * gtodd clones moritz
19:20 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
19:22 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 :)
19:23 isBEKaml jnthn: about that Whatever bit earlier, is that a bug in that it doesn't carp?
19:23 timotimo sure, will do
19:26 dalek rakudo/nom: 6e39296 | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
19:26 dalek rakudo/nom: turn WVal into Want + IVal if it's an Int.
19:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e39296397
19:26 dalek rakudo/nom: ee68af8 | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
19:26 dalek rakudo/nom: need to decont the Int value before isbig_I will work.
19:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee68af83be
19:26 dalek rakudo/nom: 05ec31b | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
19:26 dalek rakudo/nom: cache symbols found in SETTING.
19:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/05ec31b973
19:26 dalek rakudo/nom: abb0a5b | (Timo Paulssen)++ | src/Perl6/Optimizer.pm:
19:26 dalek rakudo/nom: fix $!SETTING cache.
19:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/abb0a5b604
19:26 timotimo yay
19:26 moritz meant to push that yesterday, and then forgot
19:26 moritz timotimo++
19:27 masak timotimo++
19:27 moritz timotimo: have you already submitted a signed CLA?
19:27 moritz timotimo: IMHO it's high time we make you a rakudo committer; I'm tired of merging your pull requests :-)
19:28 dalek rakudo/nom: 9f873d8 | gerdr++ | src/core/Capture.pm:
19:28 dalek rakudo/nom: Add Bool method to Capture
19:28 dalek rakudo/nom:
19:28 dalek rakudo/nom: Right now, defined captures evaluate to `True`, but empty captures should probably be `False`.
19:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f873d89e3
19:28 dalek rakudo/nom: e1f5d99 | moritz++ | src/core/Capture.pm:
19:28 dalek rakudo/nom: Merge pull request #110 from gerdr/patch-1
19:28 dalek rakudo/nom:
19:28 dalek rakudo/nom: Add Bool method to Capture
19:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1f5d99f61
19:29 isBEKaml timotimo++
19:29 moritz .ask FROGGS if https://github.com/rakudo/rakudo/pull/87 can be closed
19:29 yoleaux moritz: I'll pass your message to FROGGS.
19:29 moritz yoleaux: mange takk
19:32 alester joined #perl6
19:46 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 #perl6
19:49 dalek nqp/jvm-support: b34b168 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp​/jast2bc/JASTToJVMBytecode.java:
19:49 dalek nqp/jvm-support: Sync encoding fix from nqp-jvm-prep.
19:49 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/b34b168946
19:49 dalek nqp/jvm-support: 598d177 | jnthn++ | src/vm/jvm/QAST/ (2 files):
19:49 dalek nqp/jvm-support: Add JAST nodes and QAST -> JAST compiler.
19:49 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/598d17788b
19:49 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 #perl6
19:57 tgt joined #perl6
19:58 labster joined #perl6
19:59 japhb_ joined #perl6
20:00 labster good morning
20:01 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].
20:01 isBEKaml yo, labster
20:02 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 gtodd my $svg = SVG::Plot.new(:width(800),:height(550),:f​ill-width(1.01),:values(@data),:labels(@d​ate),:max-x-labels(20),:colors<lawngreen red blue yellow lightgrey>,).plot(:stacked-bars);my (@date, @pass, @fail, @todo, @skip, @specskip); ...
20:05 gtodd but can't get started on writing the xml ...
20:05 gtodd say SVG.serialize($svg);
20:05 gtodd Method 'key' not found for invocant of class 'List'
20:05 masak labster! \o/
20:05 [Coke] .tell isBEKaml roger, will look this evening.
20:05 yoleaux [Coke]: I'll pass your message to isBEKaml.
20:05 yoleaux 20:01Z <isBEKaml> [Coke]: feel free to take up that ACCEPTS thing. I don't think I'll be able to do it tonight.
20:06 labster hi all.  It's a beautiful sunny day and everything is passing tests.
20:13 tgt joined #perl6
20:14 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 gtodd rakudo says: The XML tree must have a single root node so
20:15 gtodd 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 gtodd cheers
20:20 masak gtodd++
20:21 dmol joined #perl6
20:22 tgt joined #perl6
20:26 pib1963 joined #perl6
20:55 frdmn joined #perl6
21:05 japhb_ jnthn, re: http://irclog.perlgeek.de/​perl6/2013-04-15#i_6706819 , until you "corrected" yourself, I thought you were making an excellent pun.  ;-)
21:06 jnthn japhb_: It's still a pun with the correction :)
21:17 * masak read that as "it's still a pun in the right direction"
21:27 lizmat joined #perl6
21:31 dalek nqp/jvm-support: 2afee8f | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/ (6 files):
21:31 dalek nqp/jvm-support: Some serialization/SC management fixes.
21:31 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/2afee8f08e
21:31 dalek nqp/jvm-support: f7a84ee | jnthn++ | src/HLL/Actions.nqp:
21:31 dalek nqp/jvm-support: Turn an our sub into a lexical one.
21:31 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/f7a84ee019
21:31 dalek nqp/jvm-support: 80d8da0 | jnthn++ | src/vm/jvm/NQP/Ops.nqp:
21:31 dalek nqp/jvm-support: Add JVM version of NQP::Ops.
21:31 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/80d8da08b0
21:32 jnthn wb, lizmat :)
21:37 lizmat hi #perl6
21:37 lizmat just got back in again…  just catching up on things
21:39 lizmat need to collect my thoughts on the consensus reached about supporting Perl 6 modules on CPAN
21:40 raiph joined #perl6
21:40 PerlJam ... concensus supporting Perl 6 modules on CPAN ?!?
21:40 lizmat yes
21:40 PerlJam Why do I get the feeling that I've missed something very interesting?
21:40 lizmat I guess you had to be there  :-)
21:41 lizmat it was quite interesting at the QA Hackathon in Lancaster the past weekend
21:42 lizmat some things will need to be moved in place in the next 1~2 weeks
21:42 PerlJam cool
21:43 * [Coke] eagerly awaits bloggytime.
21:43 tadzik but there was
21:43 lizmat and relatedly, we will need to implement the "use Dog:auth(cpan:TimToady):ver(1.0);" spec
21:44 lizmat tadzik: there was what?
21:44 tadzik lizmat: blogging
21:44 tadzik Wendy blogged, methinks
21:44 lizmat ah, yes, but not about this...
21:44 lizmat :-)
21:47 [Coke] let me know if I need to add a blog to the planet.
21:47 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 #perl6
21:48 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 japhb_ lizmat, Ah, then definitely post the link here.
21:48 lizmat yes, I will…
21:48 PerlJam (i.e., I'm using a cpan client on p5 ... how do I not accidentally install a p6 module?)
21:48 [Coke] japhb_: any blog that you can add perl6 tags to, I can throw in the planet.
21:48 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.  :-/
21:49 lizmat japhb_: check, will make sure it will somehow wind up on Planet Six
21:49 japhb_ thx
21:49 jnthn lizmat++
21:49 PerlJam lizmat++ indeed
21:49 jnthn And looking forward to the post, once you're well rested
21:49 lizmat but since it is more important that Perl 5 people know about this, I'm going to primary post on blogs.perl.org
21:49 jnthn 900km...that's some driving!
21:50 lizmat two drivers makes it easier: still, it *was* ~12 hours in the car
21:52 masak ugh
21:52 japhb_ .wa 900km in miles
21:52 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:53 PerlJam lizmat: lots of towns or spots with slower speed limit?
21:54 diakopter PerlJam: by making it install into perl5 a bridge package that loads the perl6 module via perl6 into the p5 process
21:55 diakopter assuming you perl6 vm supports such interop and embedding
21:55 diakopter *your
21:55 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)
21:55 PerlJam diakopter: I was interested in keeping the worlds separate, not bringing them together
21:56 thou joined #perl6
21:56 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
21:56 * lue &
21:56 diakopter that anyone would want that
21:57 diakopter lue I agree, but also backend VM(s)
21:57 diakopter perlJam:could you more precisely define Worlds
21:58 lizmat lue: that is specced as: "use Whiteness:from<perl5>:name<Acme::Ble​ach>:auth<cpan:DCONWAY>:ver<1.12>;", S11:549
21:59 lizmat PerlJam: nope, mostly highway, with max speeds between ~110 and 130km/hour
22:00 diakopter lizmat: to clarify, I agreed with parts 2,3 of lue
22:00 lizmat some traffic jams, one train to catch (the Shuttle)
22:00 diakopter PerlJam: sorry typos; question abovs
22:00 diakopter above
22:02 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:05 lizmat std: use Whiteness:from<perl5>:name<Acme::Bl​each>:auth<cpan:DCONWAY>:ver<1.12>;
22:05 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot locate module Whiteness at /tmp/qYGos1qkGu line 1:�------> [32mme::Bleach>:auth<cpan:DCONWAY>:ver​<1.12>[33m�[31m;[0m�Check failed�FAILED 00:00 41m�»
22:06 diakopter replace whiteness ith Test
22:07 lizmat the fact that it tries to load "Whiteness" is already an error: it should try to load "Acme::Bleach"
22:09 diakopter PerlJam: why would you want to keep Perl 5 away from Perl 6 and vice versa?
22:10 woolfy joined #perl6
22:15 raiph diakopter: i would have thought we can have cake and eat it (more)
22:15 masak 'night, #perl6
22:15 raiph o/ masak
22:15 lizmat night masak and the rest of #perl6
22:16 jnthn o/ lizmat
22:16 raiph gnite lizmat
22:16 raiph diakopter: that is, those who want a unified p5/p6 view can have that, those who want separation can have that
22:17 kurahaupo joined #perl6
22:18 diakopter I can't imagine why anyone would want them separate.  so I'm asking for the reason
22:18 DreamingInCode joined #perl6
22:18 stevan_ joined #perl6
22:20 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 #perl6
22:20 diakopter did I suggest negatively impacting cpan?
22:21 diakopter 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.
22:22 PerlJam 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
22:23 diakopter *all the perl6 modules
22:25 diakopter (so that solves your wondering in the context of what I'm suggesting anyway)
22:25 PerlJam aye
22:25 dalek nqp-jvm-prep: ed0eb2d | jnthn++ | src/org/perl6/nqp/sixmodel/ (6 files):
22:25 dalek nqp-jvm-prep: Assorted serialization fixes.
22:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/ed0eb2d009
22:25 dalek nqp-jvm-prep: 39e3a72 | jnthn++ | lib/QAST/JASTCompiler.nqp:
22:25 dalek nqp-jvm-prep: Fix sprintf code-gen.
22:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/39e3a72cd2
22:25 dalek nqp-jvm-prep: d8d3f2f | jnthn++ | nqp-src/NQP (2 files):
22:25 dalek nqp-jvm-prep: Support --javaclass option on selfhost.
22:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/d8d3f2fe17
22:27 lue I don't like the sound of perl6:: personally
22:27 diakopter why? you'd never see it as a p6 user
22:28 dalek nqp/jvm-support: 9e12e1c | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
22:28 dalek nqp/jvm-support: Sync sprintf code-gen fix.
22:28 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/9e12e1cbbd
22:28 dalek nqp/jvm-support: 0f2b9a2 | jnthn++ | src/ (2 files):
22:28 dalek nqp/jvm-support: Remove Parrot opts, add javaclass opt for JVM.
22:28 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/0f2b9a287d
22:28 dalek nqp/jvm-support: 9c5e0c3 | jnthn++ | src/vm/jvm/stage0/ (10 files):
22:28 dalek nqp/jvm-support: Update stage0; many fixes.
22:28 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/9c5e0c3ebe
22:28 dalek nqp/jvm-support: b6dc68a | jnthn++ | tools/build/Makefile-JVM.in:
22:28 dalek nqp/jvm-support: Flesh out the rest of stage1 build.
22:28 dalek nqp/jvm-support:
22:28 dalek nqp/jvm-support: Gets through the build, though the result doesn't quite work yet.
22:28 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/b6dc68a4c2
22:29 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:30 diakopter when I said you wouldn't see it, I meant it literally
22:30 diakopter you wouldn't have to do any of that
22:31 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 lue (which, also, is what :from<> is specced to do already)
22:31 diakopter no
22:32 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:33 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 japhb_ diakopter, is that right?
22:33 diakopter exactly
22:34 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:35 japhb_ right
22:36 GlitchMr joined #perl6
22:38 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?)
22:38 diakopter exactly.  it would need the support of a Perl 6 VM that could do that
22:39 diakopter no internal mechanism needs added to anything in cpan or toolchain
22:40 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
22:40 diakopter well it could be; it'd be super-short
22:40 diakopter but it would be generated by your module publishing script
22:42 xilo joined #perl6
22:42 lue Sounds good, then.
22:43 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 #perl6
22:45 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:47 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 #perl6
22:47 diakopter no
22:47 tangentstorm CPAN *is* the thing to avoid name clashes :)
22:48 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
22:49 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
22:50 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
22:51 sorear i worry about P6 programmers not yet having absorbed P5 naming norms and whatnot
22:52 jnthn sleep; 'night o/
22:52 sorear P5 programmers don't have name collision problems because they're considerate enough to pick unique names
22:52 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.
22:53 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)
22:53 japhb_ Night, jnthn
22:55 * 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:56 lue s/ignore/prepend for me/
23:06 woolfy left #perl6
23:11 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:12 frdmn joined #perl6
23:17 timotimo how do i install json::tiny for niecza?
23:18 timotimo do i just copy the contents of lib/ to nieczas lib folder?
23:18 frd|afk joined #perl6
23:19 * [Coke] tries to figure out why this fails:
23:19 [Coke] perl Configure.pl --prefix=install --gen-nqp --gen-parrot
23:20 [Coke] (rather than building parrot, it complains it can't find install/bin/parrot)
23:22 * [Coke] votes for somehow having "install/" in a borked state, as it's working now. weird.
23:26 [Coke] ah. needs a full path.
23:32 timotimo does niecza have a working socket implementation?
23:34 [Coke] ok((1,2,3,4) ~~ (1,*,*,3,4), 'array smartmatch dwims * 1 elem (many *s)');
23:34 [Coke] that looks like a horrible idea.
23:34 [Coke] ok((1,2,3,4) ~~ (1,*,4), 'array smartmatch dwims * many elems');
23:34 [Coke] (that doesn't look much better)
23:35 sorear timotimo: ish
23:38 timotimo sorear: putting the lib folder from JSON__Tiny into the local folder and running niecza with -Ilib causes strangeness
23:40 timotimo first it says "from-json defined but not used", then i get some NullReferenceException :(
23:41 stevan_ joined #perl6
23:52 [Coke] if I wanted to check out a copy of b, where would I look?
23:53 japhb_ [Coke], I believe you can checkout Rakudo as of the 'Beijing' tag and be there.
23:53 japhb_ Might also be the head of the 'master' branch
23:55 [Coke] japhb_: danke.
23:56 timotimo bedtimes for me now :)
23:56 japhb_ o/
23:58 timotimo perl6 and json ... woefully slow :(
23:58 timotimo well, in rakudo at least
23:58 timotimo yada yada yada ... :(
23:59 armitage81 joined #perl6
23:59 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.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs