»ö« 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«True␤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 @ 5) ␤ at /home/p6eval/niecz…»
..rakudo-moar 798ebd: OUTPUT«True␤Cannot 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«True␤Cannot 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/tmpfile␤Undeclared routine:␤ lt used at line 1. Did you mean 'lc'?␤␤»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'lt' used at line 1␤␤Unhandled 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/tmpfile␤Two terms in a row␤at /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 1␤␤Parse 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" => 21␤1␤"a" => 42␤1␤"lkml" => 23␤1␤»
..rakudo-parrot 798ebd, rakudo-moar 798ebd, niecza v24-109-g48a8de3: OUTPUT«"a" => 42␤1␤"lkml" => 23␤1␤"kklk" => 21␤1␤»
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 1␤␤Unhandled 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: StopIteration␤current 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: |{'&zwj;'=>[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 &zwj;".trans: |{'&zwj;'=>[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/tmpfile␤Regex not terminated␤at /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/hNVaBOvxqI␤Unable 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/AvNAqGAlt7␤Two terms in a row␤at /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/9i2x5N4pIn␤Unable 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/ET2eIDVPOp␤Preceding context expects a term, but found infix > instead␤at /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/tmpfile␤Two terms in a row␤at /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/tmpfile␤Undeclared 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/tmpfile␤Undeclared 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/tmpfile␤Variable '$a' is not declared␤at /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 supersede␤at /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/WvWF8XdtsL␤Cannot use 'supersede' with class declaration␤at /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«Schwipp␤Schwapp␤Schwupp␤»
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«begin␤began␤begun␤»
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«swim␤swam␤swum␤»
TimToady m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'g','t';
camelia rakudo-moar 13de5d: OUTPUT«git␤gat␤gut␤»
masak :) 16:56
TimToady m: sub ablaut ($front,$back) { say "$front$_$back" for <i a u> }; ablaut 'f','lm';
camelia rakudo-moar 13de5d: OUTPUT«film␤falm␤fulm␤»
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«film␤falm␤fulm␤»
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 failed␤FAILED 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 codepoint␤Invalid character for UTF-8 encoding␤␤ in block at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 13de5d: OUTPUT«bad codepoint␤Invalid 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 encoding␤␤current 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 declared␤at /tmp/tmpfile:1␤------> , 2), $(3, 4)); my @i = (1, 1); say @a[|⏏|@i];␤Variable '&prefix:<|>' is not declared␤at…» 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«woof␤yap␤»
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/1E9m9ymY9U␤Missing block␤at /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/tmpfile␤Two terms in a row␤at /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␤␤»