»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:18
Mouq joined
|
|||
Mouq | o/ | 00:18 | |
lue | \o | 00:22 | |
jnthn | o/ Mouq | 00:23 | |
00:23
skids joined
|
|||
TimToady | o/ o\ o/ o\ o/ | 00:24 | |
00:26
LLamaRider joined
00:36
spider-mario left
00:37
denis_boyun left
|
|||
BenGoldberg | . o O ( TimToady is clearly waving... ) | 00:39 | |
o// \\o o// \\o o// \\o | |||
BenGoldberg is doing the wave ;) | |||
Mouq | ~o~ | ||
TimToady | what's that, the hula? | 00:40 | |
BenGoldberg | . o O ( Mouq is doing the egiptian ) | ||
BenGoldberg can't spell. | |||
TimToady | ┌o┘ | 00:41 | |
BenGoldberg | hahahaha | ||
00:54
LLamaRider left
|
|||
timotimo | i want to build a mumps compiler on top of NQP, who's with me? | 00:54 | |
we'd call it MUMPerl6S | 00:55 | ||
TimToady | Harlan Stenn would be interested. | ||
timotimo | i don't understand that comment | 00:59 | |
TimToady | an acquaintance of mine from Way Back who loved MUMPS | ||
timotimo | is that the same Harlan Stenn who is responsible for NTP and stuff? | ||
TimToady | prolly | 01:00 | |
timotimo | mhm | ||
i'm not sure if i would be able to love MUMPS | |||
it has some features that seem unfit for anything but the shooting of one's own feet | |||
BenGoldberg | Where can I get some bulletproof shoes? | 01:16 | |
TimToady | concrete galoshes would work | ||
timotimo | galoshes are these dutch wooden shoes? | 01:18 | |
TimToady | no, rubber rain overshoes, but concrete galoshes are...something else... | ||
BenGoldberg | No, those are sabo | ||
Err, sabo are those dutch wooden shoes | 01:19 | ||
timotimo | are those the ones the mafia gift to you when they are not quite happy with what you've done or not done? | ||
BenGoldberg | When you throw them into machinery, it's called sabotage. | ||
dalek | kudo/nom: e2d1403 | Mouq++ | src/Perl6/Actions.nqp: Numbers put into @.meta from E<> should become Ints, not Strs |
||
kudo/nom: db8bb75 | Mouq++ | src/Perl6/Grammar.nqp: Use correct parsing for Unicode names and HTML5 entity names in E<> |
|||
Mouq | And: github.com/perl6/Pod-To-HTML/commi...0cb7ddad10 | ||
TimToady | see en.wikipedia.org/wiki/Cement_shoes | 01:20 | |
Mouq | Now to fix Pod::To::Text | 01:21 | |
timotimo | i must say i imagine that treatment to be thoroughly uncomfortable and unenjoyable | ||
BenGoldberg has trouble imagining an evil villian having the patience to wait for his victim's concrete shoes to harden. | 01:25 | ||
timotimo | laughing gets you pretty dizzy real soon, in my experience | 01:26 | |
hm. Tk seems like a pretty simple thing to build a binding to, but its API is ... "den umständen entsprechend" | 01:33 | ||
Mouq | m: say "\n".&uniname | 01:34 | |
camelia | rakudo-moar b38572: OUTPUT«LINE FEED (LF)» | ||
TimToady remembers Nick Ing-Simmons, who did the Tk bindings to P5, RIP | 01:40 | ||
BenGoldberg | My advice to Tk binding .... follow the route of Tkx.pm and Tcl.pm | ||
01:45
benabik joined
01:46
araujo left
|
|||
Mouq | [Coke]++: What's your plan in terms of mojo6 development? | 01:47 | |
timotimo | hm, so tkx basically wraps a tcl interpreter and translates commands from perl to tcl in a very slim manner | ||
dalek | kudo/nom: 798ebde | Mouq++ | CREDITS: Sort CREDITS and add self |
01:53 | |
timotimo | Mouq++ :) | ||
BenGoldberg | Right, and that way, the documentation for Tcl and Tk can be used pretty much as-is. | 01:54 | |
timotimo | and there's probably not a whole lot of code that needs to be written for the binding? | 01:55 | |
BenGoldberg | Not to mention, the perl bits need very little updating, even if the Tcl binary changes. | ||
timotimo | cpansearch.perl.org/src/GAAS/Tkx-1.07/Tkx.pm - is this really all of it?!? | 01:56 | |
oh, "use Tcl" is probably a big part of the reason why it's really not much code | 01:57 | ||
cpansearch.perl.org/src/VKON/Tcl-1.02/Tcl.pm - also not a whole lot of code | |||
geekosaur | perl/tk was very clever and the first time I had to poke at the code to see why it wouldn't build after a tcl upgrade I wanted to kill the author | 01:59 | |
timotimo | :D | 02:00 | |
(not quite as amusing right now, as the author is actually deceased, if i understood TimToady's comment) | |||
geekosaur | yeh | 02:01 | |
02:15
klapperl_ left
02:17
klapperl joined,
benabik left
02:18
benabik joined,
FROGGS_ joined
02:19
Sqirrel joined
|
|||
Mouq | Does Rakudo have an export-if-ya'-want-to syntax yet? | 02:20 | |
02:20
Sqirrel_ left
|
|||
Mouq | I.e. Does `sub bop is export(:ALL)` from the spec work? | 02:21 | |
jnthn | Mouq: Think so | ||
Mouq | jnthn: k, thx. I guess I'll be testing it soon enough | 02:22 | |
02:22
FROGGS left
|
|||
Mouq | p6: say "abcd" lt "bcde"; say "abcd" ~< "bcde" | 02:32 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«TrueUnhandled exception: Buffer bitops NYI at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3563 (infix:<~<> @ 4)  at /tmp/tmpfile line 1 (mainline @ 5)  at /home/p6eval/niecz…» | ||
..rakudo-moar 798ebd: OUTPUT«TrueCannot call 'infix:<~<>'; none of these signatures match::(Str:D \a, Int:D \b --> Str):(str $a, int $b) in sub infix:<~<> at src/gen/m-CORE.setting:6682 in block at /tmp/tmpfile:1» | |||
..rakudo-jvm 798ebd: OUTPUT«Error while reading '/home/p6eval_eval/p6eval-token': No such file or directory at /home/p6eval/jvm-rakudo/eval-client.pl line 10.» | |||
..rakudo-parrot 798ebd: OUTPUT«TrueCannot call 'infix:<~<>'; none of these signatures match::(Str:D \a, Int:D \b --> Str):(str $a, int $b) in any at gen/parrot/BOOTSTRAP.nqp:1219 in any at gen/parrot/BOOTSTRAP.nqp:1210 in sub infix:<~<> at gen/parrot/CORE.settin…» | |||
Mouq | p6: say "abcd" ~< 5 | 02:33 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Buffer bitops NYI at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3563 (infix:<~<> @ 4)  at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/C…» | ||
..rakudo-jvm 798ebd: OUTPUT«Error while reading '/home/p6eval_eval/p6eval-token': Permission denied at /home/p6eval/jvm-rakudo/eval-client.pl line 10.» | |||
..rakudo-parrot 798ebd: OUTPUT«infix:«~<» not yet implemented. Sorry.  in sub infix:<~<> at gen/parrot/CORE.setting:6687 in sub infix:<~<> at gen/parrot/CORE.setting:6686 in block at /tmp/tmpfile:1» | |||
..rakudo-moar 798ebd: OUTPUT«infix:«~<» not yet implemented. Sorry.  in sub infix:<~<> at src/gen/m-CORE.setting:6683 in sub infix:<~<> at src/gen/m-CORE.setting:6682 in block at /tmp/tmpfile:1» | |||
Mouq | -_- | ||
BenGoldberg | p6: say "abcd" ~lt "bcde" | 02:38 | |
camelia | rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: lt used at line 1. Did you mean 'lc'?» | ||
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Undeclared routine: 'lt' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_un…» | |||
BenGoldberg | p6: say [~lt] "abc", "def" | 02:39 | |
camelia | rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say [~lt] ⏏"abc", "def" expecting any of: postfix i…» | ||
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Two terms in a row (preceding is not a valid reduce operator) at /tmp/tmpfile line 1:------> say [~lt] ⏏"abc", "def"Undeclared routine: 'lt' used at line 1Parse failed» | |||
PerlJam | um ... what do you expect ~lt to mean? | ||
timotimo | "lt" is already string-operation | 02:40 | |
(because it's letters rather than symbols) | |||
BenGoldberg | Ehh, honestly, I'm not sure : | 02:43 | |
: | |||
) | |||
02:44
hoverboard joined
|
|||
timotimo | i think it's time for me to go to bed | 02:44 | |
gnite #perl6 | |||
colomon | \o | 02:45 | |
JimmyZ | good night, timotimo | 02:46 | |
03:20
hoverboard left
03:23
hoverboard joined
03:49
PerlJam joined
|
|||
Mouq | So... There's no way... to run a shell command and get its output? o_o | 03:53 | |
In Perl 6? | 03:54 | ||
I mean, you can pipe the output of the command to a tempfile and read from the file, but.... | |||
JimmyZ | qx// ? | ||
Mouq | Oh, wait is that qx? | ||
JimmyZ: Yeah... | 03:55 | ||
Thank you | |||
Mouq feels dumb | |||
dalek | p: 1863ae2 | larry++ | tools/build/MOAR_REVISION: seems stable, bump MOAR revision |
04:07 | |
kudo/nom: 432718f | larry++ | t/spectest.data: add unimatch tests for general categories |
04:08 | ||
kudo/nom: b09aa92 | larry++ | tools/build/NQP_REVISION: bump NQP revision |
|||
Mouq | r: say '&abcd' ~~ /$_.key/ given '&abcd' => 1 | ||
camelia | rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«Nil» | ||
TimToady | er, why is nom adding tests? | ||
Mouq | r: say '&abcd' ~~ /<{$_.key}>/ given '&abcd' => 1 | 04:09 | |
camelia | rakudo-parrot 798ebd: OUTPUT«No such method 'key' for invocant of type 'Str' in block at /tmp/tmpfile:1» | ||
..rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«Nil» | |||
TimToady | oh, spectest.data | ||
Mouq | r: say '&abcd' ~~ (my$a=.key&&/$a/) given '&abcd' => 1 | 04:10 | |
camelia | rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«No such method 'key' for invocant of type 'Str' in block at /tmp/tmpfile:1» | ||
Mouq | r: say '&abcd' ~~ (my$a=.key&&/$a/) given ('&abcd' => 1) | ||
camelia | rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«No such method 'key' for invocant of type 'Str' in block at /tmp/tmpfile:1» | ||
Mouq | hm | ||
I'll stop spamming | |||
Oh, it's thunking the RHS of the ~~ ? | 04:15 | ||
and making $_ = "&abcd" | 04:16 | ||
p6: {a=>42,lkml=>23,kklk=>21}.map: {.say; rx/{1.say}/ } | 04:21 | ||
camelia | rakudo-jvm 798ebd: OUTPUT«"kklk" => 21"a" => 42"lkml" => 23» | 04:22 | |
..rakudo-parrot 798ebd, rakudo-moar 798ebd, niecza v24-109-g48a8de3: OUTPUT«"a" => 42"lkml" => 23"kklk" => 21» | |||
Mouq | p6: {a=>42,lkml=>23,kklk=>21}.map: {.say; 'alkmlkklk'~~rx/{1.say}/ } | ||
camelia | rakudo-jvm 798ebd: OUTPUT«"kklk" => 211"a" => 421"lkml" => 231» | ||
..rakudo-parrot 798ebd, rakudo-moar 798ebd, niecza v24-109-g48a8de3: OUTPUT«"a" => 421"lkml" => 231"kklk" => 211» | |||
dalek | atures: 55fe624 | larry++ | features.json: r-m now supports REPL and run/qx |
||
Mouq figured it out | 04:24 | ||
p6: "alkmlkklk".match($_) for eager {a=>42,lkml=>23,kklk=>21}.map({.say; rx/{.say}/ }) | |||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Undeclared routine: 'eager' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp…» | ||
..rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«"a" => 42"a" => 42"lkml" => 23"lkml" => 23"kklk" => 21"kklk" => 21» | |||
Mouq | *eager doesn't matter | 04:25 | |
And the rx// I wanted was rx/:my$x=.key;$x/ | 04:27 | ||
lue | Remember that issue I had with high PUA characters not working inside <-[]> ? I discovered it's because those chars are seen as whitespace (for some reason?), and it reveals a more general issue: | 04:49 | |
nqp: say("a" ~~ /<-[ ]>/) # match one not-U+0020 | 04:50 | ||
Mouq | lue: :/ That makes sense, but I'm sorry | ||
camelia | nqp-parrot: OUTPUT«Error while compiling op callmethod: StopIterationcurrent instr.: '' pc 57002 (gen/parrot/stage2/QAST.pir:21033) (gen/parrot/stage2/QAST.nqp:3629)» | ||
..nqp-jvm: OUTPUT«Error while compiling op call (source text: "\"a\" ~~ /<-[ ]>/"): Method 'jast' not found for invocant of class 'NQPMu' in (gen/jvm/stage2/QAST.nqp:3808) in as_jast (gen/jvm/stage2/QAST.nqp:3805) in as_jast (gen/jvm/stage2/QAST.nqp:2974) in (gen/jvm…» | |||
..nqp-moarvm: OUTPUT«Error while compiling op callmethod: Iteration past end of iterator at gen/moar/stage2/QAST.nqp:4471 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/QAST.moarvm::17) from gen/moar/stage2/QAST.nqp:4470 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/QAST.moar…» | |||
lue | Huh, I thought it was a moar issue, turns out it's an NQP issue. | 04:53 | |
Mouq guesses there's check missing in src/QRegex/P6Regex | 04:54 | ||
*a | |||
dalek | ast: 1fb3aff | larry++ | S15-unicode-information/unival.t: add unival tests |
04:55 | |
kudo/nom: 13de5d7 | larry++ | t/spectest.data: add unival tests for moar |
04:56 | ||
Mouq | m: say "some &zwj".trans: |{'‍'=>[120015]}.map: {; rx/:my$k=.key;$k/ => .value[]».chr.join } | ||
camelia | rakudo-moar 798ebd: OUTPUT«some &zwj» | ||
lue | For some weird reason, every nqp breaks on trying to match not-space, but only moar breaks on high-codepoint PUA. Hm :/ | ||
n: say("a" ~~ /<-[ ]>/) | 04:57 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«「a」» | ||
lue | n: say("a" ~~ /<-[]>/) | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«「a」» | ||
Mouq | m: say "some ‍".trans: |{'‍'=>[120015]}.map: {; rx/:my$k=.key;$k/ => .value[]».chr.join } | 04:59 | |
camelia | rakudo-moar 798ebd: OUTPUT«some 𝓏» | ||
Mouq | duh | ||
use Module :ALL; and sub abcd() is export(:ALL) {} do work, btw :D | 05:02 | ||
JimmyZ | m: say unival('兆') | 05:14 | |
camelia | rakudo-moar 798ebd: OUTPUT«1000000000000» | ||
JimmyZ | m: say unival('贰') | ||
camelia | rakudo-moar 798ebd: OUTPUT«2» | ||
JimmyZ | m: say unival('加') | 05:16 | |
camelia | rakudo-moar 798ebd: OUTPUT«NaN» | ||
JimmyZ | m: say unival('陆') | 05:17 | |
camelia | rakudo-moar 798ebd: OUTPUT«6» | ||
TimToady | is 加 supposed to have a value? | 05:21 | |
I just think of it as "addition" | |||
05:23
hoverboard left
|
|||
TimToady | I note that there is some disagreement on the definition of 兆 :) | 05:24 | |
"a significant amount" :) | |||
dalek | osystem: 83ba27f | Mouq++ | META.list: Add HTML::Entity |
05:29 | |
05:37
BenGoldberg left
05:38
xenoterracide left
|
|||
Mouq | r: ' ' ~~ /<[\x20]> | 05:39 | |
camelia | rakudo-parrot 798ebd, rakudo-jvm 798ebd, rakudo-moar 798ebd: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileRegex not terminatedat /tmp/tmpfile:1------> ' ' ~~ /<[\x20]>⏏<EOL> expecting any of: postfix …» | ||
Mouq | m: say ' ' ~~ /<[\x20]>/ | ||
camelia | rakudo-moar 798ebd: OUTPUT«「 」» | ||
JimmyZ | TimToady: moar is right | 05:41 | |
lue | m: say 'a' ~~ /<-[\x20]>/ | ||
camelia | rakudo-moar 798ebd: OUTPUT«「a」» | ||
TimToady | whew! | ||
lue | m: say 'a' ~~ /<-[\x10FFFC]>/ | 05:42 | |
camelia | rakudo-moar 798ebd: OUTPUT«「a」» | ||
lue | m: say 'x' ~~ /<-[\x10FFFC]>/ | ||
camelia | rakudo-moar 798ebd: OUTPUT«「x」» | ||
JimmyZ | m: say unival('①') | 05:43 | |
camelia | rakudo-moar 798ebd: OUTPUT«1» | ||
JimmyZ | m: say unival(Ⅲ') | ||
camelia | rakudo-moar 798ebd: OUTPUT«===SORRY!=== Error while compiling /tmp/hNVaBOvxqIUnable to parse expression in argument list; couldn't find final ')' at /tmp/hNVaBOvxqI:1------> say unival(⏏Ⅲ') expecting any of: argument …» | 05:44 | |
JimmyZ | m: say unival'(Ⅲ') | ||
camelia | rakudo-moar 798ebd: OUTPUT«===SORRY!=== Error while compiling /tmp/AvNAqGAlt7Two terms in a rowat /tmp/AvNAqGAlt7:1------> say unival⏏'(Ⅲ') expecting any of: argument list postfix infix stopper …» | ||
JimmyZ | m: say unival('Ⅲ') | ||
camelia | rakudo-moar 798ebd: OUTPUT«3» | ||
lue | Mouq: that's interesting, using \x inside <-[]> didn't work before, that's why I used the literal character at all. | 05:45 | |
Mouq | lue: vOv | ||
lue: I need it for a grammar I'm working on | 05:46 | ||
lue | All it means is that I have a way of running syngen on perl6-m again :) . | 05:57 | |
Mouq | m: "ab" ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}/ | ||
camelia | rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/9i2x5N4pInUnable to parse expression in metachar:sym<[ ]>; couldn't find final ']' at /tmp/9i2x5N4pIn:1------> ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}⏏/ expectin…» | ||
Mouq | m: "ab" ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}]/ | ||
m: "aq" ~~/a [b || {$/.CURSOR.worry: "no, 'b'!"}]/ | |||
camelia | ( no output ) | ||
rakudo-moar 13de5d: OUTPUT«No such method 'worry' for invocant of type 'Cursor' in block at /tmp/5YdzzWDky9:1» | |||
Mouq | Oh, I can just `warn` *facepalm | 05:58 | |
* | |||
*doublefacepalm* | |||
TimToady | It's only, what, 1am. What's the matter with you? | 05:59 | |
lue | Is there a file I can slurp from camelia, by any chance? Or is $*IN all I have? | 06:00 | |
nevermind, finally found the problem | 06:02 | ||
r: my $a = "XYZ"; say " XYZ" ~~ m:c(0)/<|s> $a <|s>/; say " XYZ" ~~ m:c(1)/<|s> $a <|s>/; | 06:03 | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«「XYZ」「XYZ」» | ||
lue | r: given "XYZ" { say " XYZ" ~~ m:c(0)/<|s> $_ <|s>/; say " XYZ" ~~ m:c(1)/<|s> $_ <|s>/ } | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«「 XYZ」False» | ||
lue | That bug is why I've been frustrated with my program for all of today :/ | 06:04 | |
Good thing I can workaround by assigning to a variable in the for loop, but still. | 06:05 | ||
Mouq | lue: You can solve it by using match() instead | 06:06 | |
lue | ( Notice that m:c(0) with $_ matches a space it shouldn't, making that wrong too ( though less so that :c(non-zero int) ) ) | ||
Mouq: ? | |||
Mouq | e.g. " XYZ".match(:!c, /<|s> $_ <|s>/) | 06:07 | |
OH | |||
I'm really off base | |||
lue | Mouq: why should match() work different than m// ? | ||
Mouq just stops trying to help :P | 06:08 | ||
06:08
xenoterracide joined
|
|||
Mouq | I was having an issue earlier while trying to use $_ in a regex where the LHS of ~~ was thunked and the RHS was assigned as $_. Or something. | 06:08 | |
ERM | 06:09 | ||
-_- | |||
*RHS -> LHS, LHS -> RHS | |||
no | |||
yeah | |||
no | |||
omg | |||
I'm going to bed. | 06:10 | ||
'night #perl6 | |||
06:10
Mouq left
|
|||
lue | r: given "XYZ" { say " XYZ".match(:c(0), /<|s> $_ <|s>/); say " XYZ".match(:c(1), /<|s> $_ <|s>/) } | 06:10 | |
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«「XYZ」「XYZ」» | ||
lue | O_O | ||
TimToady | .match doesn't topicalize as ~~ does | 06:11 | |
lue | .tell Mouq: fwiw, .match does in fact work where ~~ m// doesn't :) I think the valuable lesson here is to not ever ever use $_ in regexes, for safety's sake :P | 06:12 | |
yoleaux | lue: What kind of a name is "Mouq:"?! | ||
lue | .tell Mouq fwiw, .match does in fact work where ~~ m// doesn't :) I think the valuable lesson here is to not ever ever use $_ in regexes, for safety's sake :P | ||
yoleaux | lue: I'll pass your message to Mouq. | ||
lue | .oO(yoleaux should really be smarter about final colons in nicks) |
||
TimToady: I can't think of an immediate reason for ~~ to topicalize within the same statement, but I'm sure it's an obvious benefit when you see the right example. :) | 06:14 | ||
06:19
skids left
06:26
xenoterracide left
06:29
vincent22 joined
|
|||
dalek | rl6-roast-data: 2ad3656 | coke++ | / (6 files): today (automated commit) |
06:30 | |
TimToady | ah well, forgot to check in spectest.data in time, maybe tomorrow :) | 06:34 | |
06:37
skids joined
|
|||
[Coke] | mouq: step 1, find tuits. I'm crawing through Mojo::Util right now. | 06:41 | |
lue | I only skimmed S03/Smart Matching, but so far I'm not convinced that ~~ and when should topicalize (I thought when {} operated on an existing $_ anyway; why would it need to retopicalize that $_ ?) | ||
oh, nevermind on 'when', that was me accidentally reading a bit about ~~ as applying to both ~~ and when :) | 06:45 | ||
moritz | lue: perlgeek.de/blog-en/perl-6/three-fu...match.html | 06:55 | |
lue | And now I finally realize that this stupid topicalizing thing is what broke the next part of my code too :/ | 06:56 | |
moritz: I never knew m// and friends are supposed to match to the topic. I didn't even know you were allowed to use them on their own. | 07:01 | ||
(I haven't even seen anyone else's Perl 6 script use them on their own either.) | 07:02 | ||
A dedicated matching operator sounds like it would be a desperately needed feature, or alternatively make m// and co. not match against the topic anymore, and then remove topicalization from ~~ | 07:04 | ||
07:12
xenoterracide joined
|
|||
lue | Hrm. Neither $OUTER::_ nor $CALLER::_ work within the regex, so you just up and lose the previous topic in regexland :/ | 07:21 | |
07:21
darutoko joined
|
|||
lue | I'll have to ponder this some more, but I'm definitely not OK with leaving $text ~~ /$_/ in the state it's in. ♘ #perl6 o/ | 07:44 | |
07:48
virtualsue joined
07:49
bjz left
08:00
__thou left
08:15
bjz joined
08:17
virtualsue left
08:21
rindolf joined
08:22
tgt joined
08:49
ggoebel11110 joined,
DrEeevil joined
08:51
yath_ joined,
Gothmog__ joined
08:55
exodist_ joined,
Timbus_ joined
08:56
bonsaikitten left,
Timbus left,
Gothmog__ is now known as Gothmog_,
Bucciarati joined,
geekosaur joined
09:02
yakudza joined
09:03
yogan joined,
lue left
09:06
virtualsue joined
|
|||
masak | mornin', #perl6 | 09:08 | |
mhasch | hi masak! | 09:09 | |
09:14
lue joined
|
|||
FROGGS_ | morning! | 09:15 | |
09:15
FROGGS_ is now known as FROGGS
|
|||
masak | walk & | 09:15 | |
moritz | \o * | 09:16 | |
dalek | albot: 141ae5b | raydiak++ | lib/EvalbotExecuter.pm: Fix gist loading |
09:26 | |
albot: 228beb2 | (Tobias Leich)++ | lib/EvalbotExecuter.pm: Merge pull request #4 from raydiak/master Untested attempt to fix gist loading |
|||
FROGGS | evalbot: pull | ||
evalbot: restart | |||
hmmm | 09:27 | ||
p6eval: pull | |||
p6eval: restart | |||
damn | |||
evalbot control pull | 09:28 | ||
camelia | (success) | ||
FROGGS | evalbot control restart | ||
09:28
camelia left,
camelia joined
|
|||
FROGGS | m: gist.github.com/grondilu/6114580 | 09:29 | |
09:29
ChanServ sets mode: +v camelia
|
|||
camelia | rakudo-moar 13de5d: OUTPUT«gist not found» | 09:29 | |
FROGGS | :o( | ||
[Coke] | m: (say 15 X-(1,9) X-(2,5) X-(1,2,3,5,9)).sort.uniq | 09:30 | |
camelia | rakudo-moar 13de5d: OUTPUT«11 10 9 7 3 8 7 6 4 0 3 2 1 -1 -5 0 -1 -2 -4 -8» | ||
[Coke] | m: (say 15 X-(1,9) X-(2,5) X-(1,2,3,5,9)).perl | ||
camelia | rakudo-moar 13de5d: OUTPUT«11 10 9 7 3 8 7 6 4 0 3 2 1 -1 -5 0 -1 -2 -4 -8» | ||
[Coke] | m: say (15 X-(1,9) X-(2,5) X-(1,2,3,5,9)).perl #whoops | 09:31 | |
camelia | rakudo-moar 13de5d: OUTPUT«(11, 10, 9, 7, 3, 8, 7, 6, 4, 0, 3, 2, 1, -1, -5, 0, -1, -2, -4, -8).list» | ||
09:32
FROGGS_ joined
09:34
vincent23 joined,
FROGGS left
09:36
Rotwang joined
|
|||
dalek | albot: 2e98e16 | (Tobias Leich)++ | lib/EvalbotExecuter.pm: between quotes and space is not a word boundary |
09:36 | |
FROGGS_ | evalbot control pull | ||
camelia | (success) | ||
FROGGS_ | evalbot control restart | ||
09:36
camelia left
09:37
camelia joined
|
|||
FROGGS_ | m: gist.github.com/grondilu/6114580 | 09:37 | |
09:38
ChanServ sets mode: +v camelia
|
|||
camelia | rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/ET2eIDVPOpPreceding context expects a term, but found infix > insteadat /tmp/ET2eIDVPOp:1------> ethiop(Complex:D \z, Int:D \n where n >⏏ 0) {» | 09:38 | |
FROGGS_ | \o/ | ||
09:40
tgt left
09:41
tgt joined
09:43
vincent23 left
09:48
vincent23 joined
09:50
tgt left
09:52
kurahaupo joined
|
|||
lizmat | FROGGS++ | 09:58 | |
timotimo | yay | 09:59 | |
o/ | |||
moritz: has there been a good solution for the problem you described in "the three-fold function of the smart match operator"? | 10:02 | ||
10:04
kurahaupo left
|
|||
moritz | timotimo: no | 10:08 | |
timotimo | hmm. | ||
moritz | timotimo: TimToady had the OKness-approach to distinguish between match results and match data | 10:09 | |
timotimo | oh, i remember that | ||
what was the OKness of the OKness proposal? | |||
moritz | and it would have helped, but it wouldn't have addressed the $_ confusion, for example | ||
well, it went pretty deep into the type system, and thus non-trivial to try out | 10:10 | ||
and I don't think there was general consensus | |||
I'm also pretty sure that ideas from that proposal will make it in Perl 6, eventually | 10:11 | ||
timotimo | oh, OK | ||
hm. with the memory leak from hashes and frames in gather/take gone on moarvm, shouldn't lue++ get much better memory usage out of the syngen and Pod::To::HTML stuff? | 10:19 | ||
10:29
FROGGS_ is now known as FROGGS
|
|||
FROGGS | I am thinking about the ecosystems webpage we need in order to upload/register distributions... | 10:30 | |
I'd like to make it a marketplace, as this is they way to install software in future anyway | |||
so, it would be a page that looks perhaps like the ubuntu software center: new and best rated on the front page, and then the usual way to search for dists | 10:32 | ||
and then, we could even make it possible to sell distributions (games, professional tools etc) | |||
10:32
virtualsue left
10:33
cognominal left
|
|||
lizmat | FROGGS: and how does CPAN fit in those plans ? | 10:33 | |
FROGGS | so I am collection thoughts for "marketplace.perl6.org" atm, feel free to give me some :o) | ||
10:34
cognominal joined
|
|||
FROGGS | lizmat: do you mean Perl 5's CPAN? | 10:34 | |
or Perl 6's nonexisting CPAN? | |||
lizmat | well, I see it more as Perl's CPAN (note the absence of #) | ||
FROGGS | well, showing a dist on the CPAN page or the marketplace is just a matter of presentation | 10:35 | |
lizmat | fwiw, I would like to see the CPAN also be used for Perl 6 distributions | 10:36 | |
FROGGS | perhaps a marketplace tools (frontend for panda/cpan) makes sense to, to offer a one-click-install | ||
lizmat: yes, I got that | |||
tool* | |||
too* | |||
gah | |||
lizmat | and at the last QA Hackathon it was decided that whenever the Perl 6 community is ready for it | 10:37 | |
PAUSE and CPAN could be made ready for that as well pretty easily | |||
I hope we can get that together at the next QA Hackathon, next week | |||
FROGGS | yeah, we need to spec now how stuff goes in a (auto)generated META.info | ||
lizmat | indeed | 10:38 | |
FROGGS | and that we need a "bundle" target in panda or so | ||
lizmat | and we need to get together with packager such as sno, to make sure rakudo and its modules can be easily packaged | ||
FROGGS | yes | ||
I already have my 2c for that | |||
lizmat | I hope to augment that to a whole euro at least next week :-) | 10:39 | |
FROGGS | *g* | ||
btw, the new CompUnitRepo makes it even easier to ship games, because you'd just distribute a start script and and adatabase file that ontains all the modules and media | 10:41 | ||
(which could be encrypted and only be loadable when you've got a valid key and an online connection or so) | |||
timotimo: ^^ | 10:42 | ||
lizmat | flexibility was the idea behind CompUnitRepo | ||
afk& | 10:45 | ||
FROGGS | yes, and it seems to work out | ||
10:46
tgt joined
10:49
rindolf left
10:51
tgt left
|
|||
jnthn yawns | 10:52 | ||
FROGGS | moin jnthn | 10:53 | |
10:56
scumdog1 left
11:05
vincent23 left
11:12
rindolf joined
11:13
vincent23 joined
11:23
nebuchadnezzar joined,
dmol joined
11:32
denisboyun joined
11:47
tgt joined
11:52
tgt left
11:55
nebuchadnezzar left
|
|||
timotimo | hey jnthn :) | 12:06 | |
jnthn | o/ timotimo | 12:07 | |
I've got some more leak fix patches coming that may help CORE.setting comp | |||
12:08
rindolf left
|
|||
nwc10 | does the size reduction affect speed? I'd sort of guess not, because it will mostly be changing from "memory allocated to process but not in CPU cache" to "memory not allocated to process" | 12:08 | |
12:12
denisboyun left
|
|||
jnthn | nwc10: There can be a cache benefit, in so far as bringing newly allocated regions into cache and evicting old ones is more costly than using memory already in cache. | 12:13 | |
12:15
denisboyun joined
|
|||
nwc10 | I was thinking this. Also, leaked memory might have been on part of a cache line, and in-use moeory on the rest of it | 12:16 | |
jnthn | aye | 12:17 | |
12:18
nebuchadnezzar joined
12:19
denisboyun left
12:21
xenoterracide left
12:22
rindolf joined
12:28
denis_boyun joined
12:36
grondilu joined
12:37
arnsholt left
12:40
arnsholt joined
12:46
kaare_ joined
12:51
tgt joined
|
|||
timotimo | at the moment there are massively bigger wins to be had than cache line optimizations | 13:09 | |
i should say "micro-optimizing cache lines" | |||
since we use so much ram anyway ... | 13:10 | ||
rurban__: can you tell me something about how exactly parrot behaves with regards to memory allocation and especially deallocation? | 13:15 | ||
the numbers we get for maxrss on parrot vs moarvm surely can't be correct | |||
for example ~600 megabytes for the core setting on moarvm, 1.6 gigabytes on parrot | 13:16 | ||
moritz | parrot uses the total system memory as an indicator for how much memory it can use | 13:28 | |
that is, it doesn't GC until that limit is reached | 13:29 | ||
so it's totally possible that parrot uses much more memory than necessary, if only your machine has "enough" memory | |||
13:31
Rotwang left
|
|||
moritz | procfs.blogspot.de/2009/03/maxrss.html | 13:33 | |
14:03
MrUtuber joined
14:04
MrUtuber left
|
|||
tadzik | also, Parrot's GC threshold is settable iirc | 14:15 | |
14:33
telex left
14:34
telex joined
14:38
xragnar left
15:19
denis_boyun_ joined,
denis_boyun left
15:22
xragnar joined
15:24
fridim__ joined
15:35
denisboyun joined
15:36
denis_boyun_ left
15:43
hoelzro_ is now known as hoelzro
|
|||
timotimo | if i set parrot's gc threshold to the maxrss of moar, should i expect it to become much slower? | 15:45 | |
(also, how do i tune that parameter?) | 15:46 | ||
15:48
dayangkun__ left
15:54
wooden left
15:55
raiph joined
|
|||
ingy | r: 5--6 | 15:58 | |
tadzik | --gc-dynamic-threshold=percentage maximum memory wasted by GC | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> 5--⏏6 expecting any of: postfix infix stopper …» | ||
tadzik | timotimo: ^ | ||
ingy | r: 5- -6 | 15:59 | |
camelia | ( no output ) | ||
ingy | r: say 5- -6 | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«11» | 16:00 | |
ingy | r: a=6;say a---6 | 16:06 | |
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: a used at line 1» | ||
ingy | r: a=6;say a-- -6 | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared routine: a used at line 1» | ||
masak | ingy: sigils. | ||
ingy | r: $a=6;say $a-- -6 | ||
masak | ingy: read the error message :) | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '$a' is not declaredat /tmp/tmpfile:1------> $a⏏=6;say $a-- -6 expecting any of: postfix» | ||
masak | ingy: 'my' | ||
ingy | r: my $a=6;say $a-- -6 | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«0» | ||
masak | ingy: you've been writing too much Python lately :P | ||
ingy | I wrote that in 10 langs before bed | 16:07 | |
masak | r: my $a=6;say $a---6 | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«0» | ||
ingy | and just woke up | ||
groggy | |||
masak | r: sub infix:<--->($x, $y) { say "OH HAI!"; 42 }; my $a=6;say $a---6 | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«0» | ||
masak | :/ | ||
ingy | also can't remember where my local perl6 went :( | ||
masak | I totally expected the above to install an infix:<---> operator... | 16:08 | |
what am I missing? | |||
oh! | |||
ingy | masak: glad to help | ||
masak | it checks for postfix operators first, and that beats the ordinary LTM competition. | ||
r: sub infix:<--->($x, $y) { say "OH HAI!"; 42 }; my $a=6;say $a --- 6 | |||
FROGGS | yeah | ||
jnthn | Right. | 16:09 | |
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«OH HAI!42» | ||
masak | \o/ | ||
jnthn | That's why to put spaces around yer infixae. | ||
masak | I can't say I *like* that, but I guess it only punishes people who don't put spaces. | ||
dalek | kudo/nom: 1aeb7c3 | jnthn++ | src/Perl6/ModuleLoader.nqp: Fix our-scoped subs precompilation bug on Moar. |
||
16:09
denis_boyun joined
|
|||
masak | I don't see right now why we couldn't LTM between both postfixes and infixes at that point. | 16:09 | |
we do between prefixes and terms :) | |||
ingy | I want to find a lang where 5--6 works and a--6 does not but a---6 does | ||
hoelzro | jnthn: is that fix for the problem I found? | 16:10 | |
ingy | and a----6 does | ||
hoelzro | or a different precomp bug? | ||
jnthn | hoelzro: RT#121298 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121298 | ||
FROGGS | hoelzro: it fixes it for moar, but not for jvm | ||
hoelzro | \o/ | ||
FROGGS | about jvm: | ||
<jnthn> Aww, too bad. I'd hoped it'd maybe fix it for both. | |||
<jnthn> I guess when JVM adopts the same closure model as Moar then it fixes it... | |||
hoelzro | that's fine with me | 16:11 | |
16:11
denisboyun left
|
|||
hoelzro | I care moar about moar anyway ;) | 16:11 | |
jnthn | I may try and fix it for JVM before that. | ||
FROGGS | yeah :o) | ||
jnthn | But anyway, it's fixed for Moar now. | ||
ingy | jnthn: where did we build my perl6 that one drunk night in Houston? | ||
jnthn | ingy: On some pairup session | 16:12 | |
.oO( We were drunk? :P ) |
|||
ingy realizes that drunk night (especially in jnthn's company) is fairly redundant | |||
jnthn: you musta been; I talked you into making a new language with me. right there in the hotel room. our little love-child was conceived! | 16:14 | ||
ingy runs away | |||
masak | tell us more | 16:15 | |
jnthn | You're right. I implemented closures in it. There must have been alcohol. | ||
FROGGS guesses that ingy was also naked | 16:16 | ||
ingy | masak: github.com/ingydotnet/lingy-proto | ||
FROGGS: ingy *is* naked | 16:17 | ||
FROGGS | ingy: yes, that fits my expectation :o) | ||
ingy | masak: clone/run that | ||
TimToady | rosettacode.org/wiki/Lucky_and_even...ky_numbers for your delictation, and to distract everyone from distressing mental images :) | ||
hoelzro | FROGGS: if jnthn isn't going to fix that for JVM right away, should a new ticket be filed for the JVM? | 16:18 | |
FROGGS | hoelzro: we can leave this one open, no? | ||
(and add tests for moar and parrot) | |||
16:19
zakharyas joined
|
|||
hoelzro | FROGGS: that's fine too | 16:19 | |
dalek | Heuristic branch merge: pushed 22 commits to nqp/moar-conc by jnthn | 16:20 | |
jnthn | Update all the branches! | ||
16:21
guru joined,
guru is now known as Guest67930
16:23
virtualsue joined
|
|||
ingy | bash -c 'echo $((5--------6))' | 16:24 | |
bash is weird | |||
TimToady does not care to trade away future extensibility for the enhance ability to write unreadable code | |||
*hanced | |||
timotimo | "@::(lc $howlucky)" >_> | 16:25 | |
masak | github.com/ingydotnet/lingy-proto/...ster/lingy -- that's a darling little language. | ||
16:25
beastd joined
|
|||
ingy | masak: :) | 16:25 | |
TimToady | timotimo: something went wrong when I tried to stuff it into a hash at 1:30 am, so I left it a symbolic ref :) | 16:26 | |
FROGGS | damn, I would have to takes notes what is next to do for S11 but my brane hurts :/ | ||
TimToady | btw, you *can* do the lucky numbers by nesting greps, one per lucky number sieve, but it gets oh, so slow... | 16:27 | |
timotimo | FROGGS: how do you even do something like encrypted package databases that require an internet connection? | ||
every way i can think of right now would be pretty easy to circumvent | 16:28 | ||
16:28
unclefester2 joined
|
|||
masak | TimToady: friends don't let friends nest greps. | 16:28 | |
FROGGS | timotimo: no idea yet | ||
that was just a random thought | |||
timotimo | mhm | 16:29 | |
i'm wondering how best to implement something like "use Not::Cool" | |||
or maybe "no Cool" | |||
to prevent operators coercing things on their own accord | 16:30 | ||
FROGGS | btw, would you guys agree that panda should get a "bundle" target, or should that be somewhere else? | ||
timotimo | since there are people who despise such a feature in a language | ||
and perl 6 is all about making it your language, so that nobody else understands your code ever :) | |||
TimToady | use Double-Plus-Uncool; | ||
timotimo | FROGGS: what exactly does that do? create a one-file-database, optionally with all dependencies or something? | ||
would such a one-file-thingie be invokable directly via ./perl6? that would be cool. | |||
FROGGS | timotimo: create the META.info and zip it up for uploading to PAUSE or so | 16:31 | |
TimToady | timotimo: how 'bout: supersede Cool is Any {} | ||
FROGGS | timotimo: invoking it only makes sense if it had a binary/script in it that contains a MAIN | ||
timotimo | PAUSE? | 16:32 | |
TimToady: does that work yet? | |||
TimToady | doubt it; augment only partially works | ||
timotimo | i guess we'd have to force all classes that do the role to get refreshed currently? | ||
TimToady | it's not a Role | 16:33 | |
FROGGS | timotimo: Perl Author Upload SErver | ||
16:33
Rotwang joined
|
|||
TimToady | m: say Int.^mro | 16:33 | |
camelia | rakudo-moar 13de5d: OUTPUT«(Int) (Cool) (Any) (Mu)» | ||
FROGGS | timotimo: in fact you upload distributions there, not authors | 16:34 | |
timotimo | haha | ||
that already exists, yes? | |||
TimToady | m: supersede Cool is Any {}; say "42" + 1; | ||
camelia | rakudo-moar 13de5d: OUTPUT«===SORRY!===Type 'Cool' is not declared. Did you mean 'Bool'?at /tmp/AjB4nFF68b:1------> supersede Cool ⏏is Any {}; say "42" + 1;Malformed supersedeat /tmp/AjB4nFF68b:1------> supersede Cool [3…» | ||
timotimo | :( | ||
TimToady | m: supersede class Cool is Any {}; say "42" + 1; | ||
camelia | rakudo-moar 13de5d: OUTPUT«===SORRY!=== Error while compiling /tmp/WvWF8XdtsLCannot use 'supersede' with class declarationat /tmp/WvWF8XdtsL:1------> supersede class Cool is Any ⏏{}; say "42" + 1; expecting any of: scop…» | ||
timotimo | r: say Cool.DUMP; | 16:35 | |
FROGGS | timotimo: for Perl 5 yes | ||
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«Cool» | ||
FROGGS | timotimo: but there seem to be consesus to make that available for Perl 6 also | ||
timotimo | FROGGS: will they need to implement changes to support our stuff? | ||
TimToady | the other approach would be to reparent all the cool classes | ||
timotimo | that sounds good | ||
FROGGS | timotimo: yes | ||
TimToady | m: say Int.^parents | 16:36 | |
camelia | rakudo-moar 13de5d: OUTPUT«» | ||
TimToady | m: say Int.^parent | ||
camelia | rakudo-moar 13de5d: OUTPUT«No such method 'parent' for invocant of type 'Perl6::Metamodel::ClassHOW' in block at /tmp/LXsZz26dV2:1» | ||
Ulti | n: say 1,3...10 | ||
TimToady | m: say Int.^parents[0].WHAT | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«(timeout)» | 16:37 | |
rakudo-moar 13de5d: OUTPUT«Nil» | |||
timotimo | m: say Int.^mro | ||
camelia | rakudo-moar 13de5d: OUTPUT«(Int) (Cool) (Any) (Mu)» | ||
jnthn | TimToady: You need :all with parents | 16:38 | |
TimToady: parents lies, as you spec'd it to :P | |||
timotimo | parents always lie :( | ||
they think they know better than you | |||
FROGGS | I AM NOT! | ||
timotimo | hmm. i ought to update my linux mint. | 16:40 | |
dalek | Heuristic branch merge: pushed 39 commits to rakudo/eleven by FROGGS | ||
timotimo | TimToady: do you have any specific tips for updating linux mint? ISTR you use that, too | 16:41 | |
though maybe you're not using the ubuntu based linux mint? | |||
16:42
Mouq joined
|
|||
TimToady hasn't tried to upgrade Mint yet, but my understanding is you always have to give it a new partition, because they don't support in-place upgrade | 16:43 | ||
timotimo | yes, that's what i gathered | ||
fortunately my backup drive has lots of space left, so i may be able to recover any blunders i may cause | 16:44 | ||
16:46
myfree joined
|
|||
dalek | Heuristic branch merge: pushed 118 commits to rakudo/moar-conc by jnthn | 16:47 | |
TimToady | swish-swash | ||
how come there are swashbucklers but no swishbucklers? | 16:48 | ||
16:48
pmurias joined
16:49
Sqirrel left
|
|||
timotimo | there's a soda/pop/soda-pop in germany called "Schwipp-Schwapp" | 16:51 | |
TimToady | we just have Schwepps | ||
masak | r: for <i a u> -> $vowel { say "Schw{$vowel}pp" } | 16:52 | |
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«SchwippSchwappSchwupp» | ||
16:52
raiph left
|
|||
masak | r: for <i a u> -> $vowel { say "beg{$vowel}n" } | 16:52 | |
camelia | rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«beginbeganbegun» | ||
masak .oO( ablaut me baby one more time ) | 16:53 | ||
16:53
myfree left
|
|||
timotimo | isn't it "schweppes"? | 16:55 | |
16:55
sqirrel__ joined
|
|||
TimToady | m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'sw','m'; | 16:55 | |
camelia | rakudo-moar 13de5d: OUTPUT«swimswamswum» | ||
TimToady | m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'g','t'; | ||
camelia | rakudo-moar 13de5d: OUTPUT«gitgatgut» | ||
masak | :) | 16:56 | |
TimToady | m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'f','lm'; | ||
camelia | rakudo-moar 13de5d: OUTPUT«filmfalmfulm» | ||
FROGGS | how fulminant :o) | 16:57 | |
masak | m: sub infix:<ablaut>($front, $back) { "$front$_$back" for <i a u> }; say for "f" ablaut "lm" | ||
FROGGS | (which is a german word for "brilliant") | ||
camelia | ( no output ) | ||
masak | m: sub infix:<ablaut>($front, $back) { return ("$front$_$back" for <i a u>) }; say for "f" ablaut "lm" | ||
camelia | rakudo-moar 13de5d: OUTPUT«» | 16:58 | |
FROGGS | .say? | ||
timotimo | m: say <i a u>.fmt("Schw%spp") | ||
camelia | rakudo-moar 13de5d: OUTPUT«Schwipp Schwapp Schwupp» | ||
FROGGS | hmmm | ||
masak | m: sub infix:<ablaut>($front, $back) { return ("$front$_$back" for <i a u>) }; .say for "f" ablaut "lm" | ||
camelia | rakudo-moar 13de5d: OUTPUT«filmfalmfulm» | ||
timotimo | shortest :) | ||
masak | timotimo: ooh | ||
TimToady | timotimo++ | ||
timotimo | \o/ | ||
masak | why has 'say;' been allowed for so long? is there some deep parsing issue that prevents us from issuing a warning for that? | ||
TimToady | except, of course, it's not parameterized | ||
std: say | 16:59 | ||
camelia | std 09dda5b: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/MtI8z98zKE line 1:------> say⏏<EOL>Check failedFAILED 00:00 120m» | ||
TimToady | p6: say; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/tmpfile line 1:------> say⏏;Unhandled exception: Check failed…» | ||
..rakudo-parrot 13de5d, rakudo-jvm 13de5d, rakudo-moar 13de5d: OUTPUT«» | |||
17:00
dwarring joined
|
|||
dalek | p-js: 609ed59 | (Pawel Murias)++ | tools/build/Makefile-JS.in: Concatenate a setting for use while building the js backend. |
17:03 | |
p-js: 47029be | (Pawel Murias)++ | gen/js/ (3 files): Add a .gitignore for gen/js. |
|||
p-js: d7faf48 | (Pawel Murias)++ | / (3 files): Build a partial setting. make test passes tests 1 and 2. |
|||
17:03
isBEKaml joined
|
|||
timotimo | pmurias o/ | 17:04 | |
timotimo is afk for a while | |||
pmurias | timotimo: \o | 17:06 | |
dalek | kudo/moar-conc: 6c0d74e | jnthn++ | src/vm/jvm/core/Promise.pm: Another step towards portable Promise. Now it depends only on the JVM semaphore. |
17:08 | |
jnthn | o/ pmurias | ||
FROGGS | hmmm, a portable promise sounds a bit like an expandable ear | 17:10 | |
17:11
isBEKaml left
|
|||
dalek | kudo-star-daily: d980a40 | coke++ | log/ (5 files): today (automated commit) |
17:21 | |
[Coke] | ^^ jsonrpc is failing | 17:24 | |
modules/Pod-To-HTML << no tests | |||
17:26
spiritus left,
[particle]1 left
17:27
hoelzro left
17:31
hoelzro joined
|
|||
Mouq | p6: try { chr( :16<D800> ); CATCH { say 'bad codepoint' }} | 17:39 | |
yoleaux | 06:12Z <lue> Mouq: fwiw, .match does in fact work where ~~ m// doesn't :) I think the valuable lesson here is to not ever ever use $_ in regexes, for safety's sake :P | ||
camelia | ( no output ) | 17:40 | |
..rakudo-parrot 13de5d: OUTPUT«bad codepointInvalid character for UTF-8 encoding in block at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | |||
..rakudo-jvm 13de5d: OUTPUT«bad codepointInvalid code-point U+0D800 in method chr at gen/jvm/CORE.setting:4373 in sub chr at gen/jvm/CORE.setting:4601 in sub chr at gen/jvm/CORE.setting:4600 in block at /tmp/tmpfile:1» | |||
Mouq | m: try { chr( :16<D800> ); CATCH { say 'bad codepoint' }} # this. | ||
camelia | ( no output ) | ||
Mouq | [Coke]: I'll look at adding tests for Pod::To::HTML | 17:41 | |
17:46
fridim__ left
|
|||
dalek | p: e3e35ca | (David Warring [email@hidden.address] | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: backport chr() 'cannot be negative' error from Moar to JVM |
17:54 | |
dwarring | hi all | 17:55 | |
17:58
araujo joined,
araujo left,
araujo joined
|
|||
Mouq | o/ dwarring++ | 17:58 | |
dwarring | nqp: say(nqp::chr(-42)) | ||
camelia | nqp-moarvm: OUTPUT«chr codepoint cannot be negative at /tmp/tmpfile:1 (<ephemeral file>::22) from gen/moar/stage2/NQPHLL.nqp:1091 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm::94) from gen/moar/stage2/NQPHLL.nqp:1077 (/home/p6eval/rakudo-inst-2/languages…» | ||
..nqp-jvm: OUTPUT«java.lang.IllegalArgumentException in (/tmp/tmpfile:1) in (gen/jvm/stage2/NQPHLL.nqp:1100) in eval (gen/jvm/stage2/NQPHLL.nqp:1086) in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292) in command_eval (gen/jvm/stage2/NQPHLL.nqp:1196) in command_lin…» | |||
..nqp-parrot: OUTPUT«Invalid character for UTF-8 encodingcurrent instr.: '' pc 40 ((file unknown):44389383) (/tmp/tmpfile:5)» | |||
dwarring | fixes that ugly error | ||
Mouq | dwarring: I'm actually pointing out chr(55296), and pointing it out because of the awesome CSS::Grammar module that expects it to fail | 17:59 | |
dwarring: Though maybe you already know | 18:01 | ||
dwarring | Mouq: thanks! | ||
Just needs this bit forward ported to chr in interp.c gist.github.com/dwarring/9436043 | 18:02 | ||
dwarring in moar | |||
dwarring might have a go | 18:04 | ||
18:05
Guest67930 is now known as ajr_
18:14
virtualsue left
18:19
[particle] joined
18:20
xinming_ joined
18:33
kaare_ left
18:34
darutoko left
18:38
spider-mario joined
18:39
[Sno] joined
18:40
lichtkind joined
|
|||
lichtkind | hai | 18:41 | |
is prefix || gone? | |||
vendethiel | r: my @a = $($(1, 2), $(3, 4)); my @i = (1, 1); say @a[||@i]; | 18:46 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«===SORRY!===Variable '&prefix:<|>' is not declaredat /tmp/tmpfile:1------> , 2), $(3, 4)); my @i = (1, 1); say @a[|⏏|@i];Variable '&prefix:<|>' is not declaredat…» | 18:47 | |
Mouq | lichtkind: I'm not sure if it's still spec, but I know it's not been implemented | 18:52 | |
18:53
kurahaupo joined
|
|||
lichtkind | Mouq indeed i just found that out just now the hard way | 18:53 | |
but ive seen it in syn today | |||
18:53
bjz left
18:54
donk joined
|
|||
Mouq | lichtkind: Ah.. We don't really have semicolon lists yet, AFIAK... | 18:55 | |
vendethiel: Is that supposed to output "3"? | 18:56 | ||
vendethiel | Mouq: I believe || is semicolon interpolation | ||
You're the perl6 guy :p. | 18:57 | ||
Mouq is just good at guessing | |||
:P | |||
dalek | ast: eb51b0d | (David Warring [email@hidden.address] | S29-conversions/ord_and_chr.t: test death of chr(-42) |
||
Mouq | And sometimes I guess at how to write code and it works! And everything is happiness | 18:58 | |
TimToady usually guess wrong about 9 times first | |||
every now and then something works the first time, and I am flabbergasted | 18:59 | ||
lichtkind | anyone comes to hannover? | ||
TimToady: good morning sir, hard to believe how quite kiev was when we had lunch | 19:00 | ||
TimToady | yes, it's been astonishing to watch the news from there | 19:01 | |
lichtkind | TimToady: 2 weeks after 2013 german perlworkshop in stuttgard were there the infamous police riots, slowly i think about conections :) | 19:05 | |
oh that was 2012 time flies | 19:06 | ||
19:08
oskie joined
19:09
hoverboard joined
|
|||
donk | hey, i'm new to perl6... are most people here using rakudo perl 6? | 19:10 | |
Mouq | o/ donk | ||
donk: I believe so | |||
TimToady | yes, though I still use niecza for a quiz editor I use about once a month | 19:11 | |
donk | ok, thanks... gonna clone it and check it out | ||
TimToady | but rakudo is where it's at these days | ||
Mouq | donk: Cool! If you have any issues we'll be happy to help you out | ||
lichtkind | donk: welcome | 19:12 | |
donk | did rakudo fork cuz of disputes with larry wall on the direction of perl or was it more just to speed up its release? | ||
lichtkind | no | ||
TimToady | fork from what? | ||
lichtkind | larry never directed the actuall development | ||
there is just one rakudo even it has several backends | 19:13 | ||
donk | oh, i misunderstood my co-worker then... i thought he was directing perl6 | ||
lichtkind | parrot was kinda forked | ||
that is true but by perl 6 we mean the language | |||
not the implementation | |||
donk | ahh, ok | 19:14 | |
TimToady | larry is mostly just the language designer | ||
lichtkind | if its just abvout the syntax larry is our err kinda liek puti :) | ||
if its just abvout the syntax larry is our err kinda liek putin :) | |||
donk | hehe | ||
TimToady | hehe | 19:15 | |
donk | i was mainly interested in seeing how OO is implemented in perl6 | ||
Mouq | .oO(I don't always talk in the third person, but when I do, it's because I'm the BDFL) |
19:16 | |
TimToady | r: class Dog { method bark($what = "woof") { say $what } }; my $fido = Dog.new; $fido.bark; $fido.bark("yap") | 19:17 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«woofyap» | ||
dwarring | Mouq: I've made a MoarVM PR | ||
Mouq | dwarring++ | ||
TimToady never talks in third person except when he does | |||
dwarring | thanks for the (accidental) prodding | ||
TimToady | donk: ^^ there's an example | ||
dwarring he | 19:18 | ||
donk | ahh, i like it | ||
TimToady | so do we :) | ||
dwarring | ./me has recently moved from Australia to New Zealand | ||
I'm now a couple more time-zones further west | 19:19 | ||
TimToady | donk: if you want to see many more examples of perl 6 code, see rosettacode.org/wiki/Category:Perl_6 | ||
Mouq | dwarring: no problem, I was looking at maybe making a parser for HTML(5, likely), and having a CSS parser is a big first step :) | ||
TimToady | a few of the examples are OO | 19:20 | |
dwarring | That'd be great to put it to work | ||
donk | i just started my new job as a perl developer in a group of java and php guys, and they were suggesting i learn a more modern language, so i told them i'll just transition to perl6 when it's ready... and now i'm trying to find out what it's all about :D | 19:21 | |
TimToady: thanks, i'll check that out | |||
19:22
pochi left,
denis_boyun left
|
|||
Mouq | donk: There's moritz++ | 19:22 | |
TimToady | there's also lots of links on perl6.org | ||
Mouq | *'s perlgeek.de/en/article/5-to-6 | ||
Since you're coming from v5 | |||
19:23
denisboyun joined,
oskie left
|
|||
TimToady | yes, and the advent posts are good for that too | 19:23 | |
donk | i didn't realize perl6 was so far along... in the other channels, they made it sound like it will never have a final release :P | 19:24 | |
TimToady | has perl5 had a final release? :P | 19:25 | |
see planeteria.org/perl6/ for recent news | |||
donk | true... well, i guess stable release that companies can adopt | ||
TimToady | and links to the advent posts | ||
donk | the php guy was trying to convince me about how great php is, but i just don't see it | 19:26 | |
lichtkind | TimToady: will you come to hannover or just sofia? | ||
TimToady | just sofia | ||
donk | and then the javascript guy was telling me node.js is going to make everything but javascript obsolete, lol | ||
TimToady | well, tell them that one of our backends targets node.js | 19:27 | |
and that we have an implementation on the JVM already | |||
donk | oh, wow | ||
that sounds promising | |||
TimToady | no php backend, alas :) | ||
pmurias | would it make a sensible target? | 19:28 | |
TimToady | not till you finish JS :P | ||
lichtkind | donk: and btw the node.js concurrency code was developed to be a perl 5 XS module | ||
donk | ahh | ||
TimToady | our moarvm uses libuv underneath too | 19:29 | |
dwarring | Mouq: You should have commit access to CSS::Grammar | ||
Mouq | dwarring: Thanks! :D I won't hesitate to put it to good use when needs be | 19:30 | |
19:32
arnsholt left
|
|||
FROGGS[mobile] | lichtkind: I am going to be in hannover as you might know :o) | 19:35 | |
lichtkind | guessed that | 19:36 | |
you have the sublang talk | |||
19:37
kurahaupo left
|
|||
vendethiel | pmurias: JS seems a much more sensible target :P | 19:40 | |
vendethiel might be *totally* biased, though | |||
vendethiel would actually like a PHP backend for his homework | 19:41 | ||
actually, the JVM backend has the most passrate, right ? | |||
jnthn | vendethiel: With recent work by TimToady++ on Moar's Unicode stuff, they may be neck and neck now. And the concurrrency stuff will land on Moar soon too... :) | 19:43 | |
vendethiel | jnthn++ # Moar completion rate | 19:44 | |
pmurias | vendethiel: I don't think the output of compiler backend would serve as suitable homework ;) | 19:47 | |
vendethiel | pmurias: why not ? | ||
jnthn resists the temptation to give condvars overly cute method names :) | 19:55 | ||
TimToady | [+] 0,1,2,3,4,5,6,7,8,9,10 is about 50 times slower than 0+1+2+3+4+5+6+7+8+9+10 at the moment, [+] 0..10 is 5 times slower than that | 19:57 | |
so [+] 0..10 is about 250 times slower than just adding the numbers | |||
jnthn | TimToady: The operations on a condition variable are wait (for another thread to notify me to proceed), signal (tell one waiting thread to wake up and proceed) and signal all (tell all waiting thrads to wake up and proceed) | ||
TimToady: I've just gone with wait/signal/signal_all for now, but feel free to suggest better. | |||
TimToady | well, signal is going to be confusing to Unixoids | 19:58 | |
jnthn | TimToady: It's a low level API rather than anything I expect to have regular use. | ||
TimToady | not to mention wait :) | ||
jnthn | TimToady: Yeah. | ||
TimToady: notify is sometimes used | |||
Sometimes signal_all/notify_all gets called broadcast. | |||
hibernate/awaken/awaken_all? :) | |||
TimToady | squat/evict/evict_all :) | 19:59 | |
jnthn | haha | 20:00 | |
20:03
Rotwang left
20:04
kurahaupo joined
|
|||
TimToady | oh, and my \r = 0..10; [+] r makes it only about 200 times slower :) | 20:06 | |
so just constructing the Range objects is about a 5th of the overhead | |||
well, a 4th, and 3/4ths is the repeated reification | 20:07 | ||
20:07
dwarring left
|
|||
TimToady | (where we count 1/5th as the [+] overhead) | 20:07 | |
more or less | |||
but looks like optimizing [+] and [*] would be a big win | |||
jnthn woulda thought a Range like 1..10 reifies all its things in a go... | 20:10 | ||
TimToady | only about 1000 at a time | 20:12 | |
well, 11 at a time here | |||
but it still does it repeatedly | 20:13 | ||
and it's probably buried several deep in reifies at that point | |||
one of the things pmichaud++ and I will have to work out is how we hide that reification depth most of the time | 20:14 | ||
"please read from this, and then come back to me for more when you're done" | |||
a naïve sum sub, however, is twice as slow as [+] :) | 20:16 | ||
so overhead of about 90% over just adding the numbers | 20:17 | ||
20:19
Rotwang joined
|
|||
lue | r: sub sumup(Range $a) { return ($a.bounds[1] - $a.bounds[0] + 1) * ($a.bounds[0] + $a.bounds[1]) / 2 }; say sumup(1..100) # breaks on ..^ , ^.. , and ^..^ | 20:22 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«5050» | ||
moritz | and it returns a Rat, not an Int :-) | 20:24 | |
TimToady | it's actually quite difficult to write a 'sum' sub that runs faster than [+] | ||
(not counting a sum of a Range :) | 20:25 | ||
lee__ | i cheated and wrote this a while ago, but it is cheating :P | 20:28 | |
github.com/leedo/rakudo/commit/ee0...f178c67851 | |||
dalek | p/moar-conc: df4589c | jnthn++ | src/vm/jvm/ (5 files): Provide condition variable abstraction on JVM. |
||
TimToady | especially when I shoulda eaten lunch | ||
dalek | kudo/moar-conc: 381bf1b | jnthn++ | src/core/Lock.pm: Implement Lock::ConditionVariable. |
20:31 | |
20:34
kurahaupo left
20:37
rindolf left
20:38
unclefester2 left
20:44
raiph joined
|
|||
masak | r: say [max] [1, 2, 3] | 20:46 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«1 2 3» | 20:47 | |
masak | r: say [max] [1, 2, 3][] | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«3» | ||
masak | r: say [max] [{x => 7}, {x => 42}]>><x> | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«42» | ||
20:50
sqirrel__ left
20:51
vincent22 left
|
|||
dalek | ast: b3b7611 | jnthn++ | S17-concurrency/thread.t: Skip a test on all backends, not just JVM. |
20:53 | |
ast: 7d20057 | jnthn++ | S17-concurrency/lock.t: Add a test for condition variables. |
|||
kudo/moar-conc: 67935fd | jnthn++ | src/vm/jvm/core/Promise.pm: Switch Promise to use cond var, not JVM semaphore. A condition variable is a much better construct to be using here, especially when a semaphore granting many permits is not portably available. |
|||
kudo/moar-conc: 036e54a | jnthn++ | / (3 files): Move Promise to src/core/, now it's portable. |
|||
nwc10 | jnthn: you didn't take out dalek. Try harder :-) | 20:54 | |
dalek | kudo/moar-conc: 7cc7fc5 | jnthn++ | tools/build/Makefile-Moar.in: Add CurrentThreadScheduler to Moar setting build. |
20:56 | |
20:56
pippo joined
|
|||
masak | r: say max(4, 7, 10) | 20:57 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«10» | ||
masak | r: say [max](4, 7, 10) | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«10» | ||
20:59
hoverboard left
|
|||
lichtkind | allright i have 154 slides , main part is done | 21:00 | |
21:04
zakharyas left
|
|||
masak | is it considered a code smell to use .WHICH in non-debugging code? | 21:06 | |
...like it is with .WHAT? | |||
Mouq | masak: Set uses .WHICH | ||
21:07
kivutar joined
|
|||
jnthn | masak: In many cases, using === or an object hash is what's really called for... | 21:07 | |
masak | oh right, object hashes. | ||
yes, that's probably what I actually want. | 21:08 | ||
I see Hash doesn't change its .WHICH when modified. is that guaranteed by spec? | |||
or otherwise guaranteed? | |||
jnthn | I guess Hash has reference semantics. | ||
It'll be S02 that says if anything does. | 21:09 | ||
masak | right, reference semantics is what I'm expecting. | 21:10 | |
21:13
raiph left
|
|||
hoelzro | yay! moar passing modules for Mokudo! | 21:15 | |
jnthn | hoelzro: ooh! :) | 21:16 | |
TimToady | introspection is usually a bit of a smell | ||
jnthn wonders why he feels tired, then remembers he stayed up until 4am fixing some memory leak... :) | |||
21:17
unclefester2 joined
|
|||
TimToady has the temerity to not feel guilty, much | 21:17 | ||
21:17
skids left
|
|||
dalek | osystem: 1e005aa | Mouq++ | META.list: Add JSON5::Tiny |
21:17 | |
jnthn | TimToady: tbh, after some weeks of intense course writing/teaching, it was nice to be hacking again. :) | 21:18 | |
unclefester2 | masak: Sorry - I don't know what I am doing wrong with RT but I don't see the emails again. Anyway I updated RT rt.perl.org/Ticket/Display.html?id=112716 with the existing test. | 21:19 | |
21:29
xenoterracide joined
|
|||
hoelzro | is NativeCall working on Moar yet? | 21:30 | |
jnthn | hoelzro: no | 21:31 | |
hoelzro | jnthn: what remains to be done on that front? | ||
FROGGS | there were no attempts until now, right? | ||
jnthn | hoelzro: All The Things | ||
hoelzro: Well, except library loading I guess... :) | |||
hoelzro: We can steal a lot of code from the Parrot impl too, given it was fairly decoupled from Parrot and really a 6model-y thing :) | 21:32 | ||
21:32
slavik joined
|
|||
hoelzro | I think it's the chief blocker of Rakudo * on Moar is all | 21:32 | |
Mouq | hoelzro: There's also a pre-comp bug with URI | 21:33 | |
jnthn | hoelzro: Yeah. | ||
hoelzro | that's fixed now Mouq | ||
Mouq | hoelzro: Waaaat | ||
hoelzro | jnthn++ took care of it earlier today | ||
Mouq | jnthn++ | ||
hoelzro | this one is fun, though: | ||
jnthn | hoelzro: It's next on my task list after I get the basic concurrency stuff rolling. | ||
hoelzro | Error while compiling op p6box_s: To compile on the MoarVM backend, QAST::VM must have an alternative 'moar' or 'moarop' | ||
(MIMe::Base64) | |||
jnthn | hoelzro: I think that module uses a Q:PIR block :( | 21:34 | |
hoelzro | =( | ||
21:34
rurban joined
|
|||
hoelzro | yup | 21:34 | |
FROGGS | m: grammar G { proto token a(|) {*}; token a:sym<foo>($bar) { . }; token TOP { <a("baz")>+ } }; G.parse("hallo") | ||
camelia | rakudo-moar 1aeb7c: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in regex a:sym<foo> at /tmp/a5uA9a8r8D:1 in any !protoregex at gen/moar/stage2/QRegex.nqp:784 in regex a at /tmp/a5uA9a8r8D:1 in regex TOP at /tmp/a5uA9a8r8D:1 in method pars…» | ||
FROGGS | what am I doing rong? | ||
hoelzro | oh, it just loads a parrot library to do the dirty work | ||
that's easily fixable | |||
jnthn | FROGGS: Um....I didn't see anybody try that one before :) | 21:35 | |
FROGGS | jnthn: ohh noes /o\ | ||
not again | 21:36 | ||
jnthn | I know what it compiles into, and it doesn't pass args along... | 21:37 | |
FROGGS | ahh, okay | ||
masak | unclefester2: pmichaud's comment makes it seem as if the problem is in .map, not 'gather' -- and I think those two use different code paths. | ||
FROGGS | I can write it differently | ||
jnthn | FROGGS: Easy trick is to just take a dynvar in the proto :) | ||
FROGGS | right | ||
jnthn: will do that :o) | 21:38 | ||
21:38
spider-mario left
|
|||
TimToady | yes, the 'for' laziness problem turned out to be in MapIter, which I fixed recently, for some value of "fixed" | 21:40 | |
masak | unclefester2: so, while the bug does indeed appear to be fixed, I'm not certain that that test covers it. | ||
unclefester2: sorry to be a bother -- I just want to make sure we do *not* backslide on this one -- it's quite annoying. | |||
21:41
hoverboard joined
|
|||
masak | how do I declare, in a parameter list, that I want a %hash{Hash} ? | 21:41 | |
m: sub foo(%h{Hash}) {} | |||
camelia | rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/1E9m9ymY9UMissing blockat /tmp/1E9m9ymY9U:1------> sub foo(%h⏏{Hash}) {} expecting any of: statement list prefix or term prefix or m…» | ||
TimToady | the problem was specifically with interators that are not known to be infinite, and it tried to reify its sublists with (*), which is eager | 21:42 | |
it no longer does that | |||
unclefester2 | masak: not at all - thank you for your help. I just noticed that the examples now work and thought it worth another look. Do you at least agree that my roast example covers the same ground as my 10,20,30,40 loop? | ||
masak | unclefester2: yes, I think so. but that's because both of them are about gather, not about .map | 21:43 | |
unclefester2: the RT ticket turned out to be about .map | |||
TimToady | philosophically, map shouldn't be making the decision to batch in the absence of more information from above or below | 21:44 | |
unclefester2 | masak: have to go now - thanks again | ||
21:44
unclefester2 left
|
|||
TimToady | so in the absence of accurate context coming from above, the current fix is merely to delegate the batching decision downward to the iterators that have a better idea whether it makes sense, like Range | 21:45 | |
or lines, where it doesn't :) | 21:46 | ||
[Coke] | ++Mouq # test adding | ||
TimToady | (again, in the current absence of context) | ||
a lot of this still will get a lot faster when we have a way to pass down "you're being called eagerly, so just send back an rpa (or rope of rpas) with everything in it" | 21:48 | ||
nap & | |||
21:51
lichtkind left
21:55
ajr_ left
|
|||
dalek | rl6-roast-data: 08c65ba | coke++ | / (3 files): today (automated commit) |
21:56 | |
[Coke] | rakudo.moar,2014-03-08,100.00%,1fb3aff,29184,56,577,1334,31151,28866, | ||
21:57
denyska joined
|
|||
[Coke] | I don't see any new big failures on the JVM side, so that might be legit. | 21:57 | |
jnthn | Yeah, it's the new Unicode stuff. | ||
Which is NYI on other backends. | |||
[Coke] | moarftw | 21:58 | |
22:00
skids joined
|
|||
lue imagines the JVM will be the Most Fun™ to implement Unicode stuff on... | 22:01 | ||
22:12
virtualsue joined
|
|||
pmurias | wouldn't JVM just use JVM strings? | 22:13 | |
geekosaur | JVM mishandles stuff outside the BMP? | 22:14 | |
jnthn | pmurias: It does for now, but that doesn't really hold up if we want to support NFG... | ||
lue | jnthn: or anything above the BMP, really :P (though I can at least say "\x10000" on JVM) | 22:17 | |
22:17
hoverboard left
|
|||
dalek | p/moar-conc: 584fa7a | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Map condition variable ops for MoarVM. |
22:24 | |
kudo/moar-conc: 5f7d6a4 | jnthn++ | src/core/Promise.pm: Remove leftover JVM interop mention in Promise. |
22:34 | ||
22:40
pippo left
|
|||
dalek | kudo/moar-conc: a7a2209 | jnthn++ | tools/build/Makefile-Moar.in: Add Promise to MoarVM setting build. |
22:41 | |
colomon | jnthn++ is at it again! \o/ | 22:42 | |
timotimo | \o/ | 22:43 | |
FROGGS | TimToady: rosettacode.org/wiki/XML/Input is solvable when my pull request is applied to module XML | 22:50 | |
masak | I just encountered a situation in which removing a declaration/assigning to a variable *which I don't use* causes the program to behave wrongly. | 22:56 | |
leaving the line with the declaration/assignment in causes the program to behave correctly. | 22:57 | ||
Mouq | github.com/perl6/Pod-To-HTML/compa...0...master | 22:58 | |
Marginally not terrible test on their way | |||
*tests | |||
22:58
bjz joined
22:59
FROGGS[mobile] left
|
|||
jnthn | masak: That's easy enough to construct if the thing assigns is side-effecting. | 23:01 | |
masak | it isn't. | ||
jnthn | Apparently it is :P | ||
benabik | *shouldn't be | ||
masak | but now it seems more likely that this is about spurious hash ordering. | ||
I just did two successive test runs; one failed and the next passed. | 23:02 | ||
jnthn | Oh...don't rely on hash ordering... | ||
dalek | ast: 4a5a180 | lue++ | S15-unicode-information/uni (2 files): [S15] Fix up a couple of comments. Nothing major, just leftovers from the uniname test file :) . |
23:03 | |
ast: 93c65b5 | coke++ | test_summary: Add missing SYN aliases |
23:06 | ||
masak | I'm not deliberately relying on hash ordering :) | ||
lue | don't rely on hash ordering... until you sort the keys :) | ||
23:07
hoverboard joined
23:08
woolfy1 joined,
woolfy left
23:09
lizmat left
|
|||
masak | lue: in that case, the hash is still not ordered. | 23:10 | |
lue: you took the keys out, and put them into a sorted list. | 23:11 | ||
lue | masak: I was worried for a second, that "sorted list" thing explains it :) . | 23:12 | |
masak is too tired to debug the error | |||
'night, #perl6 | |||
lue | ♞ masak o/ | ||
jnthn | 'night,masak | 23:13 | |
dalek | p/moar-conc: c597cf8 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Map queuepoll op on MoarVM. |
23:14 | |
23:18
tgt left
|
|||
dalek | kudo/moar-conc: 5a815dc | jnthn++ | tools/build/Makefile-Moar.in: Add channels, supplies, and winner to Moar build. They all build now. Channel seems to essentially work; Supply doesn't work just yet, though it builds fine. |
23:21 | |
tadzik | \o/ | ||
timotimo | awesome ♥ | 23:22 | |
tadzik | ooh, JSON5 has trailing commas in arrays and hashes | 23:23 | |
I now want to use it everywhere | |||
timotimo | yes! | ||
YES | |||
tadzik | and we have a module :) | ||
23:25
virtualsue left
|
|||
Mouq | github.com/perl6/Pod-To-HTML/commit/ec9e15b | 23:26 | |
23:26
hoverboard left
|
|||
Mouq | dalek should really have a hook for Pod-To-HTML | 23:26 | |
tadzik | shouldn't be too hard to add one | ||
Mouq | You apparently need admin privliges to do it the normal way | 23:27 | |
tadzik | yep | ||
lue should really implement a cache for syngen soon | |||
Mouq | tadzik: Or we could un-fork it from you somehow | 23:28 | |
tadzik | hmm | ||
Mouq | lue: I really want a Storable for Perl 6.... | ||
tadzik | I remember there was a reason we forked it into perl6 :) | 23:29 | |
Mouq | metacpan.org/pod/Storable | ||
tadzik | Mouq: hm, that may not be that impossible | ||
in the general case, that is | |||
I mean, the easy case | |||
:P | |||
23:30
lizmat joined
|
|||
lue | Mouq: I assume this Storable has a way to check when objects need to be updated, right? | 23:30 | |
Mouq | lue: So that you know whether to write a new file or not? | 23:32 | |
lue: I doubt it.. | |||
dalek | href="https://modules.perl6.org:">modules.perl6.org: f81681b | Mouq++ | web/lib/P6Project/Hosts/Github.pm: Add pod6 to accepted README formats |
23:36 | |
lue | \o/ | ||
tadzik | oh, good :) | ||
Mouq++ | 23:37 | ||
lue | Now all we need is for Github to recognized README.pod6 :) | ||
tadzik | yeah, that may need some convincing... :) | ||
23:39
hoverboard joined
|
|||
tadzik | looking at how much time it took them to update a python module, I can only begin to imagine how much would it take to make them install rakudo : | 23:40 | |
unless we'll have Pod6-as-a-service :P | |||
or we can port it to something they like | |||
dalek | kudo/moar-conc: c419156 | jnthn++ | t/ (2 files): Add conc tag for concurrent tests; use it a bit. The tests known to only work on JVM so far have been left with # jvm for now, until issues are fixed and/or they are fudged. |
23:41 | |
lue | tadzik: they don't need to format it (at least not for me), they just need to recognize that they don't have to tell me "Hey, you should, like, have a README or something" | 23:42 | |
tadzik | ah | 23:43 | |
jnthn | r: class C { has &.x; } sub foo(:&x) { C.new(:&x); }; foo(); | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> class C { has &.x; } ⏏sub foo(:&x) { C.new(:&x); }; foo(); expecting an…» | ||
jnthn | r: class C { has &.x; }; sub foo(:&x) { C.new(:&x); }; foo(); | ||
camelia | ( no output ) | 23:44 | |
..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&!x'; expected 'Callable' but got 'Callable' in block at src/gen/m-CORE.setting:886 in method BUILDALL at src/gen/m-CORE.setting:869 in method bless at src/gen/m-CORE.setting:858 in method new at src/gen…» | |||
Mouq | n: class C { has &.x; }; sub foo(:&x) { C.new(:&x); }; foo(); | 23:45 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Nominal type check failed in binding '&x' in 'foo'; got Any, needed Callable at /tmp/tHGaWyKvLF line 0 (foo @ 1)  at /tmp/tHGaWyKvLF line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) …» | ||
jnthn | r: sub foo(:&x) { say nqp::iscont(&x); }; foo(); | ||
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«1» | ||
Mouq | n: class C { has &.x; }; sub foo(:&x = Callable) { C.new(:&x); }; foo(); | 23:46 | |
camelia | ( no output ) | ||
Mouq | r: class C { has &.x; }; sub foo(:&x = Callable) { C.new(:&x); }; foo(); | ||
camelia | ( no output ) | ||
..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&!x'; expected 'Callable' but got 'Callable' in block at src/gen/m-CORE.setting:886 in method BUILDALL at src/gen/m-CORE.setting:869 in method bless at src/gen/m-CORE.setting:858 in method new at src/gen…» | |||
jnthn | That is, curiously, the bug upsetting supplies... | ||
TimToady | well, obviously you should give it a Callable, not a Callable. :P | 23:47 | |
jnthn | r: sub bar(*%h) { say nqp::iscont(%h<x>); }; sub foo(:&x) { bar(:&x); }; foo(); | 23:48 | |
camelia | rakudo-parrot 1aeb7c, rakudo-jvm 1aeb7c, rakudo-moar 1aeb7c: OUTPUT«1» | ||
benabik | Expected Callable but got Callable? | 23:50 | |
23:55
fridim_ joined,
Rotwang left
|
|||
jnthn | r: class C { has &.bar; }; C.new(:bar(my $x = Callable)); | 23:55 | |
camelia | ( no output ) | 23:56 | |
..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&!bar'; expected 'Callable' but got 'Callable' in block at src/gen/m-CORE.setting:886 in method BUILDALL at src/gen/m-CORE.setting:869 in method bless at src/gen/m-CORE.setting:858 in method new at src/g…» | |||
jnthn | r: my &c = (my $x = Callable); | 23:58 | |
camelia | ( no output ) | ||
..rakudo-moar 1aeb7c: OUTPUT«Type check failed in assignment to '&c'; expected 'Callable' but got 'Callable' in block at /tmp/tmpfile:1» |