»ö« 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 rowat /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 blockat /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 loopParse failedFAILED 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 statementat /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 failedFAILED 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 #73938Potential 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 failedFAILED 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 |