»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:00 Psyche^ joined 00:04 Psyche^_ left 00:06 donaldh left
xenu github.com/rakudo/rakudo/pull/581 00:08
i wonder why nobody ever noticed that it's borken
broken
Hotkeys I was secretly hoping you'd fixed the windows repl xenu 00:09
but I guess that's okay too
xenu what's the problem with repl?
on my current rakudo build you can't execute more than one line, is that what you're talking about? 00:10
Hotkeys yes
xenu good to know that it's not just me 00:11
;)
Hotkeys it broke at 75b2451
actually after that commit it was notexecuting at all
but
somewhere afterwards something made it execute one and then that's it
I never got around to figuring out which one
but I assume the problem hasn't changed 00:12
I've been running a94389e on my windows machines for a little while now
been intending to look into it for almost a week but I haven't 00:13
psch Hotkeys: can you run < ./perl6-m -e'use nqp; my @a = nqp::readlinefh(nqp::getstdout()) xx 2; say @a.perl' > and press enter twice? 00:14
Hotkeys yeah once sec
psch Hotkeys: just curious about the output, maybe the win shells don't always send the same of \r\n and \n
Hotkeys I'm currently building moar-nom but I'll run it when finished 00:15
unless you mean on the old version
psch nah, something beyond 75b2451
Hotkeys alright
psch if win shells are consistent there i'd guess something gets confused about which of \r\n and \n it's waiting for 00:16
probably somewhere in the readlinefh impl
Hotkeys heh
===SORRY!=== Error while compiling -e
Unable to parse expression in single quotes; couldn't find final "'"
at -e:1
------> 'use<HERE><EOL>
expecting any of:
ugexe .out.lines doesn't work on windows period
Hotkeys single quotes
term
psch Hotkeys: well, you have to adjust the quotes :P 00:17
Hotkeys well fine
xenu and s/getsdout/setstdin/ i guess
Hotkeys be tha way :p
xenu crap
* and s/getsdout/getstdin/
another typo, argh 00:18
00:18 jack_ left, mr_ron left
psch xenu: eh, getstdout curiously works locally... but yes, you should be right 00:18
xenu anyway
Hotkeys Reading from stream failed: socket is not connected
in block <unit> at -e:1
oh 00:19
xenu ["\r\n", "\r\n"]
psch right, that makes more sense than it just working as on debian here
Hotkeys you want stdin
psch well, that's good :)
Hotkeys yeah
same as xenu
psch the shell is consistent at least, so it's the readlinefh op that's getting weirded out
Hotkeys anything else I can run to help? 00:20
psch did you try the nqp repl? 00:21
Hotkeys the what now
psch rakudo compiles to nqp, and nqp has its own repl
if you got perl6-m.bat in your path you should also have nqp-m.bat
Hotkeys I do 00:22
it also breaks
psch mhm
Hotkeys I just put in garbage input and got an error but the second time it did same thing as normal repl 00:23
psch in that case it's probably somewhere in MoarVM/src/io/io.c:117-127 :P
Hotkeys which is nothing at all
psch or in how that's used... vOv
00:23 idodod left
psch github.com/MoarVM/MoarVM/blob/mast.../io.c#L117 00:23
could be deadlock too i suppose 00:24
Hotkeys makes sense that it broke when the NQP revision was bumped then
psch hm
did you narrow down which commit after 75b2451 made it work once again? 00:25
Hotkeys I did not
00:25 Zoffix left
Hotkeys it never worked again, it just broke one execution later 00:25
:p
psch made it ((work once) again) ;P 00:26
00:26 xpen joined
Hotkeys fair enough haha 00:26
zengargoyle too clever to work...: %Population{%i<name>:delete} = pop => ::(%CM{%i<type>:delete}).new xx %i<count
>:delete;
too clever to work...: %Population{%i<name>:delete} = pop => ::(%CM{%i<type>:delete}).new xx %i<count>:delete
Hotkeys dang that's ugly
no offense :p
zengargoyle think i forgot some parens or something. :P 00:27
Hotkeys should I figure out where it started working once again? 00:28
psch m: my %a = a => 1; say %a<a>:delete xx 2
camelia rakudo-moar 459bc5: OUTPUT«(1 (Any))␤»
psch lhs of xx gets thunked, which means %i<type> is empty the second time through
Hotkeys: well, that's how we could narrow it down from the rakudo side
Hotkeys alright I'll get to the narrowing 00:29
psch Hotkeys: 'cause i like to assume that the readline_fh logic is fine
Hotkeys I've got 1.5 hours left in lecture should be more than enough time
:p
psch Hotkeys: it doesn't look like there should be something wonky - except if it does deadlock for some reason or other, which you could probably figure out with perl6-gdm-m
assuming that works on win and you know how to attach a different STDIN or somesuch... i'm not really gdb-savvy 00:30
Hotkeys I have no idea to be honest
00:30 xpen left 00:31 yqt left
psch zengargoyle: i think rewriting as < %Population{%i<name>:delete} = pop => do with %i<type>:delete -> $type { ::(%CM{$type}).new xx %i<count>:delete } > or somesuch should work 00:31
AlexDaniel m: say “test”.chars
camelia rakudo-moar 459bc5: OUTPUT«4␤»
Hotkeys I can confirm there are 4 chars there 00:32
AlexDaniel m: say “p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x99􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCD􏿽x95􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCD􏿽x96e􏿽xCD􏿽x8C􏿽xCD􏿽x9B􏿽xCC􏿽x90􏿽xCD􏿽xA8􏿽xCC􏿽x8D􏿽xCD􏿽xAC􏿽xCD􏿽xAE􏿽xCC􏿽x91􏿽xCC􏿽x8A􏿽xCD􏿽x9F􏿽xCC􏿽x95􏿽xCD􏿽x99􏿽xCD􏿽x95􏿽xCC􏿽x96􏿽xCC􏿽xA5􏿽xCC􏿽x9C􏿽xCD􏿽x9A􏿽xCD􏿽x95􏿽xCC􏿽xA5􏿽xCC􏿽xAE􏿽xCC􏿽xB9􏿽xCD􏿽x93􏿽xCC􏿽xA5􏿽xCD􏿽x87􏿽xCC􏿽xAF􏿽xCC􏿽xAB􏿽xCC􏿽xBA􏿽xCC􏿽xAF􏿽xCC􏿽xB9r􏿽xCC􏿽x85􏿽xCD􏿽xAA􏿽xCC􏿽x8C􏿽xCC􏿽x91􏿽xCC􏿽xBE􏿽xCC􏿽x84􏿽xCD􏿽xAC􏿽xCC􏿽x88􏿽xD2􏿽x89􏿽xCC􏿽xA8􏿽xCD􏿽x9C􏿽xCD􏿽xA2􏿽xCC􏿽xA9􏿽xCC􏿽xAC􏿽xCC􏿽xA4􏿽xCC􏿽xAD􏿽xCC􏿽xB0􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCC􏿽xB9􏿽xCC􏿽xA6􏿽xCC􏿽xA9􏿽xCC􏿽xAE􏿽xCC􏿽x9E􏿽xCC􏿽x98􏿽xCC􏿽xB3􏿽xCD􏿽x88􏿽xCC􏿽xA9􏿽xCC􏿽xA0􏿽xCD􏿽x89l􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCD􏿽xA8􏿽xCC􏿽xBD􏿽xCC􏿽x82􏿽xCD􏿽x81􏿽xCC􏿽xA1􏿽xCC􏿽xA3􏿽xCC􏿽xA6􏿽xCC􏿽xB3􏿽xCC􏿽xB9􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCD􏿽x87􏿽xCD􏿽x88􏿽xCD􏿽x95􏿽xCC􏿽xBC􏿽xCC􏿽x99􏿽xCC􏿽xA6􏿽xCC􏿽x9E􏿽xCC􏿽x9D􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCD􏿽x9A􏿽xCC􏿽x996􏿽xCC􏿽x8A􏿽xCD􏿽xA3􏿽xCD􏿽x8C􏿽xCD􏿽x8B􏿽xCD􏿽xA6􏿽xCD􏿽xA3􏿽xD2􏿽x89􏿽xCD􏿽x98􏿽xCC􏿽x9B􏿽xCD􏿽x93􏿽xCD􏿽x94􏿽xCC􏿽xA4􏿽xCC􏿽x9E􏿽xCC􏿽xA4􏿽xCD􏿽x87􏿽xCD􏿽x87􏿽xCC􏿽x97􏿽xCC􏿽xA3􏿽xCC􏿽x96􏿽xCD􏿽x94􏿽xCD􏿽x93􏿽xCC􏿽x97􏿽xCC􏿽x97􏿽xCD􏿽x93􏿽xE2􏿽x80􏿽x9D.chars
camelia rakudo-moar 459bc5: OUTPUT«5␤»
AlexDaniel wow
psch .u p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x99􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCD􏿽x95􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCD􏿽x96 00:33
yoleaux U+0070 LATIN SMALL LETTER P [Ll] (p)
zengargoyle y ($name, $type, $count) = %i<name type count>:delete; %Population{$name}<pop> = ::(%CM{$type}).new xx $count; %Population{%i.keys} = %i.values;
yoleaux U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
U+0304 COMBINING MACRON [Mn] (◌̄)
psch hm, looks like there's a few more in there, actually...
m: say uniname "p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x99􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCD􏿽x95􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCD􏿽x96"
camelia rakudo-moar 459bc5: OUTPUT«LATIN SMALL LETTER P␤»
zengargoyle ^^ what i ended up with... kept getting Unexpected named parameter 'thunked' passed messages trying to :delete on the fly 00:34
psch m: say "p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x99􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCD􏿽x95􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCD􏿽x96".ords.elems
camelia rakudo-moar 459bc5: OUTPUT«26␤»
TimToady m: say uninames "p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2"
camelia rakudo-moar 459bc5: OUTPUT«(LATIN SMALL LETTER P COMBINING RETROFLEX HOOK BELOW COMBINING BREVE COMBINING MACRON COMBINING FERMATA COMBINING ZIGZAG ABOVE COMBINING ACUTE ACCENT COMBINING NOT TILDE ABOVE COMBINING DOUBLE ACUTE ACCENT COMBINING LATIN SMALL LETTER A COMBINING DOUBLE RI…»
00:34 [particle] joined
TimToady m: .say for uninames "p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2" 00:34
camelia rakudo-moar 459bc5: OUTPUT«LATIN SMALL LETTER P␤COMBINING RETROFLEX HOOK BELOW␤COMBINING BREVE␤COMBINING MACRON␤COMBINING FERMATA␤COMBINING ZIGZAG ABOVE␤COMBINING ACUTE ACCENT␤COMBINING NOT TILDE ABOVE␤COMBINING DOUBLE ACUTE ACCENT␤COMBINING LATIN SMALL LETTER A␤…»
Hotkeys dang
that's quite a few things
psch that's about all combinings there are, isn't it..? 00:35
Skarsnik lol
AlexDaniel psch: yeah pretty much
psch: not all of them though, as far as I can see
psch m: say 6 * 16
camelia rakudo-moar 459bc5: OUTPUT«96␤»
psch well, - 1 i suppose, GCJ doesn't count 00:36
*CGJ
TimToady there are 330 chars with COMBINING in the name
AlexDaniel … what if you use all of them?
Hotkeys you get zalgo text
psch ...right, extended, supplement, * for symbols, half marks
and that's assuming the wikipedia article is up to date 00:37
00:37 Skarsnik left
AlexDaniel hm, how to unzalgo it? 00:37
Hotkeys idk 00:38
first character was latin small letter p
I'm not a character expert but assuming that comes first always
just pull that out of the pile
AlexDaniel I mean, how can I get rid of combining characters?
TimToady m: say "p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2".ord.chr 00:39
camelia rakudo-moar 459bc5: OUTPUT«p␤»
Hotkeys oh nice
that's concise
i just rhymed
something that rhymes with rhyme
TimToady climbed? primed? 00:40
chimed, dimed
flamed if you're aussie...
00:41 Actualeyes joined
Hotkeys I can think of words that rhyme with rhyme just none that I could be bothered to use in a sentence that fit in 00:41
TimToady well, you weren't being timed 00:42
Hotkeys I'm getting close to figuring out the partial unbreaking commit 00:43
AlexDaniel m: say “p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x99􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCD􏿽x95􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCD􏿽x96e􏿽xCD􏿽x8C􏿽xCD􏿽x9B􏿽xCC􏿽x90􏿽xCD􏿽xA8􏿽xCC􏿽x8D􏿽xCD􏿽xAC􏿽xCD􏿽xAE􏿽xCC􏿽x91􏿽xCC􏿽x8A􏿽xCD􏿽x9F􏿽xCC􏿽x95􏿽xCD􏿽x99􏿽xCD􏿽x95􏿽xCC􏿽x96􏿽xCC􏿽xA5􏿽xCC􏿽x9C􏿽xCD􏿽x9A􏿽xCD􏿽x95􏿽xCC􏿽xA5􏿽xCC􏿽xAE􏿽xCC􏿽xB9􏿽xCD􏿽x93􏿽xCC􏿽xA5􏿽xCD􏿽x87􏿽xCC􏿽xAF􏿽xCC􏿽xAB􏿽xCC􏿽xBA􏿽xCC􏿽xAF􏿽xCC􏿽xB9r􏿽xCC􏿽x85􏿽xCD􏿽xAA􏿽xCC􏿽x8C􏿽xCC􏿽x91􏿽xCC􏿽xBE􏿽xCC􏿽x84􏿽xCD􏿽xAC􏿽xCC􏿽x88􏿽xD2􏿽x89􏿽xCC􏿽xA8􏿽xCD􏿽x9C􏿽xCD􏿽xA2􏿽xCC􏿽xA9􏿽xCC􏿽xAC􏿽xCC􏿽xA4􏿽xCC􏿽xAD􏿽xCC􏿽xB0􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCC􏿽xB9􏿽xCC􏿽xA6􏿽xCC􏿽xA9􏿽xCC􏿽xAE􏿽xCC􏿽x9E􏿽xCC􏿽x98􏿽xCC􏿽xB3􏿽xCD􏿽x88􏿽xCC􏿽xA9􏿽xCC􏿽xA0􏿽xCD􏿽x89l􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCD􏿽xA8􏿽xCC􏿽xBD􏿽xCC􏿽x82􏿽xCD􏿽x81􏿽xCC􏿽xA1􏿽xCC􏿽xA3􏿽xCC􏿽xA6􏿽xCC􏿽xB3􏿽xCC􏿽xB9􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCD􏿽x87􏿽xCD􏿽x88􏿽xCD􏿽x95􏿽xCC􏿽xBC􏿽xCC􏿽x99􏿽xCC􏿽xA6􏿽xCC􏿽x9E􏿽xCC􏿽x9D􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCD􏿽x9A􏿽xCC􏿽x996􏿽xCC􏿽x8A􏿽xCD􏿽xA3􏿽xCD􏿽x8C􏿽xCD􏿽x8B􏿽xCD􏿽xA6􏿽xCD􏿽xA3􏿽xD2􏿽x89􏿽xCD􏿽x98􏿽xCC􏿽x9B􏿽xCD􏿽x93􏿽xCD􏿽x94􏿽xCC􏿽xA4􏿽xCC􏿽x9E􏿽xCC􏿽xA4􏿽xCD􏿽x87􏿽xCD􏿽x87􏿽xCC􏿽x97􏿽xCC􏿽xA3􏿽xCC􏿽x96􏿽xCD􏿽x94􏿽xCD􏿽x93􏿽xCC􏿽x97􏿽xCC􏿽x97􏿽xCD􏿽x93􏿽xE2􏿽x80􏿽x9D.comb.map(*.ord.chr).join
camelia rakudo-moar 459bc5: OUTPUT«perḷ6␤»
Hotkeys oo
almost
AlexDaniel hmmm what's that?
psch m: say uninames "ḷ"
camelia rakudo-moar 459bc5: OUTPUT«(LATIN SMALL LETTER L WITH DOT BELOW)␤»
Hotkeys ah
psch m: say ords "ḷ" 00:44
camelia rakudo-moar 459bc5: OUTPUT«(7735)␤»
Hotkeys it's a character on its own
AlexDaniel where did it get it?
psch m: say ords "\c[LATIN SMALL LETTER L]\c[COMBINING DOT BELOW]"
camelia rakudo-moar 459bc5: OUTPUT«(7735)␤»
psch that might be a bug
m: say uninames "\c[LATIN SMALL LETTER L]\c[COMBINING DOT BELOW]"
camelia rakudo-moar 459bc5: OUTPUT«(LATIN SMALL LETTER L WITH DOT BELOW)␤»
psch i'm not sure though, maybe that's exactly what NFG is supposed to do 00:45
Hotkeys m: say for uninames "l􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCD􏿽xA8􏿽xCC􏿽xBD􏿽xCC􏿽x82􏿽xCD􏿽x81􏿽xCC􏿽xA1􏿽xCC􏿽xA3􏿽xCC􏿽xA6􏿽xCC􏿽xB3􏿽xCC􏿽xB9􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCD􏿽x87􏿽xCD􏿽x88􏿽xCD􏿽x95􏿽xCC􏿽xBC􏿽xCC􏿽x99􏿽xCC􏿽xA6􏿽xCC􏿽x9E􏿽xCC􏿽x9D􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCD􏿽x9A􏿽xCC􏿽x99"
camelia rakudo-moar 459bc5: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AUumBVk1A_␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at /tmp/AUumBVk1A_:1␤------> 3…»
Hotkeys oops
m: .say for uninames "l􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCD􏿽xA8􏿽xCC􏿽xBD􏿽xCC􏿽x82􏿽xCD􏿽x81􏿽xCC􏿽xA1􏿽xCC􏿽xA3􏿽xCC􏿽xA6􏿽xCC􏿽xB3􏿽xCC􏿽xB9􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCD􏿽x87􏿽xCD􏿽x88􏿽xCD􏿽x95􏿽xCC􏿽xBC􏿽xCC􏿽x99􏿽xCC􏿽xA6􏿽xCC􏿽x9E􏿽xCC􏿽x9D􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCD􏿽x9A􏿽xCC􏿽x99"
camelia rakudo-moar 459bc5: OUTPUT«LATIN SMALL LETTER L WITH DOT BELOW␤COMBINING PALATALIZED HOOK BELOW␤COMBINING COMMA BELOW␤COMBINING DOUBLE LOW LINE␤COMBINING RIGHT HALF RING BELOW␤COMBINING SQUARE BELOW␤COMBINING BRIDGE BELOW␤COMBINING EQUALS SIGN BELOW␤COMBINING DOUBLE …»
TimToady NFG is based on NFC, so you might need to throw an NFD in there somewhere to get where you're going 00:46
00:46 Ven_ joined
Hotkeys so many acronyms 00:46
er
TimToady SMA? 00:47
Hotkeys initialisms
psch m: say ords "\c[LATIN SMALL LETTER L]\c[COMBINING DOT BELOW]".NFD
camelia rakudo-moar 459bc5: OUTPUT«Cannot call ords(NFD); none of these signatures match:␤ (Cool $s)␤ (Str $s --> Seq:D)␤ in block <unit> at /tmp/Q2lkEVbsbq:1␤␤»
psch m: say "\c[LATIN SMALL LETTER L]\c[COMBINING DOT BELOW]".NFD.perl
camelia rakudo-moar 459bc5: OUTPUT«Uni.new(0x006c, 0x0323).NFD␤»
psch TimToady++
AlexDaniel yeah, that's just normalization, not a bug
TimToady m: say “p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2e͌͛̐ͨ̍ͬͮ̑̊͟r̅ͪ̌̑̾̄ͬ̈҉̨l􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCD􏿽xA8􏿽xCC􏿽xBD􏿽xCC􏿽x82􏿽xCD􏿽x81􏿽xCC􏿽xA1􏿽xCC􏿽xA3􏿽xCC􏿽xA6􏿽xCC􏿽xB36􏿽xCC􏿽x8A􏿽xCD􏿽xA3􏿽xCD􏿽x8C􏿽xCD􏿽x8B􏿽xCD􏿽xA6􏿽xCD􏿽xA3􏿽xD2􏿽x89􏿽xCD􏿽x98􏿽xCC􏿽x9B􏿽xCD􏿽x93􏿽xE2􏿽x80􏿽x9D.comb.map(*.NFD[0].chr).join 00:49
camelia rakudo-moar 459bc5: OUTPUT«perl6␤»
AlexDaniel m: say “p􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCD􏿽x92􏿽xCD􏿽x9B􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽xA2􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x99􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCD􏿽x95􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCD􏿽x96e􏿽xCD􏿽x8C􏿽xCD􏿽x9B􏿽xCC􏿽x90􏿽xCD􏿽xA8􏿽xCC􏿽x8D􏿽xCD􏿽xAC􏿽xCD􏿽xAE􏿽xCC􏿽x91􏿽xCC􏿽x8A􏿽xCD􏿽x9F􏿽xCC􏿽x95􏿽xCD􏿽x99􏿽xCD􏿽x95􏿽xCC􏿽x96􏿽xCC􏿽xA5􏿽xCC􏿽x9C􏿽xCD􏿽x9A􏿽xCD􏿽x95􏿽xCC􏿽xA5􏿽xCC􏿽xAE􏿽xCC􏿽xB9􏿽xCD􏿽x93􏿽xCC􏿽xA5􏿽xCD􏿽x87􏿽xCC􏿽xAF􏿽xCC􏿽xAB􏿽xCC􏿽xBA􏿽xCC􏿽xAF􏿽xCC􏿽xB9r􏿽xCC􏿽x85􏿽xCD􏿽xAA􏿽xCC􏿽x8C􏿽xCC􏿽x91􏿽xCC􏿽xBE􏿽xCC􏿽x84􏿽xCD􏿽xAC􏿽xCC􏿽x88􏿽xD2􏿽x89􏿽xCC􏿽xA8􏿽xCD􏿽x9C􏿽xCD􏿽xA2􏿽xCC􏿽xA9􏿽xCC􏿽xAC􏿽xCC􏿽xA4􏿽xCC􏿽xAD􏿽xCC􏿽xB0􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCC􏿽xB9􏿽xCC􏿽xA6􏿽xCC􏿽xA9􏿽xCC􏿽xAE􏿽xCC􏿽x9E􏿽xCC􏿽x98􏿽xCC􏿽xB3􏿽xCD􏿽x88􏿽xCC􏿽xA9􏿽xCC􏿽xA0􏿽xCD􏿽x89l􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCD􏿽xA8􏿽xCC􏿽xBD􏿽xCC􏿽x82􏿽xCD􏿽x81􏿽xCC􏿽xA1􏿽xCC􏿽xA3􏿽xCC􏿽xA6􏿽xCC􏿽xB3􏿽xCC􏿽xB9􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCD􏿽x87􏿽xCD􏿽x88􏿽xCD􏿽x95􏿽xCC􏿽xBC􏿽xCC􏿽x99􏿽xCC􏿽xA6􏿽xCC􏿽x9E􏿽xCC􏿽x9D􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCD􏿽x9A􏿽xCC􏿽x996􏿽xCC􏿽x8A􏿽xCD􏿽xA3􏿽xCD􏿽x8C􏿽xCD􏿽x8B􏿽xCD􏿽xA6􏿽xCD􏿽xA3􏿽xD2􏿽x89􏿽xCD􏿽x98􏿽xCC􏿽x9B􏿽xCD􏿽x93􏿽xCD􏿽x94􏿽xCC􏿽xA4􏿽xCC􏿽x9E􏿽xCC􏿽xA4􏿽xCD􏿽x87􏿽xCD􏿽x87􏿽xCC􏿽x97􏿽xCC􏿽xA3􏿽xCC􏿽x96􏿽xCD􏿽x94􏿽xCD􏿽x93􏿽xCC􏿽x97􏿽xCC􏿽x97􏿽xCD􏿽x93􏿽xE2􏿽x80􏿽x9D.comb.map(*.NFD[0].chr).join 00:50
camelia rakudo-moar 459bc5: OUTPUT«perl6␤»
TimToady er, I just said that? 00:51
AlexDaniel TimToady: not according to what I see
colomon Man, that text really messes up my IRC client
psch irclog.perlgeek.de/perl6/2015-11-12#i_11522549 00:52
irclog too
Hotkeys lol
psch looks fine in my putty window here :P
AlexDaniel psch: irclog looks fine here
Hotkeys hexchat has no issue with it
psch and it's not even just blocks
Hotkeys it looks fine it's just full height
AlexDaniel somehow in emacs I see every character separately…
that's why I noticed the difference
Hotkeys instead of cutting off the tops of the chars for readability
and bottoms 00:53
AlexDaniel colomon: “UTF-8 is our friend!”
00:53 khw left, Ven_ left
psch imgur.com/x7mC9Uq somewhat crunched... 00:53
AlexDaniel TimToady: even on that screenshot ^ you can see that these strings are different 00:54
TimToady ayup
colomon www.harmonyware.com/pictures/troublesome.png
AlexDaniel colomon: now that is really messed up :) 00:55
psch that matches what i see in my browser on the clog
00:55 telex left
psch although it's a bit less here 00:55
AlexDaniel ERC in emacs: files.progarm.org/2015-11-12-02553..._scrot.png
TimToady colomon: if it would just increase the vspacing there, that'd be nice
00:56 telex joined, mr_ron joined
dalek kudo-star-daily: 5c8594a | coke++ | log/ (5 files):
today (automated commit)
00:56
AlexDaniel Hm, perhaps it is not emacs to blame, but Terminus font… 00:57
though the same thing looks just fine in my terminal 00:58
01:00 BenGoldberg joined 01:04 cbk joined 01:05 pippo left
Hotkeys alright 01:10
one more build and I'll know which commit made it break after one go 01:11
psch: cc4d72c4abb243f44500a7c435e2e9946325f3bd 01:20
is the commit that made it work once again
github.com/rakudo/rakudo/commit/cc...946325f3bd 01:21
01:21 awph joined 01:22 awph left 01:24 perlawhirl left, TEttinger joined
psch Hotkeys: can you try < say "hi"; Rakudo::Internals.SET_LINE_ENDING_ON_HANDLE(nqp::getstdin(), "\r\n") > in the repl as one line? 01:28
that's still just following hunches, fwiw, no idea how we'd fix that
01:29 xpen joined
psch but i'm guessing that the stdin in the nqp-ish level for the repl forgets which line ending to look for 01:29
(in some way or other... vOv)
Hotkeys very clever 01:32
i.imgur.com/B5JiVdN.png
after any one of those 01:33
I can run anything once
and then the next thing breaks as usual
i.imgur.com/oONdZKM.png 01:34
01:34 xpen left
AlexDaniel m: say 'A' ~ [~] ((0..0x1FFFF) ==> grep { .uniname ~~ m/COMBINING/ } ==> map { .chr }) 01:35
camelia rakudo-moar 459bc5: OUTPUT«…»
AlexDaniel uhhh
TimToady: actually, this code says that there are exactly 400 combiners out there 01:36
not 330 as you said earlier
m: say ('A' ~ [~] ((0..0x1FFFF) ==> grep { .uniname ~~ m/COMBINING/ } ==> map { .chr })).chars; 01:37
psch Hotkeys: ooc, do you have Linenoise installed or not?
TimToady maybe they've added some since my Perl 5 was made
camelia rakudo-moar 459bc5: OUTPUT«1␤»
Hotkeys no but I can get it
psch just curious if that changes something 01:38
raiph How come the REPL isn't saying "nqp::operations has been deprecated for non-CORE code" etc in Hotkey's screenshot?
AlexDaniel m: say +((0..0x1FFFF) ==> grep { .uniname ~~ m/COMBINING/ });
Hotkeys I told it it use nqp
camelia rakudo-moar 459bc5: OUTPUT«401␤» 01:39
Hotkeys if I didn't do 'use nqp;' every line
it yelled at me
AlexDaniel So the output is: À̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀͂͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ҃҄҅҆҇͘͜͟͢͝͞͠͡҈҉߲߫߬߭߮߯߰߱߳ఀ᩿᪵᪶᪷᪸᪹᪺᪽፝፞፟᪰᪱᪲᪳᪴᪻᪼᪾⃒⃓⃘⃙⃚᷐᷎᭬᷂᷊᷏᷽᷿᭫᭭᭮᭯᭰᭱᭲᭳᷀᷁᷃᷄᷅᷆᷇᷈᷉᷋᷌᷑᷒ᷓᷔᷕᷖ􏿽xE1􏿽xB7 01:40
see! One bug discovered!
Hotkeys I'll try luarocks when I get home psch
AlexDaniel poor synbot6 though…
Hotkeys there's less than 10 min left in lecture
i've gotta install luarocks for the windows version of linennoise 01:41
psch Hotkeys: the module?
raiph AlexDaniel: those combiners are stacked 10 lines high on my irc client :)
AlexDaniel raiph: screenshot?
psch Hotkeys: i'm talking about github.com/hoelzro/p6-linenoise/
Hotkeys LuaRocks the package manager for lua
oh 01:42
whoops
AlexDaniel raiph: I don't think that I've ever seen all 400 combiners together
Hotkeys do i need linenoise as well
or does this include it all
AlexDaniel well, synbot6 didn't as well
Hotkeys as in the antirez repo stuff
psch Hotkeys: moar already brings linenoise
Hotkeys oh
fancy
can I just panda install this 01:43
AlexDaniel these are not rendered as combiners on clog though. I wonder why
psch Hotkeys: yeah
Hotkeys er
apparently I don't have panda built on my laptop
so
I'll do this when I get home
I can't remember how long it takes to build panda
psch well, i doubt it actually changes anything tbh
Hotkeys worth a shot 01:44
psch the Linenoise module just brings things like history and (very basic) tab completion
afair
Hotkeys ah
cbk Hello, I made my first Perl6 Module! Can someone please review and add to the echo system? It is here on git hub: github.com/cbk/WebService-HazIP 01:45
raiph AlexDaniel: not sure if this'll work but: drive.google.com/drive/folders/0Bx...010dU9fTFk 01:48
AlexDaniel raiph: holy…
psch cbk: doc.perl6.org/language/modules#Dist...ng_Modules describes how to get your module added
Hotkeys lmao 01:49
hexchat just stops it from going over normal character height
psch hah, that's neat
AlexDaniel I see broken encoding here: irclog.perlgeek.de/perl6/2015-11-12#i_11522716 01:50
at first I thought that I pasted it incorrectly…
01:50 Ven_ joined, srvsh joined
Hotkeys I lied 01:50
hexchat does this i.imgur.com/G9pfUiR.png
psch imgur.com/Cc6JCKT
that looks pretty similar to what i see in the clog 01:51
AlexDaniel weird!
01:51 herby_ joined
psch i like how the first char in putty is almost a white filled block :P 01:51
Hotkeys lol
herby_ Good evening, everyone!
AlexDaniel anyway, who is going to revive synbot6 now?
psch maybe a different ordering could get a fully filled white block
AlexDaniel I'm really sorry for doing that though…
psch AlexDaniel: i have no idea where it lives, and even if i don't think i have access
Hotkeys haha
okay brb going home 01:52
znc will catch me up when I get back
AlexDaniel actually, I felt like it could crash at least one irc client… But nope, just a bot :) 01:53
raiph hi herby_
AlexDaniel github.com/tadzik/synopsebot/blob/...opsebot.p6 – interesting 01:54
psch i'm gonna get some rest o/
AlexDaniel I use Net::IRC::Bot too, but my bot eats it just fine
so where's the bug? 01:55
01:57 Ven_ left
herby_ is there a recommended place to paste code for questions? 01:59
AlexDaniel herby_: github gists
herby_: in fact, camelia can run them 02:00
herby_: though it is a good idea to golf it down to something that fits into one m: message
herby_ Well, I guess its more of a question. Say I have a string: akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777| 02:01
what is a good way to say: if ACCOUNT:$variable is found, then capture ACCESS:() and STAFF:() 02:02
essentially, if a specific account number is found, then capture the access and staff
and print all 3 out
i'm rewriting a perl 5 script, and its extremely clunky 02:03
02:03 khw joined
dalek osystem: 5f50e71 | cbk++ | META.list:
Update META.list

To include cbk/WebService-HazIP Perl6 Module.
02:06
AlexDaniel herby_: Not sure what would be the easiest way. I use this sometimes: for $text ~~ m:global􏿽xE2􏿽x8C􏿽xA9 $<name>=<:Lu>+ ':' $<value>=\d+ 􏿽xE2􏿽x8C􏿽xAA { }
raiph m: my $var = 123; say "akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777| ".match: / 'ACCOUNT:' $var '| ' \w*? 'ACCESS:' (\d\d\d) '| ' \w*? 'STAFF:' (\d\d\d) /
camelia rakudo-moar 459bc5: OUTPUT«「ACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777」␤ 0 => 「999」␤ 1 => 「777」␤»
AlexDaniel m: for 'akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777' ~~ m:global􏿽xE2􏿽x8C􏿽xA9 $<name>=<:Lu>+ ':' $<value>=\d+ 􏿽xE2􏿽x8C􏿽xAA { say $<key> ~ ' – ' ~ $<value> } 02:08
camelia rakudo-moar 459bc5: OUTPUT«Type List does not support associative indexing.␤ in block <unit> at /tmp/xOLhsWa1GP:1␤␤Actually thrown at:␤ in block <unit> at /tmp/xOLhsWa1GP:1␤␤»
herby_ whew, that's a lot to dig into. thanks! :) 02:09
AlexDaniel m: for 'akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777' ~~ m:global􏿽xE2􏿽x8C􏿽xA9 $<name>=<:Lu>+ ':' $<value>=\d+ 􏿽xE2􏿽x8C􏿽xAA { say $_<key> ~ ' – ' ~ $_<value> } 02:11
camelia rakudo-moar 459bc5: OUTPUT«Use of Nil in string context in block at /tmp/_PNCG6CaJF:1␤ – 123␤Use of Nil in string context in block at /tmp/_PNCG6CaJF:1␤ – 999␤Use of Nil in string context in block at /tmp/_PNCG6CaJF:1␤ – 777␤»
AlexDaniel m: for 'akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777' ~~ m:global􏿽xE2􏿽x8C􏿽xA9 $<name>=<:Lu>+ ':' $<value>=\d+ 􏿽xE2􏿽x8C􏿽xAA { say $_<name> ~ ' – ' ~ $_<value> }
camelia rakudo-moar 459bc5: OUTPUT«ACCOUNT – 123␤ACCESS – 999␤STAFF – 777␤»
AlexDaniel yeah!
herby_ nice! 02:12
raiph AlexDaniel++
AlexDaniel herby_: though it is going to iterate them one by one. Whether you need that or not, well, it depends
herby_ let me see what I can do! What does that $<name>=<:Lu>+ do? 02:14
02:14 dayangkun joined
AlexDaniel herby_: you can simplify it to (<[A-Z]>) if you want 02:14
herby_: $<name> is just a named capture (so that you don't have to use numbers like $0)
herby_: <:Lu> is any unicode uppercase letter 02:15
herby_ ah ok
AlexDaniel herby_: these 􏿽xE2􏿽x8C􏿽xA9 􏿽xE2􏿽x8C􏿽xAA brackets are just for readability. You can use / / or anything else if you wish 02:16
diakopter rotfl
Hotkeys y'all are too active for znc to catch me up on 02:23
02:24 Sqirrel left
AlexDaniel herby_: I know that this could be a bit too much, but 02:25
m: my %a = gather for 'akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777' ~~ m:global􏿽xE2􏿽x8C􏿽xA9 $<name>=<:Lu>+ ':' $<value>=\d+ 􏿽xE2􏿽x8C􏿽xAA { take $_<name> => $_<value> }; say %a<ACCOUNT>
camelia rakudo-moar 459bc5: OUTPUT«「123」␤»
Hotkeys those are some interesting brackets AlexDaniel 02:26
i need those on my keyboard
AlexDaniel Hotkeys: Yeah. I have 「」 􏿽xE2􏿽x8C􏿽xA9􏿽xE2􏿽x8C􏿽xAA “” ‘’ on my keyboard
and a bunch of other stuff 02:27
Hotkeys fancy
AlexDaniel arrows, non-breaking space…
Hotkeys where can I get a fancy keyboard like this
02:27 mrsolo joined
AlexDaniel Hotkeys: well, if you are using GNU/Linux then you have to create your own xkb layout 02:27
Hotkeys oh oops 02:28
I was thinking physical keyboard
AlexDaniel nah, why should physical keyboard be associated with the keyboard layout? 02:29
hoelzro timotimo: I probably set that video up as non-public =/
Hotkeys not sure 02:30
why not
:p
hoelzro oh, I didn't; I just don't have my screename on there
02:30 xpen joined
hoelzro if you search for "Rob Hoelz", it comes up 02:30
Hotkeys: did you have any problems with the Linenoise module?
Hotkeys oh
I didn't fiddle with that stuff yet
sec 02:31
AlexDaniel herby_: there's a simpler way though (without gather/take) 02:32
m: my %a = ('akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777' ~~ m:global􏿽xE2􏿽x8C􏿽xA9 $<name>=<:Lu>+ ':' $<value>=\d+ 􏿽xE2􏿽x8C􏿽xAA).map: { $_<name> => $_<value> }; say %a<ACCOUNT>
camelia rakudo-moar 459bc5: OUTPUT«「123」␤»
Hotkeys apparently I don't have panda on my desktop
so
gonna build that and plat a round of rocket league
02:34 llfourn left, xpen left
herby_ m: if $test.lc eq 'e' && index("123 456, "123") {say "yep"} else {say "no"}; 02:38
camelia rakudo-moar 459bc5: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xJ3iMzCkrk␤Variable '$test' is not declared␤at /tmp/xJ3iMzCkrk:1␤------> 3if 7⏏5$test.lc eq 'e' && index("123 456, "123"␤»
herby_ m: if 'e' eq 'e' && index("123 456, "123") {say "yep"} else {say "no"}; 02:39
camelia rakudo-moar 459bc5: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LkqryN2Cz7␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/LkqryN2Cz7:1␤------> 3if 'e' eq 'e' && index("123 456, "7⏏05123") {say "yep"} else {say "no"};␤ expectin…»
herby_ m: if 'e' eq 'e' && index("123 456", "123") {say "yep"} else {say "no"};
camelia rakudo-moar 459bc5: OUTPUT«no␤»
herby_ this is erroring out in my script: if $test.lc eq 'e' && index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"}; 02:40
Cannot call index....
ugexe in your script or 1 liner? 02:41
herby_ short script, i assign $test and $num
then call that line
ugexe ah, thought maybe it was the quotes for -e 02:42
herby_ is index($string, "ACCESS_ID:$num") legit?
02:43 labster joined
herby_ if $string = "ACCESS_ID:123" 02:43
AlexDaniel m: 'akjfdkajACCOUNT:123| nadnfkaACCESS:999| jiajdfaSTAFF:777' ~~ m􏿽xE2􏿽x8C􏿽xA9 [$<name>=<:Lu>+ ':' $<value>=\d+]+ % .*? 􏿽xE2􏿽x8C􏿽xAA; say $/<name>[0] ~ ' – ' ~ $/<value>[0]; 02:44
camelia rakudo-moar 459bc5: OUTPUT«ACCOUNT – 123␤»
AlexDaniel that's not as useful as a hash but it gives you one full match object 02:45
herby_ thanks! 02:46
02:47 kaare_ joined
herby_ so this is erroring out too: if index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"}; 02:49
m: my $string = "ACCESS_ID: 123"; my $num = "123"; say $num;
camelia rakudo-moar 459bc5: OUTPUT«123␤»
herby_ m: my $string = "ACCESS_ID: 123"; my $num = "123"; if index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"}; 02:50
camelia rakudo-moar 459bc5: OUTPUT«no␤»
herby_ hmm
thats weird
m: my $string = "ACCESS_ID:123"; my $num = "123"; if index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"};
camelia rakudo-moar 459bc5: OUTPUT«no␤»
mst you have a space in the string but not in the thing you're testing it against
oh. ok. the second one, no idea.
AlexDaniel m: my $string = 'hmm ACCESS_ID:5 foo'; my $num = 5; if index($string, "ACCESS_ID:$num") { say "yep" } else { say "no" } 02:51
camelia rakudo-moar 459bc5: OUTPUT«yep␤»
AlexDaniel what's the difference?
right! 02:52
mst oooh, of course, 0
AlexDaniel 0 in bool context
mst versus undef for fail
ShimmerFairy m: my $string = "ACCESS_ID:123"; my $num = "123"; with index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"};
camelia rakudo-moar 459bc5: OUTPUT«yep␤»
ShimmerFairy m: my $string = "ACCESS_ID: 123"; my $num = "123"; with index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"};
camelia rakudo-moar 459bc5: OUTPUT«no␤»
herby_ i'm confused
mst if index($string, "..."
if index($string, "...").defined ?
AlexDaniel mst: that works 02:53
ShimmerFairy mst: yes, 'with' tests for defined-ness (in fact, it came about precisely because of Str.index and friend ☺)
AlexDaniel .u ☺
yoleaux U+263A WHITE SMILING FACE [So] (☺)
herby_ i'm a big dummy cause I'm not seeing why my example failed
ShimmerFairy 'with' ~~ 'if', 'without' ~~ 'unless', 'orwith' ~~ 'elsif' :)
02:53 BenGoldberg left
AlexDaniel herby_: your strings starts with what you are searching for 02:54
ShimmerFairy herby_: your example found the substring at index 0, which boolifies to False
herby_ ahh
AlexDaniel herby_: therefore it will return 0 as the index
herby_ ahhhhhh
AlexDaniel 0 is falsey!
02:54 nys left
herby_ m: my $string = "ACCESS_ID:123"; my $num = "123"; with index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"}; 02:54
camelia rakudo-moar 459bc5: OUTPUT«yep␤»
herby_ sweet
02:55 raiph left
mst ShimmerFairy: that's ... hm. I'd've expected 'with' to be a thing for setting $_ 02:55
ShimmerFairy mst: it sets $_ too, incidentally :)
m: with 42 { say $_ }
camelia rakudo-moar 459bc5: OUTPUT«42␤»
02:55 Ven_ joined
mst ah well 02:55
that's ok then :)( 02:56
ShimmerFairy mst: I guess you're thinking of given $stuff { } , which just sets $_ to $stuff
mst yeah. I think with reads nicer
AlexDaniel is it documented on doc.perl6? 02:57
ShimmerFairy well, I suppose it is the same thing, as long as it isn't with Any { ... } or something like that :)
AlexDaniel I mean 「with」
hmmm I wonder if it has to say “method, method, method, method, method, method, method, method, method, method, method” doc.perl6.org/routine-method.html 02:58
ShimmerFairy docs.perl6.org/language/control#wit...2C_without 02:59
AlexDaniel ShimmerFairy: nice!
herby_ m: with index("123", "abc") {say "yep"} else {say "no"}; 03:00
camelia rakudo-moar 459bc5: OUTPUT«no␤»
AlexDaniel
.oO( “orwith”… why not “elsewith”? )
herby_ m: with index("123", "abc") && 'e' eq 'e' {say "yep"} else {say "no"}; 03:01
camelia rakudo-moar 459bc5: OUTPUT«no␤»
herby_ m: with index("123", "123") && 'e' eq 'e' {say "yep"} else {say "no"};
camelia rakudo-moar 459bc5: OUTPUT«yep␤»
03:01 doublec left 03:02 Ven_ left
herby_ what is the difference between 'if' and 'when'? 03:02
03:02 BenGoldberg joined
herby_ or rather, when should I should which 03:03
should I use which
03:03 doublec joined
AlexDaniel herby_: it seems like “when” should be used in “given” 03:04
but not only
ShimmerFairy 'with' is for testing whether objects are defined, it's equivalent to if $testing-this.defined { ... }
m: say 42.defined; say 0.defined; say Int.defined;
camelia rakudo-moar 459bc5: OUTPUT«True␤True␤False␤»
03:05 Actualeyes left
AlexDaniel is not sure what the question was 03:05
herby_ just not sure when I should be using what
when in doubt, should i just use 'if'?
ShimmerFairy yeah, I'd recommend using 'if' to be safe, just make sure to keep mindful of 0 being considered false :) 03:07
herby_ yep, i'll remember that lesson :)
ShimmerFairy m: say index("0123", "123"); say index("123", "abc")
camelia rakudo-moar 459bc5: OUTPUT«1␤Nil␤»
AlexDaniel herby_: when in doubt, think about about your condition. Are you testing for definedness or truthness?
herby_ at this stage in my 'learning to program', i'm not entirely sure i understand the difference 03:08
i understand truth, false, 0, 1
true rather
AlexDaniel herby_: if you were implementing 「index」, what would you return if no match was found? 03:09
herby_ hmm 03:10
without looking, i'd assume a 0 or false
but since i now know its returning the index
guess that's not correct
AlexDaniel herby_: well, you can't really return False because some code might be expecting Int 03:11
herby_: so it will blow up
m: Int $x = False
camelia rakudo-moar 459bc5: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3QvAuhGYTO␤Two terms in a row␤at /tmp/3QvAuhGYTO:1␤------> 3Int7⏏5 $x = False␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier␤ …»
AlexDaniel m: my Int $x = False
camelia rakudo-moar 459bc5: OUTPUT«Type check failed in assignment to $x; expected Int but got Bool␤ in block <unit> at /tmp/22w7cfptN5:1␤␤»
AlexDaniel herby_: “expected Int but got Bool”
so we can't return False 03:12
we also can't return 0 because it is a valid index
so you wont know whether nothing was found or it is just at the beginning of your string
herby_: one possibility is to return negative numbers… but that's just ugly, in my opinion 03:13
herby_: and although it might work in our case with 「index」, it wont work with other routines that return negative values normally as well
herby_ ok 03:14
AlexDaniel so we return undef, null, nil, whatever the name is in your current language
03:15 srvsh left
herby_ ok 03:15
that makes sense, thank you 03:17
03:21 kid51 left 03:30 Khisanth joined 03:36 skids left 03:38 kaare_ left 03:41 srvsh joined
herby_ m: my $string = "ACCESS_ID: 123"; my $num = "123"; with index($string, "ACCESS_ID:$num") {say "yep"} else {say "no"}; 03:43
camelia rakudo-moar 459bc5: OUTPUT«no␤»
herby_ hmm. that line still fails in the script 03:44
ShimmerFairy it's because you need to write the match string as "ACCESS_ID: $num" :) 03:45
herby_ wow, I need to go to bed. I'm losing it :) 03:47
thanks for the help everyone, have a good night!
now it works!
03:48 herby_ left 03:49 xpen joined 03:59 Ven_ joined 04:01 mr_ron left 04:04 raiph joined 04:05 sprocket left, Ven_ left 04:10 llfourn joined 04:20 AlexDaniel left 04:31 eternaleye joined 04:34 tokuhiro_ joined 04:35 Actualeyes joined 04:37 quester joined 04:40 stmuk joined 04:41 stmuk_ left 04:51 vendethiel joined 05:02 Ven_ joined 05:07 Ven_ left 05:14 raiph left 05:19 vendethiel left 05:35 n0xff left 05:37 n0xff joined 05:39 BenGoldberg left 05:44 ifim left 06:05 khw left 06:07 xfix joined
TimToady "Routines are the smallest means of code reuse in Perl 6." Hmm, that's not really true 06:09
blocks and thunks are smaller
llfourn TimToady: I think that whole first part can be re-written :) 06:11
Hotkeys attempting to install linenoise to test the bug we were testing earlier
can't even build panda on current version
llfourn notes in his TODO
Hotkeys JSON module gets angry
JimmyZ it meant Routine in rakudo core? since most are wrap to obj.meth ...
jferrero m: my %x = (a => 1, b => 2); say "{%x}"
camelia rakudo-moar 459bc5: OUTPUT«a 1␤b 2␤»
06:25 polettix joined
lizmat attempt #1 to commute to MIA& 06:34
06:34 lizmat left 06:39 syahirah0204 joined
syahirah0204 hai everybody 06:39
help me !
im new here
syahirah0204 slaps advwp around a bit with a large fishbot
06:43 ribasushi left
TimToady we're all asleep 06:44
llfourn syahirah0204: I'm awake :) 06:46
syahirah0204 hai 06:47
how to use perl
:(
llfourn m: say "you type characters and spit them at me!"
camelia rakudo-moar 459bc5: OUTPUT«you type characters and spit them at me!␤»
06:48 mr-foobar joined
syahirah0204 slaps syahirah0204 around a bit with a large fishbot 06:49
06:49 syahirah0204 left 06:50 domidumont joined, domidumont left 06:52 ribasushi joined
[Tux] ZoffixW, Text::CSV already exists, DBD::CSV is not easy to port right now, as it needs not only DBI (and DBD::File), but also SQL::Statement 06:55
07:00 Oatmeal joined, Oatmeal left 07:04 rindolf joined 07:05 Oatmeal joined 07:06 geraud left 07:07 diana_olhovik joined 07:09 Ven_ joined 07:10 CIAvash joined 07:13 Ven_ left
masak morning, #perl6 07:15
07:19 moznion joined 07:22 Oatmeal left, raydiak joined
masak current status: rethinking the wisdom/sanity of surrounding all injected Qtrees with an invisible block (for hygienic scoping). 07:22
[Tux] test 50000 20.904 20.762
test-t 50000 17.457 17.315
morning 07:23
masak mornin', [Tux] 07:25
today's Git pro tip: `git config --global log.date iso`
(sets the date format from "human readable" to YYYY-MM-DD) 07:26
07:27 lizmat joined
llfourn masak: Mon Nov 9 16:23:53 2015 is what mine looks like 07:27
seems readable
that is git log output 07:28
masak right. 07:30
iso would change that to 2015-11-09 16:23:53 <tz> 07:31
a matter of preferences, I guess.
llfourn I guess that is a bit cleaner :)
masak to me as a Swede, <wd> <m> <md> hh:mm:ss <y> is a bit of an affront :P
llfourn gumbles about Swedes 07:32
masak :P
masak puts up a border control, just in case
llfourn apprently you can set a strftime if you want
lizmat looks like attempt #1 is going to be successful after all
all checked in, and on one of the 3 Lufthansa flights leaving from FRA this morning 07:33
masak lizmat: "if at 0th you don't succeed..."
lizmat :-)
0th is "didn't even try" to me
:-)
masak by vacuous reasoning, the 0th attempt has to have been unsuccessful, otherwise there'd be no reason to try a 1st time. 07:34
07:34 Oatmeal joined
masak is increasingly tempted to write a "Category Theory for Perl 6 programmers" slide deck 07:35
llfourn at least give it a 0th attempt masak++ 07:36
masak :) 07:37
lizmat masak: well, duh, I mean, since I didn't try the 0th time, I had to do the 1st time :-)
masak whether you tried a 0th time or not is outside of our concerns. we're discussing whether the attempt was *successful*. :P 07:38
llfourn ...the attempt at trying?
masak no, no. that's what the name of the song is *called*.
third base! 07:39
llfourn :P
masak imagines a mashup between Abbott & Costello and Alice in Wonderland would work quite well 07:40
llfourn doesn't even think that match up will make it's 0th attempt
07:42 Oatmeal left
masak the reason I'm no longer convinced "inject Qtrees in a block with a jury-rigged outer" is a good solution: it works well in expressions, but it doesn't work well in non-expression contexts, where an (auto-invoked) block is not expected and not "syntactical". 07:42
instead, I'm toying with the idea of somehow tying *identifiers* to a particular context. that should be enough. 07:43
if neither of these ideas work, I'm not sure how we'll get hygiene in Perl 6 macros.
07:45 abraxxa joined 07:46 abraxxa left
TEttinger haha macro discussions all over. I wrote a macro to write macros in privmsgs to a clojure-evaluating IRC bot 07:46
(defmacro my-define [name# args# [f# & body#]] `(defmacro ~(symbol name#) ~args# (list 'list ''~f# ~@body#))) 07:47
and no, this is not what clojure should ever look like
macro macros are I think forbidden in Leviticus along with eating shrimp and wearing polyester 07:48
masak in Perl 6 we aim to allow it, because we're groundbreaking that way 07:49
TEttinger clojure does allow it, it's just never pretty. because you have multiple levels of quotation, etc. 07:50
masak one macro already has multiple levels.
it's interesting to learn to think in terms of those levels.
mst masak++ # with great power comes great new synthetic fabrics from which one can construct clothes to wear while eating shrimp 07:51
07:51 xpen left
masak my latest metaphors are "early" (when the macro is running) and "late" (when the code that the macro injected finally runs) 07:51
07:51 xpen joined 07:53 RabidGravy joined
mst masak: I would commend unto you the lisp known as 'kernel', which is an fexpr based lisp that somebody did a phd thesis on 07:53
it eliminates the concept of a macro entirely
this is fascinating and awesome 07:54
07:54 abraxxa joined, abraxxa left
mst it basically generalises macros to runtime, with compile time rewriting merely being an optimisation and/or a chance ot fail type checks fast 07:54
masak mst: do you have a reference of some sort? consider me intrigued?
s/\?$/./
07:54 Oatmeal joined
mst lambda-the-ultimate.org/node/4093 web.cs.wpi.edu/~jshutt/kernel.html 07:55
masak thanks.
TEttinger mst: oh I know you :)
shadowcat-mst made a few kernels
mst note, I pulled those from google just now but unless I misremember those two pages were my jumping off point for my original research
you mean Wat.pm, the perl5 port of wat-js
I guess
TEttinger yes 07:56
mst which was an unbelievably liberating thing to write in
TEttinger you're at least listed on the Kernel Underground thing
mst I've no idea what that is
TEttinger (blog post? compilation?)
mst my current focus is a perl5 based interpreter for a prolog-with-non-extralogical-side-effects language
masak mst: generally the big barrier that I find when wanting to borrow from other languages, is that so many assumptions from the rest of the language (runtime/compile time) creep in and set the tone of how macros come out.
07:57 abraxxa joined
mst masak: basically, an fexpr is a runtimer macro, where apply must be called explicitly to get 'normal' calling results 07:57
07:57 xpen_ joined
mst TEttinger: amusing to be known in #perl6 for something other than my mainline CPAN work ;) 07:57
TEttinger mst: that's... the simplest explanation I've ever gotten of fexprs. thanks
masak amazing that mst explains fexprs to TEttinger on #perl6 :P 07:58
mst++
TEttinger axisofeval.blogspot.com/2011/09/ker...round.html
mst aha
masak mst: while I have your attention -- do you think it's sane at all that Qtrees (Perl 6's unannounced highly refined AST format) come with a lexical context? (for variable lookup, etc) 07:59
TEttinger there's I mean, a lot of people here. it makes sense that some are famous!
masak mst: this basically falls out of "macros are hygienic", but recently I've come to hunt around for alternatives. 08:00
mst well, yes. but normally I'm famous for inventing perl5's most popular ORM, or helping out co-ordinating the perl6 -> Moose -> perl6 thing, or inventing the State of the Velociraptor keynote for perl5 so people stopped whining about Larry mostly talking about perl6, or
Wat.pm is kinda minor, just something I played with
08:00 xpen left
dalek kudo/nom: 11f325b | lizmat++ | src/core/List.pm:
Make List.reverse 4x faster

6x faster if it is an empty List/Array
08:01
mst then the wat creator wanted different things than my suggestions then I found it was hopelessly non-performant for what I wanted then I realised that was because I was doing it wrong
in that Wat.pm was a lousy implementation of wat and then even if it had been a good one it was the wrong runtime for what I was doing
but man I <3 fexprs 08:02
TEttinger yes, but since I'm not really a user of perl 5 or perl 6 at the moment (I am interested in the language and I might learn more at some point), I see "mst" and I think "that's that wat person..."
mst I will -so- be going back to that at some point
TEttinger: yeah, and that's totally cool. it's just ... not what normally happens :D
TEttinger heh
I like perl 6 for its language/grammar stuff 08:03
mst it'd be like larry running into somebody at a perl conference and them going "HEY YOU'RE THAT GUY WHO WROTE RN!"
TEttinger I don't know any other language that handles grammar like perl (6) does
mst OTOH I'm glad people who aren't me have noticed Wat
right. the grammars are amazing
I'm mostly a perl5 hacker, but Inline::Perl6 for perl5 exists because I asked the Inline::Perl5 author nicely because I want access to the grammars from perl5 08:04
masak: I think having each node point to its lexical context seems like ... I'm not really an AST expert, but that is, logically, exactly what I'd expect 08:05
masak \o/
mst: well, refining it a bit -- I've also come to realize that sometimes people create "contextless" AST nodes. 08:06
TEttinger I don't even know what I mostly am these days. I program a lot of Java for months at a time, then C# as the project changes, with an end goal of using something like Clojure to consume the java lib I wrote with a java lib someone else wrote to render the graphics I made in C#...
masak mst: basically by calling constructors to make them.
mst: I call them "synthetic Qtrees".
08:06 espadrine joined, zakharyas joined
masak mst: these basically latch on to the first context they come in contact with. usually as they're injected somewhere. they give some slight un-hygiene relief when needed. 08:07
mst that's probably sensible 08:08
masak mst: one reason I think it's the right choice for Perl 6 Qtrees to have a lexical context is that... I can't really see Perl 6 code working *without* it.
mst kinda ... oh gods, er, dynamic scope except rotated through 90 degrees
I can't find a better way to express it
but it smells right to me
masak mst: lexical context is so tied up with everything Perl 6 gets up to. even operators are lexically scoped.
08:08 spider-mario joined
mst yep. true of wat as well :) 08:09
masak \o/
mst having the nodes as they're interpolated glom onto the lexical scope as given seems totally reasonable
the 'dynamic scope except rotated through 90 degreees' explanation sucks if you don't already know what I mean 08:10
but if that metaphor makes sense to you I'm 99% sure we're on the same page
08:11 darutoko joined
masak yeah. 08:12
you've already helped a bunch. thanks.
08:14 rindolf left
RabidGravy I don't suppose there is a built in regex for matching curlies in strings? i.e. for getting at the " Foo { # some code }" ? 08:15
masak RabidGravy: problem is, it's already interpolated by the time you have the string value. 08:16
RabidGravy: at least if you really meant "" there
RabidGravy no I mean strings with that in, the "" was a short cut for "perl does it so maybe it exposes it somehow" ;-) 08:18
llfourn RabidGravy: maybe check the $~Quote grammar?
RabidGravy as I have singularly failied to persuade anyone else to do it I'm trying to implement tools.ietf.org/html/rfc6570 08:19
llfourn RabidGravy++ 08:20
dalek kudo/nom: 3d7f846 | lizmat++ | src/core/List.pm:
Make List.rotate 30% faster
08:21
08:27 xfix left
RabidGravy the Perl6::Grammar make my brane hurt 08:27
08:28 ely-se joined
lizmat gate& 08:29
08:29 lizmat left
llfourn it looks like the Q grammar is more confusing :P 08:29
08:33 spider-mario left 08:42 apejens_ is now known as apejens
diakopter mst: which wat is that 08:50
mst diakopter: github.com/shadowcat-mst/wat-pl/ 08:51
RabidGravy I wot not what wat
masak .oO( I will not wot it on a train ) 08:56
08:59 azawawi joined
azawawi hi 08:59
masak hi azawawi 09:04
RabidGravy marning chief
timotimo o/ 09:07
[Tux]: the latest test and test-t bench is not that much faster than yesterday's, eh? as in: in noise? 09:08
[Tux] yep 09:09
RabidGravy whip the hamsters harder
masak here's an illustration about "Qtrees have lexical scopes", using the (NYI) melt() built-in: `my q; { my x = 42; q = quasi { x } }; my x = 5; say melt(q)` # 42
timotimo damn
[Tux] timotimo, I currently see all between 16.5 and 19.5 as "no-change: noise" 09:10
masak but `my q; { my x = 42; q = Q::Identifier("x"); say(melt(q)) }; my x = 5; say(melt(q))` # 42 5
timotimo i was hoping for a tiny improvement from my patches, but it's not likely that your code would run through very many subs or operators that have a :D or :U annotated return type
09:10 sa_ joined 09:11 Actualeyes left
azawawi starts buildings rakudo on linux and windows 09:12
s/buildings/building/ # need morning coffee
El_Che azawawi is a fancy guy with a specific coffee blend for morning, noon and evening :) 09:15
RabidGravy try building it on a rev 'B' Raspberry Pi, you'd be able to get in a three course dinner rather than just coffee ;-) 09:16
azawawi RabidGravy: i have two boards over here :)
RabidGravy: it is very slow... already did that :) 09:17
DrForr Oo, three-course meals. I had that for lunch by accident in Lyon :)
azawawi RabidGravy: the CPU on a RPi is garbage compared to www.intel.com/content/www/us/en/com...stick.html :) 09:18
RabidGravy I've got an Intel Galileo knocking around somewhere 09:21
09:21 rindolf joined
azawawi did anyone try compiling rakudo on an Intel compute stick? 09:22
09:23 quester left 09:26 sa_ left, polettix left, dakkar joined
RabidGravy I guess if I saw one in Maplins or something I would buy it, but not sufficiently motivated to buy one online 09:28
azawawi starts using rakudobrew on windows :)
tadzik++ 09:29
09:29 pmurias joined
tadzik :) 09:31
yoleaux 10 Nov 2015 18:38Z <nine> tadzik: github.com/tadzik/File-Find/pull/15
tadzik oh
yay, fixes :)
RabidGravy PRs! PRs!
;-)
azawawi tadzik: i would remote the SETX advice... btw 09:32
tadzik: SETX has just truncated my Path back to 1024 lol
tadzik ( ° ー°)
azawawi tadzik: superuser.com/questions/387619/over...-with-setx
tadzik: so remove it :) 09:33
tadzik I have no idea about windows :)
I'm gonna need PRs
azawawi tadzik: also in the windows instructions, SET PATH=%USERPROFILE%\rakudobrew\bin;%PATH%
tadzik: and that you shall have, champion of the rakudo land :) 09:34
pmurias I'm planning to apply for a TPF grant to work on rakudo-js. I need to choose a use case to focus on, so I would love to know what people want to use it for.
tadzik haha, thank you :)
"SETX has just truncated my Path" sounded like something spiritual and klingon to me
RabidGravy tadzik, while you're in the mood, fancy looking at github.com/tadzik/JSON-Unmarshal/pull/11 ? Then I can get on an do the next thing ;-)
pmurias blog post with a few ideas: blogs.perl.org/users/pawel_murias/2...first.html
azawawi tadzik: my path was truncated by the SETX :) 09:35
tadzik RabidGravy: oh, right on it :)
azawawi: ok, I get it now :)
RabidGravy you're a star
09:36 xinming_ joined
azawawi starts reading pmurias's post 09:36
masak url?
tadzik oh, btw
masak oh, I see it, nvm :)
tadzik can we leave the liberty of opening the links in the same or the new tab to the user, rather than taking it away from them, on modules.perl6.org? 09:37
azawawi pmurias: cool. you need to look on github.com/fglock/Perlito/ then
pmurias: and github.com/azawawi/perl6-electron/...ailador.p6 :)
konobi pmurias: npm and browser. you can take an npm package and get it spat out into browser aware code using browserify/webpack.
masak pmurias: the first one strikes me as the one I'd like to see the most. 09:38
pmurias: only thing that made me hesitate was the last one. :) but surely those two are related?
tadzik RabidGravy: I personally prefer my elses cuddles, but since you wrote the first else in that file I'll let you have dibs on the coding standard :P
konobi pmurias: reactjs/jquery/react.native don't make sense
pmurias: btw... I'm happy to help out. I'm a nodejs commiter, community moderator, used to work at joyent... so been around node for nearly as long as it's existed and I know npm well, along with the authors. 09:40
RabidGravy tadzik, for a long time I was more in favour of the "curlies on their own line" style but have only gradually come round to the more common style ;-) 09:41
konobi and no doubt someone could claim that I've had a bunch of Perl in my history too =0)
pmurias masak: having a simple REPL will be easy if rakudo-js is good enough to write a web app
tadzik you can pry my elses from their warm cuddles! :P
RabidGravy: anyway, merged, thanks a lot :)
RabidGravy groove-tastic! love you long time 09:42
pmurias konobi: the main tradeoff for targeting node.js is how much I should focus on supporting all the IO stuff
azawawi konobi: did you work on electron? is it easy to retrofit electron with a perl6 engine? :)
09:43 eliasr joined
pmurias konobi: using npm/webpack would likely be a good way to package the perl 6 app for the browser 09:44
konobi pmurias: none for now
masak finds that he doesn't have a strong opinion either way on the cuddled-elses topic
konobi just support console.log in the meantime
masak I like it when people/code are consistent, though.
azawawi tadzik: strawberry perl's gcc make rakudobrew fail... needed a "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat" for it to work
konobi azawawi: no... electron came out of the atom folks. It's probably likely to be doable with perl6, assuming there are c++/c headers available 09:45
pmurias: after console.log() then you can see where the I/O takes you. 09:46
browserify will give you some of that for free in the browser, for sure.
azawawi konobi: we already have an integration with it using my Electron module via a JSON RPC bridge but that is slow compared to direct API access ofcourse
azawawi checks his electron module again :) 09:47
pmurias azawawi: it should be possible to embed moar as a node.js module
09:47 srvsh left
azawawi pmurias: that would be awesome 09:48
konobi yeah... that may well be an easier approach
azawawi: node native addons aren't too tricky
RabidGravy any travis ci afficionados in the house? WTF is travis-ci.org/sergot/http-useragen...s/90692923 all about
azawawi konobi: any links on that topic? 09:49
09:49 rindolf left
konobi azawawi: the nodejs docs... also look at the npm packages "bindings" and "nan". 09:49
iirc, rvagg is now doing a series of articles on the subject too 09:50
pmurias: i had a think about your questions since last... and I think I know where the disconnect may be. 09:51
where does nqp stop and where does p6 and p6 modules start 09:53
azawawi RabidGravy: restart the build to make sure via Travis CI ui
RabidGravy: i bet it is a panda bug
RabidGravy: pandas are known to love bugs :)
09:54 rindolf joined
konobi azawawi: i'm on PST... but I'm happy to give pointers if/when needed 09:54
azawawi konobi: github.com/TooTallNate/node-bindings and github.com/nodejs/nan, right? 09:55
konobi yup 09:57
the node source is a good place to look at the c++/js bridge
i've done several addons myself... but they've generally been fairly basic 09:58
azawawi: but since moar already uses libuv... some things should be a bit easier 10:01
10:03 duncan_dmg joined
timotimo shaunlebron.github.io/parinfer/ - this looks quite cute 10:04
konobi azawawi: you probably want to start with plain node.js first... and then deal with hooking it up to electron 10:06
azawawi timotimo: cool
konobi bative addons with electron are um... interesting
10:06 andreoss joined
konobi *native 10:06
azawawi konobi: that's the json bridge im using atm github.com/azawawi/perl6-electron/...pp/main.js 10:07
konobi k... these sleepy meds are kicking in
azawawi: nah... there's an electron-gyp that you need to use
10:07 grondilu joined
azawawi konobi: i will look into it... good night :) 10:09
konobi nn
azawawi konobi: thanks for info
10:13 polettix joined 10:17 rindolf left 10:22 donaldh joined 10:28 llfourn left 10:30 rindolf joined 10:44 aborazmeh joined, aborazmeh left, aborazmeh joined 10:45 pmurias_ joined 10:49 pmurias left 10:53 pat_js joined
jnthn morning, #perl6 10:57
abraxxa hi! 11:00
RabidGravy marnin 11:01
compare: 11:04
m: my $str = "hsjsjs"; say $str{"foo"}
camelia rakudo-moar 3d7f84: OUTPUT«Type Str does not support associative indexing.␤ in block <unit> at /tmp/qGApJZ7jjy:1␤␤Actually thrown at:␤ in block <unit> at /tmp/qGApJZ7jjy:1␤␤»
RabidGravy m: my $str = "hsjsjs"; say $str{"foo"}:exists
camelia rakudo-moar 3d7f84: OUTPUT«False␤»
11:05 TEttinger left
RabidGravy personally I'd be happier if the second blew up like the first 11:05
11:08 pyrimidi_ joined 11:10 Zoffix joined
dalek kudo/nom: 196c5ed | (Tomasz Konojacki)++ | / (4 files):
fix nmake clean
11:11
kudo/nom: 92f9039 | jnthn++ | / (4 files):
Merge pull request #581 from xenu/nom

Fix "nmake clean"
11:11 pyrimidine left
RabidGravy 'cause there's no end to the stupid I type 11:11
jnthn doesn't feel too strongly either way on it 11:12
I can see the convenience angle of being able to succinctly ask "will this indexing give me something"
dalek kudo/nom: a8560f5 | cygx++ | src/core/IO/Path.pm:
use no longer new (but still shiny) open mode :x for spurt(:createonly)
11:13
kudo/nom: f522533 | jnthn++ | src/core/IO/Path.pm:
Merge pull request #575 from cygx/createonly-x

use no longer new (but still shiny) open mode :x for spurt(:createonly)
ilmari where does the "nope" list live? 11:15
moritz "nope" list?
ilmari list of things that are officially out of scope for 6.christmas
jnthn It's not really been maintained, but gist.github.com/jnthn/040f4502899d39b2cbb4 11:16
ilmari: Is a PR to fix the encode buffer overflow still on your todo list, btw? 11:18
ilmari jnthn: yes
jnthn OK, thanks :)
11:21 dayangkun left
donaldh jnthn: is Mu.Capture intended to handle classes? It doesn't seem to have sensible behaviour for primitives, e.g. Int or ranges 11:29
m: (1..*).Capture.say
camelia rakudo-moar 3d7f84: OUTPUT«\(:max(Inf), :min(1))␤»
donaldh m: (1..*,).Capture.say 11:30
camelia rakudo-moar 3d7f84: OUTPUT«\(1..Inf)␤»
jnthn Those both do as I'd expect, I think
Mu.Capture takes the attributes declared with an accessor
donaldh m: 1.Capture.say
camelia rakudo-moar 3d7f84: OUTPUT«\()␤»
jnthn And makes them be named args
That in turn supports unpacking
It's fairly reasonable to want to unpack a range into its min and max, I think 11:31
Just as a Rat can be unpacked into its numerator and denominator
And presumably complex into the components
For Int/Num/Str, it's not really clear you'd even want to unpack them 11:32
donaldh Int doesn't capture
jnthn m: say \(1)
camelia rakudo-moar f52253: OUTPUT«\(1)␤»
jnthn Note that this is the syntax for writing a Capture literal
.Capture exists primarily for the purpose of saying "give me something to bind against a signature", the use case being unpacking 11:33
moritz blog.burntsushi.net/transducers/ # storing ordered sets and hashes (with integer values) in a finite state machine
jnthn We could in theory override .Capture on Int/Num/Str and make it have a value named parameter, but again, given the use case is unpacking, it's not clear why you'd want it. 11:34
donaldh I thought it should capture positionals too?
But a list of 1 is ambiguous
moritz hasn't really had a cause to work with Capture objects directly
11:35 azawawi left
donaldh Well, nor I but I'm golfing a NPE on JVM and realized I don't understand the behaviour 11:35
r: 1.Capture.say 11:36
camelia rakudo-jvm 3d7f84: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar f52253: OUTPUT«\()␤»
jnthn donaldh: .Capture does *not* mean the same as \(...)
It means "turn yourself into something we can unpack during a signature bind"
The only things that populate the list part of a capture are List and Match 11:37
donaldh m: (1,2,3).Capture.list.say 11:38
camelia rakudo-moar f52253: OUTPUT«(1 2 3)␤»
donaldh m: (1).Capture.list.say
camelia rakudo-moar f52253: OUTPUT«()␤»
jnthn m: (1,).Capture.list.say
camelia rakudo-moar f52253: OUTPUT«(1)␤»
jnthn m: (1).list.Capture.say
camelia rakudo-moar f52253: OUTPUT«\(1)␤»
jnthn .Capture does not consider a single item to be a degenerate list
If it did that then you'd not be able to unpack rationals, complexes, pairs, objects, etc. 11:39
donaldh I guess intuitively I expect it to behave as a parameter list would.
jnthn It doesn't, as I've now said about 5 times.
donaldh I realise that.
jnthn And it can't if it's to support unpacking 11:40
We could introduce yet another method that we can call to get soemthing to signature unpack
But given a Capture is what you bind against a signature, it's the obvious fit.
What Int/Str/Num would do in response to .Capture is a reasonable question. 11:41
donaldh Yes. I think that's the issue
m: "str".Capture.say 11:42
camelia rakudo-moar f52253: OUTPUT«\()␤»
jnthn It is, but in a sense it also explains why we've never run into the issue in real code: you'd never write an unpack of a Str parameter in a signature
(Because there's nothing to destructure) 11:43
donaldh Sure.
jnthn I agree it looks odd to have the value "vanish"
I'm just not sure what the most logical thing to do is, especially when whatever we do will probably meet about zero real world use. 11:44
donaldh Document it maybe?
masak "But ultimately, because the parser for the language is written in the language itself, it means you can change the parser as you need to, without all the problems of source code filtering." -- perlhist.com/perl6/damian-conway/ 11:46
donaldh Thanks for helping me understand it. I'll look at the underlying NPE.
jnthn m: class A { }; A.Capture
camelia ( no output )
jnthn j: class A { }; A.Capture
masak I think what Damian has identified may be a necessary condition -- maybe -- but it's not a sufficient one :)
camelia ( no output )
jnthn Hmm, I thought that might explode too
masak because if it were, then we'd have language mutability already :)
jnthn j: class A { }; say A.Capture
camelia rakudo-jvm 3d7f84: OUTPUT«java.lang.NullPointerException␤ in block <unit> at /tmp/5KMCGOnGzC:1␤␤»
jnthn Ah 11:47
j: say Capture.new
camelia rakudo-jvm 3d7f84: OUTPUT«\()␤»
donaldh Yep, it's the say method that explodes
Capture.say that is
jnthn donaldh: At a guess, $!list or $!hash ends up not set and somehow we don't check for it in a good way
Probably .gist or .perl
masak: We do have it already
masak: It's just not very comfortable or convenient to do :)
masak ok, granted. 11:50
I guess even switching "all the problems of source code filtering" for inconvenience can be considered a step up ;) 11:51
jnthn Aye. Now we "just" need to make it relatively easy, safe, and beautiful, to do it. :)
And with an API we're willing to support for decades. 11:52
dalek osystem: be1540f | RabidGravy++ | META.list:
Add JSON::Infer

  github.com/jonathanstowe/JSON-Infer
masak jnthn: sounds like a plan.
masak has a "slang typology" blog post brewing in the back of his mind
11:53 polettix left
RabidGravy I was going to wait until december 3 to do that (so it took a year) but there's no point in sitting on it 11:53
masak RabidGravy++ # gun-jumping
jnthn m: say 'bookkeeper' ~~ /[(.)$0]+/ 11:55
camelia rakudo-moar f52253: OUTPUT«「ookkee」␤ 0 => 「o」␤ 0 => 「k」␤ 0 => 「e」␤»
jnthn Hmm 11:56
Under the definition TimToady gave for backref yesterday, that can now only match "oo"
moritz doesn't sound very composable
11:57 andreoss left
jnthn Basically 'cus you look at the first capture to $0 and the latest one and take the substring $first.from ..^ $latest.to 11:57
donaldh ugh, perl Configure.pl blows up 11:58
jnthn I'll end up not using the backref method anyways 'cus we're smart enough to compute backrefs without having to fully assemble a Match object
But what I've got is semantically equivalent to the one added yesterday
I wonder if we should require the matches we factor in to be contiguous. 11:59
donaldh gist.github.com/donaldh/5b61e9da8bbfa967a35c
RabidGravy if anyone's bored sticking some Perl 6 examples on notejam.net/# might be a fun project
jnthn That'd still address rt.perl.org/Ticket/Display.html?id=88340 without, I think, breaking the test
moritz: Any thoughts? :) 12:00
12:00 andreoss joined
jnthn donaldh: Is that blowing up, or just being noisy? 12:00
jdv79 RabidGravy: maybe i've been burnt more times than its helped by why do that? 12:01
masak remembers fondly how he got 'bookkeeper' ~~ /[(.)$0]+/ to work under GGE years ago :)
donaldh First run I didn't get a Makefile. Now I seem to.
jdv79 is reminded of ws-* and soap
moritz jnthn: sorry, on the phone
donaldh will investigate 12:02
jdv79 working with json directly is pretty easy so maybe i'm missing the benefits you are looking for
jnthn donaldh: It was probably fallout from the cross-compile patches applied some days back. They bust the Windows configure totally, but seems there's a couple more issues. 12:04
RabidGravy jdv79, I'm not seeing the part where I suggested you were compelled to use it
jdv79 you didn't and i didn't infer that either. i merely asked out of curiousity your opinion of why that's cool. 12:06
12:07 mayuresh_ joined, mayuresh_ left 12:08 zakharyas left
jnthn moritz: np. :-) fwiw, I've implemented what I suggested and it seems to keep the ookkee working and fix the issue in the ticket 12:08
12:08 xpen_ left
RabidGravy I actually hate REST/JSON interfaces but acknowledge they are nearly ubiquitous because all the cool kids can't be bothered with reading specifications so don't like more formally defined things 12:09
this stuff makes some of the reasons it irritates me go away 12:10
jdv79 ah 12:11
moritz RabidGravy: I like them, because they are much easier than the average XML-based RPC call
12:12 kid51 joined 12:13 aborazmeh left
RabidGravy moritz, that seems to be the common position (my cynicism aside,) but the lack of formal descriptions means that in a large number of cases there's a lot of donkey work that a machine could do for you 12:13
moritz RabidGravy: agreed
jnthn D'oh, turns out fixing the backreferences to have the Perl 6 semantics we want has busted some :P5 modifier tests. 12:14
moritz RabidGravy: something like SOAP with less bloat and fewer confliciting variants wouldn't be bad :-)
jdv79 my guess is the current state of things is part of a violent overreaction to the ws-* era type stuff
12:15 mayureshkathe joined
jdv79 maybe the pendulum will swing back a bit 12:15
12:15 pmurias_ is now known as pmurias
moritz aye 12:15
mayureshkathe it always does swing back. :)
jnthn Most things in software seem to be cyclic.
mayureshkathe it's like all events in software are on a spring.
moritz the last time I tried to call a SOAP service, it wanted to use HTTP basic authentication, but when one didn't submit the header, the answer was a 200 OK with the error encoded in the XML
jnthn Apart from addiction to facilitating large scale re-use, which seems constant :P
mayureshkathe everything is almost the same, just that things move a bit forward 12:16
mostly that is. ;)
moritz so LWP::UserAgent refused to send the credentials, because it wanted to learn the realm first
mayureshkathe hello everybody. :)
jdv79 i'm more sympathetic to the new ways though. where i used to work a partner created a "webservice" for us in 100% .Net style. we are a perl5 shop so were unable to talk to it.
moritz that's a very typical problem with SOAP: it tries to be indepenent of the transport layer, and so everybody has a different idea about how it interacts with the transport layer
jdv79 very ws-*-ish type of situation.
moritz hello mayureshkathe :-) 12:17
mayureshkathe moritz, you might know me as "mayuresh" the guy with 'pxn' on his mind.
just that someone stole my nick. :(
moritz :/ 12:18
mayureshkathe que sera sera ... ;)
btw, anyone out here has tried out "telegram" that new messager? 12:19
RabidGravy yeah, SOAP is somewhat hobbled by attempting to be transport agnostic
mayureshkathe it's a great replacement for whatsapp!
anyways, the good thing is they have an open protocol and an api
so we can write clients using what ever we wish to 12:20
be our language of choice. :)
message == messenger. :/
dang, i am getting nuttier with every passing moment
messager == messenger. :) 12:21
moritz take a break/walk/meal/sleep?
mayureshkathe yeah, sleep.
jdv79 i wrote a "trasnport agnostic" frame for my llast employer but it used http as it was meant (mostly) and abstracted up a layer the transport switching
mayureshkathe haven't done that in a couple of day.
moritz m: say <walk meal sleep>.pick
camelia rakudo-moar f52253: OUTPUT«meal␤»
mayureshkathe :D
jdv79 that was fun; kinda 12:22
moritz at $work we currently use AMQP/RabbitMQ and a custom, JSON-based protocol on top
works with both events and RPC-style
RabidGravy a long time ago we had a soap thing over SSH
jdv79 soapy ssh - cleaner than all the rest 12:23
moritz loves SSH as a transport layer, as long has he doesn't have to manage the keys
mayureshkathe :)
12:23 cygx joined
RabidGravy moritz, yeah I kind of over-used that JSON/MQ pattern in my last gig 12:23
moritz RabidGravy: overused? how so? 12:24
jdv79 moritz: how "custom"?
12:24 mayureshkathe left
cygx ugexe: Net::HTTP does a `try require IO::Socket::SSL`, which makes precompilation fail with 'Missing serialize REPR function for REPR VMException' 12:25
jnthn: ^^ should VMException to be serializable?
moritz jdv79: very custom :-). Basically a structure with header and payload, where the header defines things like message ID, response address, and message type; then the message type (and version) is used to locate a json schema to validate the body 12:26
jnthn cygx: Not really
cygx: Not sure how we could sensibly do that
cygx: Is it doing that "try require" at BEGIN time?
jdv79 oh, schema'ed. makes sense. we just flew schemaless. 12:27
moritz the schema files are a bit of a paint to write, but very useful 12:28
jdv79 well, yeah. i guess we basically did the same dance but just in raw code.
cygx jnthn: it's in the mainline of a module that gets precompiled
jdv79 fastest to market and all. whatever works first:) 12:29
cygx ( github.com/ugexe/Perl6-Net--HTTP/b...ler.pm6#L3 specifically )
jnthn cygx: Hmm. Maybe make sure to clear $!
cygx jnthn: adding a $! = Nil does the trick 12:31
dalek p: a54139b | jnthn++ | src/QRegex/Cursor.nqp:
Fix backref semantics with multiple captures.

We now look at the most recent contiguous sequence of captures, and the backref is the string from $first.from ..^ $last.to.
p: 6bd8e5b | jnthn++ | src/QRegex/ (2 files):
Still use simple backref semantics for :Perl5.
12:32 kaare_ joined 12:34 Skarsnik joined
RabidGravy moritz, over-used in the sense that what could have been otherwise evolved into a type of service bus thingy 12:35
jnthn m: say ~('aaaaa' ~~ /(\w)+$0/) 12:36
camelia rakudo-moar f52253: OUTPUT«aaaaa␤»
12:36 azawawi joined
azawawi starts working on pg arrays for DBIish 12:36
abraxxa azawawi: about your question, DBDish::Oracle still fails for queries with bind values 12:38
azawawi abraxxa: hi
Skarsnik azawawi, \o/
azawawi abraxxa: where is its repo?
Skarsnik and hello there
abraxxa azawawi: github fork of DBIish 12:39
azawawi abraxxa: link it plz 12:40
dalek kudo/nom: fdf95de | jnthn++ | tools/build/NQP_REVISION:
Bump NQP for backref semantic correction.
abraxxa azawawi: github.com/abraxxa/DBIish
dalek ast: eff792a | jnthn++ | S05-capture/dot.t:
Tests to cover RT #88340.
azawawi abraxxa: why not add it and we add an experimental tag on it? 12:42
abraxxa azawawi: if the bind value is a Str it started working after calling explicitly-manage on the passed var
12:42 srvsh joined
dalek kudo/nom: 43e9d37 | jnthn++ | src/core/ (2 files):
Remove backref methods.

We don't need to construct the entire match object just to backref things.
12:42
abraxxa azawawi: but sometimes the value in the DB is null
i *guess* that the pointer telling OCI if a value is null or not isn't pointing to a memory location full of zeros 12:43
but as NativeCall doesn't seem to have a debugging mode and I don't have C knowledge I can't debug it
floats and ints don't work at all
azawawi Skarsnik: initial example github.com/azawawi/DBIish/blob/mas..._arrays.p6 to start working on it 12:44
RabidGravy azawawi, re your asking what else would be good to support in DBIish - an ODBC would be good, UnixODBC on the not-Windows should get it going 12:45
that way people can get at least some of the things that are not explicitly supported
abraxxa i haven't found anyone who could help me debugging it but I'd be glad if somebody could 12:46
azawawi abraxxa: how about we add it as an experimental driver for oracle, while detailing in its documentation its problems. Please cleanup the code a bit and submit a PR. I do not want your hard work to be lost :)
abraxxa azawawi: I want it at least pass the current test suite 12:47
Skarsnik azawawi, pg return string value without "" around it if there is no space like {test, "test 2"}
andreoss masak: have you had a change to take a look at my PR for ufo?
RabidGravy abraxxa, I'd offer to help but I really, really cannot be arsed to install Oracle as I'm still recovering having worked with it for five previous years 12:48
Skarsnik but thx for improving DBIish x)
azawawi Skarsnik: the mapping is wrong as per github.com/perl6/DBIish/issues/29
abraxxa RabidGravy: i'm using a Docker container for it
takes just as long as it takes you to download about 9GB
RabidGravy: but remote support would be great for me too 12:49
RabidGravy Ooh I didn't even know that was a thing
azawawi abraxxa: which oracle database edition are you using?
abraxxa i'm using this one hub.docker.com/r/wnameless/oracle-xe-11g/
azawawi: XE for dev, Enterprise in Prod
12.1c instant client
jnthn .tell TimToady The backref thing ended up with a "latest contiguous matches" constraint being wanted (unless we want to bust another use case). Also, because we are smart enough already to be able to locate captures without constructing the full Match object, the backref methods on Match/Array weren't useful, so I tossed them. 12:50
yoleaux jnthn: I'll pass your message to TimToady.
masak andreoss: no -- this is the first I hear about it. will look now.
jnthn Phew, that was the last regex engine RT before xmas :)
abraxxa I mainly need help with NativeCall itself and it's 'is rw' feature as OCI is full of pass by pointer
jnthn And another off the list :) 12:51
RabidGravy jnthn++ # phew
masak andreoss: merged. thanks.
Skarsnik azawawi, well it's an example of what the current Pg.pm give me {Romance,"Alternate Universe","Slice of Life"} 12:52
12:53 ely-se left
jnthn lunch & 12:54
13:00 polettix joined 13:03 [particle] left, sufrostico joined, sufrostico left, sufrostico joined 13:04 CIAvash left 13:05 [particle] joined 13:07 eliasr left
azawawi abraxxa: how about we add it as an experimental driver for oracle, while detailing in its documentation its problems. Also please cleanup the code a bit and submit a PR. I do not want your hard work to be lost :) 13:08
13:08 ely-se joined
RabidGravy and TODO the currently failing tests 13:09
it would make it easier for others to contribute
13:12 domidumont joined
RabidGravy ook, that oracle docker image is truly the image that ate the whole world 13:14
good thing I have another machine to run it one
13:16 AlexDaniel joined
moritz
.oO( just put it in the cloud )
13:17
abraxxa RabidGravy: why? I run it in the background all the time without noticing
13:17 nys joined
RabidGravy abraxxa, despite being an i7 room heater with plenty of memory the laptop is often challenged by a bunch of services that I run for testing stuff plus FreeBSD kvm and so forth 13:21
abraxxa mine is a i5 with 8gb mem and a 256gb ssd on ubuntu with win7 as kvm if needed 13:22
RabidGravy mind you this other machine appears to also be running rabbitmq, couchdb, liquidsoap and icecast
azawawi Skarsnik: after looking at the array problem, pg returns us a string that we need to transform back to a Perl 6 array
Skarsnik: grammars to the rescue :) 13:23
Skarsnik azawawi, I know, just be careful about the single unquoted word x)
azawawi give me an example please :)
abraxxa rabbitmq here too ;) 13:26
Skarsnik azawawi, {Romance,"Alternate Universe","Slice of Life"} the Romance string is unquoted because no space 13:27
and " are escaped with a \ 13:28
13:29 kid51 left
RabidGravy it's just plain old CSV with curlies round it I guess 13:29
azawawi Skarsnik: i see 13:30
Skarsnik it probably follow savage.net.au/SQL/sql-99.bnf.html#array specification 13:31
13:33 yqt joined 13:35 cygx left
Skarsnik I wonder if I should write a module that work a bit like www-mechanize-tree-builder 13:38
it's pretty useless per se, since you can do my $xmldoc = $htmlparser->parse(LWP::Simple.get()); and search stuff on it with $xmldoc.elements(search pattern); but it's... slow 13:43
13:44 telex left
El_Che Hi, pretty basic question: To get GNU type command line parameters through sub MAIN. Is it ok to duplicate something like this in the parameter signature: sub MAIN( Bool :$debug = False, Bool :$d = $debug) { } 13:45
I want the --debug and the -d as synonimes
moritz Bool :d(:$debug) but I don't know if that's implemented 13:46
psch m: sub f(:$d($debug)) { say $d }; f :debug; f :d
camelia rakudo-moar 43e9d3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tgCOI9zXnA␤Shape declaration with () is reserved;␤ please use whitespace if you meant a subsignature for unpacking,␤ or use the :() form if you meant to add signature info to the function's type␤at /t…»
13:46 telex joined
psch m: sub f(:d($debug)) { say $d }; f :debug; f :d 13:46
camelia rakudo-moar 43e9d3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3hhYOPqVGw␤Variable '$d' is not declared␤at /tmp/3hhYOPqVGw:1␤------> 3sub f(:d($debug)) { say 7⏏5$d }; f :debug; f :d␤»
zengargoyle ^^ moritz
it's worked for me before
psch oh, long form only i think
moritz m: sub MAIN( Bool :d(:$debug) ) { }
camelia ( no output )
moritz zengargoyle: ^^
El_Che (my naive example does not work)
moritz m: sub MAIN( 42, Bool :d(:$debug) ) { } 13:47
camelia rakudo-moar 43e9d3: OUTPUT«Usage:␤ /tmp/clP0hPreLg [-d|--debug] 42 ␤»
moritz at least for the help text it recognizes both
Skarsnik there is not something like getopt?
13:47 Actualeyes joined
psch yeah, having both variables on the inside isn't supported 13:47
that's where i went wrong in my example
moritz Skarsnik: so far nobody seems to have bothered to write one 13:48
zengargoyle there's some sort of getopt module, haven't looked at it.
arnsholt Well, sub MAIN covers most of your basic getopt needs 13:49
zengargoyle but MAIN style forces --flag=value vs --flag value
El_Che the sort notation *is* pretty basic
moritz there's nothing wrong with writing a Getopt module for the ecosystem.
psch there's also a bitrotten PR around somewhere that uses a grammar to parse the CLI opts 13:50
El_Che true, but a built-in for something like that is a big win
psch ...bitrotted?
El_Che certainly for small command line applications
moritz El_Che: which is why MAIN is built in :-) 13:51
and it's built in because it integrates tightly with the language
psch github.com/rakudo/rakudo/pull/324 in case anyone wants to pick this up, i might give it another go in a few weeks too if no one else does
moritz a generic option parser doesn't
El_Che moritz: have you met UNIX sysadmins? they are lazy so they use the short switches :)
psch it kind of got warnocked back then, thanks for moritz++ at least to comment :)
moritz fwiw I still think it's dumb to join things just to reparse them later on :/ 13:52
psch i don't disagree in general, but i haven't found a better solution there... 13:53
well, "hadn't found a better solution". i didn't really spend any time on it again after "lets wait what other devs say" :) 13:54
zengargoyle what does ++BUG ++/BUG enable/do? 13:55
ShimmerFairy fwiw, I thought we agreed the ++BUG stuff was silly and shouldn't be around anymore :)
zengargoyle i've seen it mentioned a few times, but not IRL
psch ShimmerFairy: if we did that was probably after 2014-10-25 :) 13:56
moritz zengargoyle: it's meant to do some namespacing
zengargoyle: like, options for different subsystems
ShimmerFairy psch: it was :) . The consensus as I recall was that it's awkward, its purpose is unclear (the most useful idea for it, ++BUG, is never elaborated on), and it probably was one of those "I bet this would be cooool!" things :) 13:57
arnsholt psch: From the looks of it, it should be possible to parse an argument list using just a variable to keep track of whether you're inside a delimited argument list or not
Since it looks like they don't really nest
ShimmerFairy I'd much prefer ImageMagick's use of simple ol' parentheses to group together objects, if we needed core Perl 6 to do it in the first place :) 13:58
arnsholt: actually, S19 does allow for nesting, by add more pluses! 13:59
*adding
moritz so you need a stack of delimiters
so, parse with small PDA 14:00
ShimmerFairy Honestly, unless someone can come up with a real justification for the ++FOO ++/FOO stuff, I think the best course of action is to take that outdated cruft out of S19, and let modules handle that kind of desired option parsing. Core Perl 6 certainly hasn't needed it. 14:01
masak agree, but ++FOO ++/FOO is only a symptom of the real ailing S19 is suffering. 14:03
psch well, ++BUG was intended for debuggers, which could already be hooked up with e.g. Debugger::CommandLine
whether it's actually useful or not is a different question
masak which is that it tried to lead the way by being visionary. then reality largely caught up, and S19 hasn't updated.
S19 is perhaps the synopsis currently the most fleshed out and then out-of-date.
psch anyway, i don't really have any chips in that pot, i just wanted to link to an approach that exists in case its of use for anyone 14:04
ShimmerFairy psch: to clarify my request for justification, is there something in our current implementation that's dying for that kind of namespacing/nesting
psch ShimmerFairy: that sounds like a circular argument to me. "we don't need this feature because we don't use it yet"
ShimmerFairy masak: yeah, I've typically found the higher-numbered synopses have suffered more from being out-of-date :) 14:05
masak I'd really like to see an updated S19, but I don't have the energy/tuits to make it happen.
ShimmerFairy psch: I mean in terms of "# XXX Could really use ++FOO here", in the same that, say, src/core/MAIN.pm had those kinds of notes about allomorphs.
masak the best I can offer is to stand by the sidelines, cheer, and review the edits of whoever does.
I suggest many small iterations.
I'd be delighted if S19 also took on the spec'ing of flags to *scripts*, which to me seems much more important than the ++FOO business 14:06
i.e. what I mentioned the other day with -e'1' vs -e='1'
zengargoyle commutes & 14:07
14:08 skids joined
El_Che ugly workaround for my use case: sub MAIN( Bool :$debug?, Bool :$d?) { my Bool $debug_i = ($debug.defined or $d.defined) ?? True !! False; say $debug_i } 14:08
it feels like unpacking @_
El_Che ducks
(of course, it will explode for things like Str values) 14:09
flussence sometimes wishes he could throw most arg-parsers in a fire and replace with something better, not just p6's
Skarsnik the xml module is annying me to no end xD
flussence (I've used a lot of ffmpeg...)
psch ShimmerFairy: i suppose that's a fair point. i didn't see any spot where that'd be the case, but i'm not poking around in MAIN.pm or thereabout much recently
masak today's topic: annoyances :) 14:10
psch El_Che: nameds are optional by default. also, did you see moritz++' :d(:$debug) example?
ShimmerFairy El_Che: AFAIK, :d(:$debug) will support both on the command-line (and anything else that calls the sub), it's just that you only have a $debug variable declared in the signature
which means you won't have $d available in MAIN() { }, but that shouldn't be too much of an issue I don't think :) 14:11
psch and if you want $d just do :debug(:$d) :P
El_Che let's see 14:12
ShimmerFairy flussence: I can't help but wonder if step 1 in fixing arg-parsers is telling shells not to "help" us by splitting on /\s+/ :P
RabidGravy I'm almost certainly being very dumb here but:
m: grammar Foo { regex TOP { <e>* }; regex e { \{ } }; say Foo.parse(q%example.com/~{username}/%);
camelia rakudo-moar 43e9d3: OUTPUT«(Any)␤»
RabidGravy how do I match a '{' in a string 14:13
psch m: say 'string{' ~~ / \{ /
camelia rakudo-moar 43e9d3: OUTPUT«「{」␤»
AlexDaniel pmurias: having a REPL in a web browser is the best idea, IMO
psch m: say 'string{foo}' ~~ / '{' ~ '}' .+ / # trying to anticipate the follow-up question... 14:14
camelia rakudo-moar 43e9d3: OUTPUT«「{foo}」␤»
El_Che :d($debug) throws a 14:15
psch RabidGravy: the grammar doesn't parse it because it wants to fit the whole Str afair
m: grammar Foo { regex TOP { <e>* }; regex e { \{ } }; say Foo.subparse(q%example.com/~{username}/%);
camelia rakudo-moar 43e9d3: OUTPUT«「」␤»
El_Che Use of uninitialized value $debug of type Any in string context
psch El_Che: the alias needs to be named too
:d(:$debug)
not :d($debug)
El_Che yes, that's what I have in my code 14:16
RabidGravy psch, told you I was being dumb
flussence ShimmerFairy: I think there'd be riots in the streets if we started changing things from under the hardcore bash users (those exist :)
RabidGravy got hung up on the '{' and didn't notice the actual problem
ShimmerFairy flussence: as long as Perl 5 still has to check for shells that think true is false, I'm not sure we should put too much faith in what shells and their users think :P 14:17
El_Che psch: paste.ubuntu.com/13238598/ 14:18
psch El_Che: it works locally, as here gist.github.com/peschwa/1dc68ed6c8675320e7b8
ah
but not passing it doesn't set it false locally
just unitialized 14:19
14:19 duncan_dmg left
psch yeah, that's the same issue 14:19
El_Che psch: thx! 14:20
14:20 duncan_dmg joined
El_Che psch: I set the default to false and it works like intended 14:20
psch El_Che: typing as Bool is probably the best bet. it's still somewhat iffy (in that you need -/d to get an actual False)... or add a default, yes 14:21
m: say ?Bool
camelia rakudo-moar 43e9d3: OUTPUT«False␤»
El_Che it's a little non-obvious though. Should it be documented somewhere?
14:23 sprocket joined, raiph joined
El_Che I may be an old unix graybeard, but It's looks pretty important to me :) 14:24
14:25 tokuhiro_ left
psch well, if you declare it a Bool opt it behaves properly in semantically fitting context 14:27
but yeah, it kind of creates a "if $option { #`[[ do option things ]] }" pattern for nameds to MAIN
well, unless you make them required 14:28
14:28 mr_ron joined
Skarsnik hm, is 'lookfor' is a good name for a method that try to find XML::Element on an XML::Element according to a query. 14:31
donaldh github.com/rakudo/rakudo/pull/582 14:33
Skarsnik eg: my $extradiv = $storydiv.lookfor(:TAG<div>, :class<extra_story_data>, :SINGLE); (it's just a shortcut for $storydiv.elements(:TAG<div>, :class<extra_story_data>, :SINGLE, :RECURSE);)
donaldh ^ Fixes build on JVM.
El_Che just a last question about the built-in command line parsing magic. Can I call the builtin-usage myself (ie. with no user provided sub USAGE {}). I think e.g. for doing some basic parameter checking and callig a bsic USAGE when needed.
(I know I can create an USAGE myself, just looking for shortcuts, like in the case when a certain parameter required except when you use --help or --version and the like) 14:34
psch El_Che: make the parameter required and add a multi candidate the only takes --help? 14:36
dalek kudo/nom: 1a7af1a | donaldh++ | Configure.pl:
Unbust Makefile generation in Configure.pl.

fill_template_file was getting called before the common_bootstrap_sources had been read.
kudo/nom: 25f032a | FROGGS++ | Configure.pl:
Merge pull request #582 from donaldh/configure

Unbust Makefile generation in Configure.pl.
psch s/the/that/
El_Che I'll try that. I though that would make the USAGE output incorrect 14:37
14:37 azawawi left
psch USAGE lists every candidate 14:37
although it doesn't note if a named is required, which it maybe should 14:38
El_Che It looks like someone thought hard about this stuff :)
RabidGravy okay, so this might be my last stupid grammar question for the day
jdv79 if i use fatal can i unuse it in a lower scope? 14:39
El_Che psch (and *): that's for your effort. It works indeed as designed 14:40
14:40 perlawhirl joined, xpen joined
El_Che If I need to document the alias for short options, ping. I am pretty sure I am not the only one that will hit that bump. 14:41
RabidGravy assuming I have a rule that matches a thingy of the form '{term:1}' and its friends in <expression>, how would I match "example.com/dictionary/{term:1}/{term}" say?
El_Che I will write a small blog post about it in the meantime 14:43
RabidGravy obviously .*<expression>+.* only gets the first expression
14:44 AlexDaniel left, zengargoylew joined, srvsh left
sjn r: say .^methods # could be more useful? 14:45
camelia rakudo-moar 43e9d3: OUTPUT«(Method+{<anon|66845920>}.new Method+{<anon|66845920>}.new Method+{<anon|66845920>}.new cache Method+{<anon|66845920>}.new Method+{<anon|66845920>}.new Method+{<anon|66845920>}.new Method+{<anon|66845920>}.new Method+{<anon|66845920>}.new Method+{<anon|668…»
..rakudo-jvm 3d7f84: OUTPUT«(Method+{<anon|1848417011>}.new Method+{<anon|1848417011>}.new Method+{<anon|1848417011>}.new cache Method+{<anon|1848417011>}.new Method+{<anon|1848417011>}.new Method+{<anon|1848417011>}.new Method+{<anon|1848417011>}.new Method+{<anon|1848417011>}.new Me…»
RabidGravy like 14:46
psch m: say 'abc {ABC} def {DEF}' ~~ / [ $<a>=['{' ~ '}' <-[{]>+] ]+ % <-[{]>+/ # ..?
camelia rakudo-moar 43e9d3: OUTPUT«「{ABC} def {DEF}」␤ a => 「{ABC}」␤ a => 「{DEF}」␤»
RabidGravy m: say .^methods>>.name # like 14:47
camelia rakudo-moar 43e9d3: OUTPUT«(EXISTS-KEY DELETE-KEY DELETE-POS cache list flat eager List Slip Array hash Hash elems end keys kv values pairs antipairs invert pick roll iterator classify categorize rotor reverse combinations permutations join nodemap duckmap deepmap tree push append u…»
psch m: say 'abc {ABC} def {DEF}' ~~ / [ $<a>=['{' ~ '}' .+?] ]+ % <-[{]>+/ # bit more concise
camelia rakudo-moar 43e9d3: OUTPUT«「{ABC} def {DEF}」␤ a => 「{ABC}」␤ a => 「{DEF}」␤»
Skarsnik hm, what operator I need to overload to write my T $t; $t{'stuff'} (same for <> I guess?)
psch Skarsnik: no operator, method AT-KEY 14:48
Skarsnik: doc.perl6.org/language/subscripts#Custom_types
xenu 15:33 < donaldh> github.com/rakudo/rakudo/pull/582
whoops, sorry about breaking that
for* 14:49
Skarsnik thx psch
RabidGravy psch, this is why I shouldn't be allowed near grammars my poor branes can't parse that at all 14:50
but I think the ' % <-[{]>+' is what I am looking for 14:52
psch RabidGravy: gist.github.com/peschwa/02e594f87303f2ddd9c2 14:53
well, minus the off-by-one for the group positions :P 14:54
RabidGravy cheers, let me have a look 14:56
PerlJam psch: In P5-land there's a module called YAPE::Regex::Explain. IF such a thing existed in P6-land, that could have saved you some time :) 14:57
donaldh github.com/rakudo/rakudo/pull/583 14:58
^ FIxes noisy Configure.pl on JVM
15:04 khw joined, Moskon joined 15:06 Mouq joined 15:09 Moskon2 joined
dalek rl6-roast-data: 5a55032 | coke++ | / (9 files):
today (automated commit)
15:13
psch PerlJam: yeah, that might be a cool thing to have eventually
PerlJam: for it's not yet at the point where (wanting to) explain regexen happens often enough that i'd save time by writing it... :) 15:14
PerlJam yeah. same here. I've thought about it off and on for a few years now and it's never bubbled up to the stage where I want to actually do it. 15:15
RabidGravy psch, cheers matey with your decisive input I got it:
m: my regex expression { '{' .+? '}' }; my regex bits { <-[{]>+ }; say 'abc {ABC} def {DEF} ghi' ~~ / <bits> <expression>+ %% <bits>/ 15:16
camelia rakudo-moar 25f032: OUTPUT«「abc {ABC} def {DEF} ghi」␤ bits => 「abc 」␤ expression => 「{ABC}」␤ bits => 「 def 」␤ expression => 「{DEF}」␤ bits => 「 ghi」␤»
15:20 pippo joined
pippo o/ #perl6! 15:20
zengargoylew hrm... class HTTP::Header does Associative is Iterable { ... # would thing it does Iterable
jdv79 is there a way to "no fatal"? 15:21
b2gills m: 'a b'.words.map: -> $a?,$b? { say $a,$b}
zengargoylew or is HTTP::Header really a sub-class of Iterable in that example?
camelia rakudo-moar 25f032: OUTPUT«(timeout)ab␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤(Mu)(Mu)␤…»
15:24 brrt joined
jnthn jdv79: Yes, "no fatal;" :) 15:26
m: say (try { +'beer' }).WHAT; say $!;
camelia rakudo-moar 25f032: OUTPUT«Nil␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '7⏏5beer' (indicated by 7⏏)␤ in block <unit> at /tmp/aNmZVeciIv:1␤␤»
jnthn m: say (try { no fatal; +'beer' }).WHAT; say $!;
camelia rakudo-moar 25f032: OUTPUT«(Failure)␤(Any)␤»
jnthn Works fine :)
jdv79 yes. thanks. my fault. 15:27
jnthn :) 15:28
dalek kudo/nom: d510899 | donaldh++ | Configure.pl:
Fix noisy Configure.pl on JVM backend.

was complaining with: Use of uninitialized value {sysroot} in concatenation (.) or string at Configure.pl line 229.
15:29
kudo/nom: 3b15628 | jnthn++ | Configure.pl:
Merge pull request #583 from donaldh/noisy

Fix noisy Configure.pl on JVM backend.
15:35 gtodd joined 15:42 domidumont left
gtodd Util: what is the state of bluetiger ( perl5 to 6 converter script) these days? I assume it doesn't work perfectly .. happily so due to accelerated advance to Xmas :-) but I remember it being pretty good ! 15:43
15:43 domidumont joined
RabidGravy gtodd, see also DrForr's Perl::ToPerl6 15:47
El_Che I love memes as the next guy, but I don't think it has it's place in the standard documentation: doc.perl6.org/language/classtut#I_c...z_state%3F
gtodd RabidGravy: cool thanks! Maybe a deluxe set of those kind of tools is maybe more of a post Xmas thing :-) 15:50
15:50 tokuhiro_ joined
DrForr pricks up his ears. 15:51
gtodd esp. with Inline::Perl5 the perlitos etc.
flussence El_Che: you're right, but you're also the only person who's complained in 3 years apparently :)
gtodd ... the neat thing about bluetiger was it written in perl5 (correct?) so one could be learning perl6 and using one's perl5 at the same time
DrForr So's Perl::ToPerl6 :) 15:53
El_Che flussence: I'll do a PR
RabidGravy and it works (though I haven't looked for a while :)
El_Che and let's the powers that be decide :)
15:54 lostinfog joined
gtodd DrForr: :-) 15:54
15:55 tokuhiro_ left, pmurias left 15:56 ely-se left
RabidGravy psch, in case you were curious where all that was going it was for github.com/jonathanstowe/URI-Template - the grammar thing is all worky now :) 15:56
gtodd DrForr: was Perl::Perl6 a less difficult task than it might seem? perl6 is so ... organized ... with ermm ... a grammar of itself (?!)
brrt can i use q:x in an if statement 15:57
i'm doing
if q:x(dot -Tx11 foo.dot) { say "OK" }
and, it doesn't work
jnthn It's probably the parens
brrt in the q:x 15:58
jnthn Try a different quoter?
brrt ?
jnthn m: say q(hi)
camelia rakudo-moar 3b1562: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KTBM63mHj4␤Undeclared routines:␤ hi used at line 1␤ q used at line 1␤␤»
jnthn foo(...) will be interpreted as a function call
flussence El_Che: thinking about it, I kinda agree now might be a good time to tidy things up. having random lolcat references is effective for repelling unsavoury people but... lolcats have their own programming language. And I think we can come up with something better to reference :D
brrt oh, right 15:59
i was thinking of perl5 qw()
gtodd DrForr: I am half expecting something like a switch for Perl::Tidy one day: perltidy --5to6
DrForr That'll never happen, at least at perltidy's level of fidelity.
16:00 yqt left
gtodd DrForr: yeah ... and probably people will get by without it :) 16:01
DrForr Moving whitespace around is one thing, moving operators is harder but doable. Strings are rough, especially when you consider interpolation.
El_Che flussence: a theme is nice to keep a narrative. But in this case, we're making it too easy for trolls and people with prejudices
;)
16:02 pmurias joined
hoelzro good morning #perl6 16:04
jdv79 is there a way to get {map...} to not become a block?
{} is quite nicer than Hash.new()
when it works
jnthn %(...) is another alternative
16:04 xpen left
stmuk ok pl6anet.org has a simple google custom search box (based on perl6 urls with rss feeds) 16:05
jdv79 ah
stmuk maybe of some use
jnthn m: say hash { map { $_ => $_ * 2 }, 1..10 } # maybe this 16:06
camelia rakudo-moar 3b1562: OUTPUT«Odd number of elements found where hash initializer expected␤ in block <unit> at /tmp/vnOU4HdLVL:1␤␤»
jnthn Or not :)
m: say %( map { $_ => $_ * 2 }, 1..10 ) # should work nicely
camelia rakudo-moar 3b1562: OUTPUT«1 => 2, 10 => 20, 2 => 4, 3 => 6, 4 => 8, 5 => 10, 6 => 12, 7 => 14, 8 => 16, 9 => 18␤»
16:07 pmurias_ joined 16:09 diana_olhovik left, brrt left
jdv79 ah. i get why i was confused a bit 16:09
m: Hash.new(map {$_,$_*2},1,2,3).perl.say
camelia rakudo-moar 3b1562: OUTPUT«{"1" => 2, "2" => 4, "3" => 6}␤»
jdv79 m: %(map {$_,$_*2},1,2,3).perl.say 16:10
camelia rakudo-moar 3b1562: OUTPUT«Odd number of elements found where hash initializer expected␤ in block <unit> at /tmp/cxnwFbZ6uW:1␤␤»
16:10 pmurias left
jdv79 nice inconsistency type deal 16:10
got it though, thanks
16:10 ely-se joined
jnthn m: %(map {|($_,$_*2)},1,2,3).perl.say 16:12
camelia rakudo-moar 3b1562: OUTPUT«{"1" => 2, "2" => 4, "3" => 6}␤»
16:12 f3ew_ is now known as f3ew, xfix joined
ambs suggestion regarding perl6.org, make the link to rakudo.org/downloads/star/ apper somewhere else than under Windows section, as it includes source tarballs as well 16:13
16:13 donaldh left
ambs or if users follow the suggestion in the download page will get an outdated version: curl -O rakudo.org/downloads/star/rakudo-st....02.tar.gz 16:13
when 2015.07 is available
stmuk is anyone actively maintaining docker builds of star? hub.docker.com has a bunch 16:14
hoelzro stmuk: I am
there's an official docker build
hub.docker.com/_/rakudo-star/ 16:15
stmuk hoelzro++
PerlJam hoelzro++ nice 16:17
stmuk that probably should be on rakudo.org/how-to-get-rakudo/ 16:18
16:18 zakharyas joined
jnthn m: say "" 16:18
camelia rakudo-moar 3b1562: OUTPUT«␤»
stmuk or that page basically imported onto perl6.org otherwise
jnthn m: use Test; is q :heredoc :c "EOF", "2+3=5\n", ':c applied after :heredoc has effect';␤ 2+3={2+3}␤ EOF␤ 16:19
camelia rakudo-moar 3b1562: OUTPUT«not ok 1 - :c applied after :heredoc has effect␤␤# Failed test ':c applied after :heredoc has effect'␤# at /tmp/Nh_kzYhb5k line 1␤# expected: '2+3=5␤# '␤# got: '2+3={2+3}␤# '␤»
16:19 ely-se left
jnthn m: use Test; is q :heredoc :w "EOF", <omg wtf bbq amazing cat>, ':w applied after :heredoc has effect';␤ omg wtf bbq␤ amazing cat␤ EOF␤ 16:19
camelia rakudo-moar 3b1562: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3qOIP9D1VX␤Heredoc adverb must be the last one␤at /tmp/3qOIP9D1VX:1␤------> 3use Test; is q :heredoc :w7⏏5 "EOF", <omg wtf bbq amazing cat>, ':w a␤»
16:21 yqt joined
dalek c: aa50021 | (Steve Mynott)++ | doc/Language/faq.pod:
faq reference to official rakudo star docker image
16:22
16:23 Moskon2 left, ribasushi left
Skarsnik hm, how I pass NULL to a nativecall function? 16:26
hoelzro Skarsnik: if the parameter is a char *, I believe just passing Str will do it
I think any type object is marshalled as NULL 16:27
jdv79 m: (my $a, my $b) = 1,2; say $a; say $b; # ok
camelia rakudo-moar 3b1562: OUTPUT«1␤2␤»
jdv79 m: (my $a, my \b) = 1,2; say $a; say b; # huh?
camelia rakudo-moar 3b1562: OUTPUT«5===SORRY!5=== Error while compiling /tmp/a3lsxqkNL7␤Term definition requires an initializer␤at /tmp/a3lsxqkNL7:1␤------> 3(my $a, my \b7⏏5) = 1,2; say $a; say b; # huh?␤»
jnthn jdv79: You can't list-assign to a \foo 16:28
jdv79 :( ok
jnthn jdv79: It's a "single static assignment" form and needs the initializer placed directly upon it
There's an RT from someone who wants it to work, but there's not an obvious way to do so. 16:29
jdv79 semantically it is, isn't it?
jnthn Either way, it's not getting addressed this side of 6.c
jdv79 ok, so maybe later but its on purpose kinda
jnthn If we make anything work, then it will be my ($a, \b) = 1, 2 16:30
Note that you can sig-bind
m: my ($a, \b) := 1, 2; say $a; say b;
camelia rakudo-moar 3b1562: OUTPUT«1␤(Any)␤»
jnthn heh, or I thought you could :)
That one probably should work already 16:31
But my ($a, $b) = 1, 2; actually desugars to my $a; my $b; ($a, $b) = 1, 2;
jdv79 oh ok
jnthn At which point you can see why it's a bit tricky to handle :)
jdv79 i should probably look at the ast once in a while 16:32
yes
thanks
jnthn np
16:32 ZoffixW joined
jnthn It's one of those things that visually looks like it wants to work some day... :) 16:32
ZoffixW ambs, do you mean suggestion for rakudo.org/how-to-get-rakudo/ and not perl6.org?
dalek kudo/nom: 8d4da82 | jnthn++ | src/Perl6/Grammar.nqp:
Apply adverbs after :heredoc/:to to herelang.

This means they affect the language that we parse inside the heredoc, which is rather more useful than affecting the language we parse the heredoc terminator with.
jdv79 i tried the my ($a,\b) and assumed it my () was wrong 16:33
dalek ast: 7a7165d | jnthn++ | S02-literals/quoting.t:
Tests for RT #120788.
jdv79 s/it/the/
jnthn Another xmas RT down :)
jdv79 woohoo@
!
ZoffixW jnthn++
jnthn That one was actually less hard to fix than I was fearing. :) 16:34
ZoffixW ambs, I think it's fine the way it is for the reason that the *nix section mentions the system's package manager and then suggests building from source due to current rapid releases. And the instructions in Build from Source fetch fresh sources from git
dalek ast: 98520ce | jnthn++ | integration/advent2013-day04.t:
Unfudge now-passing todo heredoc test.
16:35
jnthn ZoffixW: It'd probably be nice if we had a shiny "get Perl 6" page right on perl6.org rather than linking away from it 16:36
gtodd jdv79: so %(map {$_,$_*2},1,2,3) is trying to make a hash before the mapping happens and Hash.new(map {$_,$_*2},1,2,3) makes the hash out of the map ? or ??
jnthn ZoffixW: With a direct link to the MSI
ambs ZoffixW: exactly that page, sorry, didn't notice the redirection
Skarsnik Interesting, I need to write is export { * } if I put no space before the { (aka is export{) it complain for a missing block x)
gtodd jdv79: just trying to make what might appear to be an inconsistency seem ... erm .. sensible
16:36 ribasushi joined
dalek ast: 82c7b6b | jnthn++ | integration/advent2013-day04.t:
Remove no-longer-needed line endings hack.
16:37
ZoffixW jnthn, but that'd only apply to Windows users :P 16:38
16:38 raiph left
jnthn ZoffixW: Well, and appropriate other things for other platforms 16:38
ZoffixW: Like, tabs/headings by OS or so
Skarsnik m: sub foo is export{}; foo(); 16:39
camelia rakudo-moar 3b1562: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vTKguZ22Al␤A unit-scoped sub definition is not allowed except on a MAIN sub;␤Please use the block form.␤at /tmp/vTKguZ22Al:1␤------> 3sub foo is export{};7⏏5 foo();␤»
Skarsnik m: module A {sub foo is export{ say "hi"}}; foo();
camelia rakudo-moar 3b1562: OUTPUT«5===SORRY!5=== Error while compiling /tmp/M8bBbam4nt␤Missing block␤at /tmp/M8bBbam4nt:1␤------> 3module A {sub foo is export{ say "hi"}7⏏5}; foo();␤ expecting any of:␤ new name to be defined␤»
Skarsnik m: module A {sub foo is export { say "hi"}}; foo(); 16:40
camelia rakudo-moar 3b1562: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oRSIfzcYlT␤Undeclared routine:␤ foo used at line 1␤␤»
jnthn Skarsnik: Yes, the curlies probably get parsed as a postcircumfix on export
ambs ZoffixW: a link to that folder of releases in the "Manual installation" wouldn't hurt :)
Skarsnik is that a bug?
jnthn No
It's the reason is export(:foo, :bar) parses
It works just like the colon pair syntax 16:41
m: sub foo(:&bar) { bar() }; foo :bar{ say 'hi' } 16:42
camelia rakudo-moar 3b1562: OUTPUT«hi␤»
jnthn So you could use it to pass a block to a trait_mod
pmurias_ jnthn: other than IO/concurrency/introspecting unicode/runtime module loading are there things that I should avoid having on the list of roast tests that should work on rakudo-js?
16:43 pmurias_ is now known as pmurias
jnthn pmurias: Well, other OS interaction maybe 16:43
pmurias: If you're going in the "focus on the in-browser use case" direction
Skarsnik I still don't know see why x) ( and { are not the same. or could I write is export{some block} {sub def} ?
pmurias jnthn: the "in-browser use case" seems to be what the people want 16:44
hoelzro pmurias: that reminds me to comment on your post =)
jnthn pmurias: *nod*
dalek c: b9ed04d | [email@hidden.address] | doc/Language/classtut.pod:
Replace lolcat by neutral title
c: 51a087c | (Zoffix Znet)++ | doc/Language/classtut.pod:
Merge pull request #196 from nxadm/master

Replace lolcat by neutral title
hoelzro or should I just leave feedback with you here on IRC?
pmurias hoelzro: what's more convinient for you
hoelzro here, tbh =)
jnthn Skarsnik: You could write that, yes, though the export trait doesn't actually know what to do other a block
16:44 colomon left
hoelzro pmurias: I guess I would just echo the desire for browser stuff; that's what got me working on nqp-js the little bit I have 16:45
jnthn pmurias: MoarVM's oplist basically is a complete set of "things the runtime has to provide"
pmurias: So you could look through that too :)
RabidGravy pmurias, I'm holding out for the couchdb query server myself ;-)
16:46 colomon joined
Skarsnik jnthn, I don't want to be annoying, but should a better error message could be nice? I mean it's not really obvious a missing whitespace here make it fail x) 16:46
jnthn std: sub foo is export{1} 16:47
camelia std : OUTPUT«No such file or directory»
jnthn aww
:)
ZoffixW jnthn, that would require some sort of code to mirror the content and only Windows users benefit since on other platforms Rakudo's site recommends using perlbrew.
ZoffixW leaves that to better minds to solve
camelia std : OUTPUT«(timeout)cat: /home/camelia/std/snap/revision: No such file or directory␤»
jdv79 gtodd: thanks. i'm still not used to p6's list handling
jnthn Was going to see if STD did a better error there, but not sure it does
16:48 mr_ron left
jnthn Skarsnik: Perhaps so, though you learn pretty quickly in Perl 6 to not be cheap with whitespace around infixes and anything that could be taken as the start of a postfix. :) 16:48
Skarsnik: Feel free to file it as an LTA error. We can probably work something out. 16:49
gtodd jdv79: I don't know for sure if I am correct ? 16:51
jdv79 not sure. its but a drop in the bucket of what i'm doing so i moved on or i'll never finish. 16:53
thanks though!
16:54 AlexDaniel joined
pmurias sp_* ops are spesh ones? 16:55
jnthn pmurias: yes, you can ignore everything once you reach those 16:56
(Since they're not allowed in bytecode files)
pmurias most of the ones in MoarVM seem familiar, some of the p6* ones in rakudo seem less obvious 16:59
16:59 mr_ron joined
jnthn pmurias: I'd not worry about those 17:00
pmurias: They are mostly bits of control flow trickery, signature binding interaction, and so forth.
pmurias: Or to improve code-gen
pmurias: They don't do I/O and so forth
jdv79 is there a way to index into a pos or assoc container with the same syntax? 17:01
jnthn No; we don't confuse the two (and some objects can provide both) 17:03
psch you can try both in sequence at best
17:03 domidumont left
jdv79 that's what i'm doing. just trying to tersen it up a bit 17:03
ok
17:04 kjs_ joined
jdv79 Perl6 refuses to be as confused as me. I guess that's a good thing;) 17:04
pmurias a lot of the more complex features seem to be built out of simpler building blocks and code in the setting, so assuming I get the building blocks right a lot of the more complex Perl 6 features should just work? 17:05
jnthn pmurias: Yes 17:06
pmurias: A lot of complexity lies in the compiler too, written in NQP
pmurias: Experience has been that getting to having a running Rakudo is a good bit of effort, but once you're at the point of being able to run Test.pm you find you've already got a heck of a lot working. 17:07
pmurias thanks, seems a lot of better than having to battle for every single test ;) 17:08
17:08 pmurias left 17:09 ZoffixW left 17:11 softmoth_ left 17:19 domidumont joined
jnthn masak: About? 17:26
dalek kudo/nom: 74fcb36 | jnthn++ | src/Perl6/ (2 files):
Ignore \n and \r\n during heredoc dedenting.

We probably make the optimizer a little extra constant folding work with this solution, but it's unintrusive and uses the already complex enough heredoc handling logic to do the heavy lifting.
17:27
ast: 0416b13 | jnthn++ | S02-literals/quoting.t:
Tests for RT #125543.
17:28
17:29 softmoth_ joined
jnthn colomon: ping 17:30
colomon pong?
jnthn colomon: Were you talking about the heredoc and \t issue the other day?
colomon jnthn: yes
jnthn Or am I remembering wrong? :)
ah, cool
I've fixed 2 of the 3 heredoc tickets flagged for xmas and the \t one is the third
17:31 muten joined
jnthn In rt.perl.org/Ticket/Display.html?id=120895 17:31
It gives the example of an explicit \t
colomon I started to look at it, and it looks to me like rakudo is hard coded to use tab stops of 8
(rakudo’s source, I mean)
jnthn Rather than actual tab literals in the source
colomon I think that was the source of what I was seeing.
muten m: my uint8 $i = 200; say $i
camelia rakudo-moar 74fcb3: OUTPUT«-56␤»
muten Is that a known issue?
17:32 mr_ron left
jnthn muten: Yes, unsinged int types are only paid attention to for the purpose of NativeCall and native arrays for now. 17:32
colomon: For your use case, do you have \t in your source?
Or actual tab chars?
muten Ah, okay. Thanks
17:33 pippo left
jnthn colomon: Because my inclination is to make a \t escape in the source not be considered at all as part of the dedenting, which I *think* will fix the vanishing tab problem 17:33
colomon: At least so far as the ticket goes. But I wanted to check in on your use case too. 17:34
17:34 dbrock joined
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 6a05e9e | (Zoffix Znet)++ | / (5 files):
Build script now successfully builds db and restarts app
17:36
TimToady the dedenting is supposed to be pre-interpolation of any sort
yoleaux 12:50Z <jnthn> TimToady: The backref thing ended up with a "latest contiguous matches" constraint being wanted (unless we want to bust another use case). Also, because we are smart enough already to be able to locate captures without constructing the full Match object, the backref methods on Match/Array weren't useful, so I tossed them.
jnthn TimToady: Just made it so for things like \r\n and \n 17:37
TimToady the only purpose of the dedent is to pretend there was a different left margin in the whitespace of the *program*
saw that
jnthn Right, so same treatment for \t and \r now building
TimToady cool
jnthn My question is more "is that sufficient to consider the RT resolved"?
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 44e5f9f | (Zoffix Znet)++ | / (50 files):
Rename "web" directory, since it no longer does web stuff
17:38
jnthn Where "the RT" is rt.perl.org/Ticket/Display.html?id=120895
17:38 llfourn joined
jnthn Got a patch that fixes the actual case in the RT :) 17:38
17:38 zakharyas left
jnthn So I guess "yes" :) 17:39
17:40 diana_olhovik joined
skids There is a pr, BTW, for something related. Though it has gone stale. 17:42
colomon jnthn: sorry for disappearing there. I have an actual tab in my source. My impression (possibly wrong) is that \t will do the same thing as an actual tab here?
jnthn: like I tried to say, I’m suspicious my problem is that I’m using tab stops of 4 in my source code, but Rakudo wants tab stops to be 8. 17:43
but I haven’t had time to investigate properly.
17:43 pat_js left
skids PR#543 17:43
zengargoylew i dunno, but Perl 6 has a butterfly for a mascot/logo and »ö« and Tolkein, i don't see an issue with lolcats occasionally in the doc. Perl 5/6 documentation seems to have a bit of fun now and then.
17:45 abraxxa left, dbrock left, ^elyse^ joined
jnthn colomon: Now \t will behave differently 17:46
colomon: A \t will be ignored by the heredoc dedenting
skids
.oO(son't I rmember a passage in The Hobbit where Frodo climbs a tree in Mirkwood and sees sunlight and butterflies?)
17:47
colomon Actually I just tried that and it did not work
exact same result as a real tab
Isn’t variable interpolation and special chars done before passing to dedent? 17:48
jnthn colomon: Sorry, I meant "wiht my local patch"
Not any more
Well, \t used to be
But now it's not
colomon oh.
jnthn \n used to be also; I've fixed that one already
colomon for what it’s worth, I thing explicit \t is a bad thing
it makes the heredoc much uglier.
skids s/Frodo/Bilbo/ 17:49
jnthn: which parts of PR#543 should I resubmit, then, since that is now taken care of?
jnthn OK. The ticket as filed was about a \t
colomon jnthn: I really think the problem I’m seeing mostly has to do with tab stops being 8 17:50
dalek kudo/nom: 2cac8c1 | jnthn++ | src/Perl6/Actions.nqp:
\r and \t in heredoc don't participate in dedent.
ast: 51ef478 | jnthn++ | S02-literals/quoting.t:
Test to cover RT #120895.
17:51
jnthn colomon: OK, then I think that's quite out of scope for the ticket in question.
colomon jnthn: fair enough.
17:52 diana_olhovik left
jnthn (So, I count this as done; please file an RT with your case if you think something's wrong in Rakudo.) 17:52
colomon what is the $?TABSTOP constant supposed to do? I mean, why the ? twigil?
17:52 tokuhiro_ joined 17:54 perlawhirl left
jnthn That means "compile time constant" 17:54
17:56 tokuhiro_ left, FROGGS joined
FROGGS o/ 17:57
jnthn o/ FROGGS 17:58
Just fixed one of your RTs ;)
17:58 dakkar left
FROGGS jnthn: yeah, seen it :/ 17:59
jnthn Why the :/ ?
FROGGS $work has just been too much lately
I wanted to do stuff too
jnthn Ah, I meant "one you filed", not "one you'd taken to fix" :)
skids colomon: $?TABSTOP went through some churn and landed at "should be assignable but only at compile time", which probably means we're in need of a :tabstop adverb to Str.indent() these days, and last time I checked the "assignable at compile time" part was NYI, IIRC.
jnthn Ah
$work can do that :/ 18:00
Whew. On the same day I did the last regex related xmas ticket, I also got all the heredoc related ones nailed. :) 18:01
colomon skids: right, assignable at compile time doesn’t seem to work. I guess we could have an adverb for heredocs, too?
FROGGS I mean, there were challenging and fun tasks at work, but working more than ten hours every day is a bit unfun after a few weeks
wow
jnthn++
skids colomon: I think heredocs are supposed to use the compile-time part, lexically scoped.
jnthn FROGGS: Yeah, ten hours is...a bit much 18:02
FROGGS jnthn: especially when it is like much more than ten :o)
jnthn Ouch
Can see why you've not had time, anyway 18:03
moritz any it's better not to burn out 18:04
jnthn TimToady: Today's hopefully-not-too-hard design ruling request: rt.perl.org/Ticket/Display.html?id=71112 . It boils down to whether sub foo { @_ } is equivalent to sub foo(*@_) { }. Assuming so, is the following fine:
m: sub foo(*@_) { @_[0] = 1; say @_[0] }; foo(0) 18:05
camelia rakudo-moar 74fcb3: OUTPUT«1␤»
jnthn That is, can you modify your own slurpy array?
18:05 zakharyas joined
jnthn (Given the lack of "is raw", you're not in any way affecting the callee, so if it passed foo($a) then $a would be unaffected) 18:05
My take: the status quo is fine, we can reject the RT. 18:06
But you previously expected it to blow up, so... :)
skids: About your PR, I think only 79487c1d346 is invalidated by my fix; the other two stand 18:10
(Since they are about the indent method itself)
skids jnthn: OK, should other vertical space characters considered line endings in normal code not behave that way? 18:11
18:11 ggoebel joined
dalek osystem: 00c7478 | (Zoffix Znet)++ | server/updatelist.pl:
Normalize source urls
18:11
href="https://modules.perl6.org:">modules.perl6.org: 31b9712 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
Normalize dist URLs

Otherwise, we often end up missing github repo URLs from dists
18:12
jnthn skids: Anything that's expressed as an escape sequence shouldn't be considered in the dedent
skids: Anything that's literal whitespace can be 18:13
18:13 ifim joined
jnthn skids: I think indent handling over things matching \v makes sense 18:13
18:17 andreoss left 18:18 muten left, Oatmeal left 18:19 sufrostico left
dalek ast: 6d71025 | jnthn++ | S13-overloading/typecasting-long.t:
Correct wrong CALL-ME tests.

SomeType() is always a coercion type literal, and shorthand for SomeType(Any). Therefore, we don't expect it to lead to a CALL-ME invocation. Use SomeType.() to force that. Replace bogus tests with tests that these forms really are coercion type literals. Resolves the last issue in RT #114026.
18:19
zengargoylew m: my &safelog = &log o &abs; say safelog -e; 18:21
camelia rakudo-moar 2cac8c: OUTPUT«1␤»
18:22 espadrine left
zengargoylew i did not know about compose... 18:22
jnthn TimToady: I figure you'll be happy with the call I made in 6d71025; let me know if not. :) 18:23
18:23 yqt left
zengargoylew anybody know the name of the unicode version of the 'o' there? 18:24
jnthn m: say uniname('∘') 18:25
camelia rakudo-moar 2cac8c: OUTPUT«RING OPERATOR␤»
zengargoylew thanks much. 18:28
TimToady I'm okay with @_ defaulting to 'is copy' semantics, so we can close 71112 18:29
jnthn: and I think 6d71025 is going the right direction 18:30
zengargoylew i fear Perl 6 will make me find a good terminal/font setup. xterm bitmap fonts are a bit lacking in readability and character coverage. 18:31
flussence uses nice, safe, bland dejavu sans mono
skids currently I use pterm, which despite the Windows "heritage" is pretty solidly better than everything based on the common widget sets. Though I had to hack in the second paste clipboard. 18:32
jnthn TimToady: Thanks. 18:33
TimToady though something bothers me about the contiguous backref rule, because contiguity is independing of the scoping, and we'd really like it to pay attention to the [], not the contiguity 18:34
*independent
skids zengargoylew: github.com/skids/customizations/tr...ster/putty # patch to add second clipboard to pterm, and why I chose it over others.
zengargoylew i haven't experimented in a while. last time i tried gnome-terminal like things with their client/server approach all too often i ended up blowing up one terminal and loosing all of my terminals. 18:35
that and the lack of right-button-extend and middle-button-paste turned me away. all those libvte based terms are the same. 18:36
TimToady I mean, on some level, the correct answer is to use () outside instead of [], because we designed $0 to transcend [] scope, so the contiguity rule feels like a complete hack to me
it's kinda like the fake lexical scopes that P5 installs here and there 18:37
skids zengargoylew: yeah, so after rejecting anything based on VTE, there was not much left, and when I looked at the rxvt source trying to mod it I ran away screaming and promising never to use it in a security-sensitive environment. 18:38
TimToady and what happens if your $0 is accidentally contigous with the previous iteration?
18:38 polettix left
TimToady *guous 18:38
18:38 polettix joined
TimToady jnthn: so I think my .backref plan is still correct, and we should force the other usage to use () rather than [] 18:39
zengargoylew i'd believe that. i saw occasional weirdness using rxvt.
TimToady well, correcter, given Array.from/.to is a different kind of hack
jnthn TimToady: I can remove the contiguous rule and update the tests 18:40
TimToady: I don't think we need a .backref method; it's easy (and way faster) to figure the same thing out by looking at the cursor stack
TimToady I'm thinking users might want .backref too 18:41
since ~$0 produces the other thing
jnthn Hm
18:41 krunen joined
skids zengargoylew: anyway someday I'll get fed up enough to add an option to bump-the-screen-up-but-don't-use-the-alt-window and life will be perfect. 18:41
jnthn OK. Even if it survives, I still don't think I'll end up deoptimizing backrefs in regexes to construct a match object and call it 18:42
And that means we can maybe pick a better name than .backref
TimToady why would it constuct a match object? .backref just returns a string
jnthn You implemented it on Match and Array 18:43
18:43 polettix left
jnthn At the point we see the $0 in something like /(\w)$0/ we didn't build a Match object yet 18:43
TimToady you already have a Match or an Array in that case
jnthn Not automatically, given we build them lazily
TimToady well, I'd still like to cursors in flight to pretend to be match objects at some point 18:44
*to allow
jnthn And we still have to search the cursor stack
I guess I can then call .backref on what I get
TimToady but I'm fine with faking it for internal
jnthn Well, .MATCH.backref
OK
18:44 Khisanth left
zengargoylew skids: i'll give it a test drive, thanks. 18:45
18:45 jesper_ joined 18:46 Ven joined 18:49 Khisanth joined 18:50 krunen left
dalek ast: 19c27b7 | jnthn++ | S (60 files):
Expect Exception, not X::AdHoc.

The test suite we ship for 6.christmas should ideally be a subset of the 6.d suite, and later ones. Testing against `Exception` frees us to add further typed exceptions without breaking the promise in the existing tests. Testing againt `X::AdHoc` does not.
18:51
18:53 ilbot3 joined
dalek ast: 8b28ff8 | jnthn++ | S06-signature/unspecified.t:
Bring tests in line with RT #71112 ruling.
18:54
18:55 kjs_ left, duncan_dmg left, pippo joined
pippo exit 18:55
18:55 pippo left
jnthn Phew, back down to 21 pages of tickets, not 22 :P 18:55
18:56 krunen joined
skids jnthn++ 18:56
jnthn TimToady: Time for dinner/rest here so I'll deal with the backref thing tomorrow.
TimToady
.oO(6.d should have a liskovian relationship to 6.c)
18:59
yoleaux Sorry, I couldn't find a definition for 'should have a liskovian relationship to 6.c)'.
TimToady say wot?
jnthn .d annoying
yoleaux annoying (/əˈnɔɪɪŋ/): adj. Causing irritation or annoyance — is.gd/bxwfAt 19:00
jnthn heh :)
RabidGravy I wot not what
TimToady .foobar.d baz
yoleaux Sorry, I couldn't find a definition for 'baz'.
jnthn TimToady: One other thing to ponder: should you be able to callsame multiple times? ( rt.perl.org/Ticket/Display.html?id=125783 is the ticket in question)
19:00 softmoth_ left
jnthn TimToady: At the moment callsame essentially pulls from an iterator 19:01
TimToady: And so "consumes"
TimToady well, so that the child might also consume
jnthn Right, well, that was the idea, that you were going to do a callsame each step of the way :) 19:02
19:02 yqt joined
jnthn But if you do multiple you break things 19:02
You can't do this with nextsame/nextwith
TimToady maybe we need a way to take a ref to what would be called
jnthn So it's only the callsame/callwith variants that need thinking
We could do that. Or I can probably amke it Do The Right Thing with a well-placed .clone :)
*make
At the price of the clone. 19:03
TimToady right
not sure we want to penalize everyone for that
jnthn *nod*
Thus why I didn't think it was an obvious "yeah, bug" :)
TimToady maybe have a callpeek that returns the front 19:04
jnthn Could do :)
TimToady except...that doesn't actually work out 19:05
since the child still needs the trimmed list each time, presumably 19:06
well, callpeek trims the list but returns the ref
jnthn Yeah, the latter would do it
TimToady wouldcall
peek kinda says it doesn't shift it, which it does 19:07
19:07 zakharyas left 19:08 diana_olhovik joined
jnthn Yeah 19:08
TimToady or nextref, or somethin
jnthn aye...
TimToady callnextref would be good huffman :) 19:09
nextcallref is maybe clearer
19:09 MadcapJake joined, Ven left
jnthn Yeah 19:10
TimToady since the former could be taken to imply a call
19:10 MadcapJake left
jnthn Something with callee in may also work 19:10
But I can't quite nail it
TimToady nextcallee wouldn't be so bad
jnthn But it avoids call (verb) being confused with call (noun)
19:11 MadcapJake joined
TimToady and I'm in favor of avoiding the "ref" meme 19:11
19:11 MadcapJake left
TimToady all in all, I'm pretty happy with "nextcallee" 19:12
19:12 MadcapJake joined, rangerprice joined
jnthn OK, thanks. 19:12
So, that's a ticket I can plug away at tomorrow :) 19:13
19:13 diana_olhovik left
MadcapJake Is there Perl6ish reason why using a C library with nativecall is always ending in a segmentation fault (always after successfully completing all the native calls I make) 19:13
jnthn And there's another one about deferal too, so I'll look at it. 19:14
MadcapJake: Probably means memory was mis-managed somewhere along the way
hoelzro MadcapJake: which library? could you show us a failing example? 19:15
jnthn MadcapJake: Running it under something like valgrind or ASAN will likely show up the details
OK, I should go tend to the cooking. o/
19:16 rangerprice left
MadcapJake i tried gdb, haven't tried valgrind yet. (I am a complete C newb), let me put this up in a gist, brb 19:16
gist.github.com/MadcapJake/c92646b1124744888667 19:18
19:18 virtualsue joined
MadcapJake btw, I tried `gdb -ex r --args perl6 file.p6` but that says "no executable". Am I doing it wrong? 19:18
moritz MadcapJake: perl6 is actually a shell script (wrapper around moarvm) 19:19
MadcapJake: which gdb doesn't like
MadcapJake: there's a perl6-gdb-m installed along with perl6-m that runs your perl 6 program under gdb for you 19:20
MadcapJake yeah i figured that, just noticed that in python you could do that form that I posted above, so thought maybe it was an accepted standard for shell scripts to interface to gdb
oh sweet
"Program received signal SIGSEGV, Segmentation fault." o_O 19:21
19:22 Moskon left
mrf evening 19:25
psch jnthn: i think i have #74414 figured out, but it apparently somehow messes with Range.new ordering 19:29
jnthn: as in, we don't reach the Complex candidates for some reason... 19:30
jnthn: i guess in the end that means i don't have it figured out... :P
19:30 kjs_ joined
psch jnthn: as in, i've got a MultiCache patch that pays attention to rwness, but somehow that messes with Range.new candidate ordering 19:30
19:31 jesper_ left
RabidGravy MadcapJake, if you haven't alreadt figured it out, you can find what it thought it was doing by typing 'bt' at the gdb prompt 19:33
19:34 kjs_ left
timotimo earlier today people talked about the "ws-*" era; what was that about? all i know ws for is "websockets", but that doesn't seem old enough to already be called an "era" of the past 19:36
RabidGravy sometime I find valgrind more useful for these as it shows where you messed up the memory
timotimo, Web Services 19:37
i.e the ws-security etc related to soap
19:39 ^elyse^ left, ifim left
psch hm, apparently (Whatever, Mu) ends up narrower than (Mu, Complex) on my current rakudo state 19:40
didn't verify against nom HEAD yet though... 19:41
MadcapJake RabidGravy: How do I use valgrind with perl6? 19:42
19:43 softmoth_ joined
FROGGS MadcapJake: perl6-valgrind-m myscript.pl 19:43
RabidGravy perl6-valgrind-m :)
19:43 virtualsue left, polettix joined
MadcapJake lol xD 19:43
FROGGS *g*
RabidGravy (assuming you have valgrind installed)
19:43 polettix left
psch welp, confirmed. something in my rwness patch on rakudo level pushes (Complex \min, \max) and (\min, Complex \max) out of the tie group the Whatever candidates are in... 19:44
MadcapJake i do, i just can't grok the output :P
oh, it wasn't done yet, it's quite slow
RabidGravy yeah instruments all the memory allocations 19:45
MadcapJake lol "19496 errors from 211 contexts"
zengargoylew MadcapJake: what's the signature for the string inputs on those library calls? i know with strings there's sometimes a need to tell NativeCall not to free the strings until you tell it to.
FROGGS MadcapJake: just look for invalid read and invalid write 19:46
zengargoyle: that's also what I am thinking btw
zengargoylew i.e. does the library make its own copy of the strings you pass in or not?
everything elso looks ...simple-ish... 19:47
MadcapJake oh, here's one of the native subs "sub fluid_synth_sfload(FluidSynth, Str, int64) is native(&libfluidsynth) { * }"
FluidSynth is a `repr('CPointer')`
zengargoylew right, is that Str a char * or a const char * or what in the actual headers/library
psch FROGGS: that's pretty much the same behavior as with the portaudio bindings i asked you to look at, isn't it?
RabidGravy what's the C signature of the above?
psch as in, it extends beyond C strings 19:48
MadcapJake ohh, yeah it's a `constant char *`
RabidGravy explicitly-manage($string) then
MadcapJake Around the argument when calling it or in the declared parameters? 19:49
RabidGravy you need to guarantee that perl won't dick with the string after the function returns
before you call the sub, on the string you pass as an argument 19:50
btw +1 on a fluidsynth binding :)
zengargoylew method set(Str:D $setting, Any $val) { probably explicitly-manage($setting) # but you might have to make your own copy first since it's an arg??? # i dunno that 19:51
or maybe for $val when it's Str
FROGGS psch: I don't remember what the issue was...
MadcapJake oi, well that doesn't have a `const` keyword in the C docs 19:52
zengargoylew then it's probably the one you have to do it on. ..
psch FROGGS: "SEGV or coredump" iirc. maybe not actually related...
zengargoylew: explicitly-manage is called from the trait "is explicitly-managed" iirc..?
zengargoylew try both and see if it still bombs. :)
i haven't had to use it yet... my one library thing does ints and strings that it *has* to copy and muck about with. 19:53
i'll try and remember that trait though.. 19:54
19:54 sufrostico joined
RabidGravy psch, I am going to get back to portaudio at some point 19:56
20:00 geraud joined
MadcapJake So I added explicitly-manage to all the const char * calls and it still is giving me segmentation fault 20:00
I updated the gist: gist.github.com/MadcapJake/c92646b1124744888667 20:01
20:01 ^elyse^ joined
psch RabidGravy: well, you've got a commit bit :) 20:02
20:03 RabidGravy left
Skarsnik MadcapJake, when does it crash? after the delete stuff? 20:04
20:05 vendethiel joined
MadcapJake `is explicitly-managed` didn't work, says it's an unknown trait 20:06
Skarsnik: yeah after that
Skarsnik that's weird x) 20:07
psch yeah, i was wrong about explicitly-managed as a trait
Skarsnik I suspect delete get called twice 20:08
20:08 darutoko left
Skarsnik like on exit the GC call delete on the object? 20:08
MadcapJake well i am specifying my own delete, should i be naming that differently? 20:09
Skarsnik yes, but maybe something like that happend: You call delete manually, then p6 call delete on exit 20:10
add some say on the delete stuff?
hoelzro the Perl 6 GC shouldn't perform any additional deletion on pointers from NativeCall'd subs
hoelzro .oO( there's that word "should" again )
psch yes, a suspicuous word it is 20:11
like, my "rw is tighter than non-rw" *should* not influence ordering of (and tie-breaking between) different typed method that all don't use rwness...
but it does vOv 20:12
+patch
MadcapJake `:%s/delete/del/g` still gives me seg faults
20:12 RabidGravy joined
psch i think !sort_dispatchees_internal is borked 20:15
that's a somewhat reaching accusation, because i'm not completely sure what it actually does
but i see the same candidate in two different tie-groups on nom HEAD
20:18 kjs_ joined
MadcapJake how can i capture ouput from perl6-valgrind-m? I tried `>>` and it only gives me any stdout that i've printed. 20:20
psch MadcapJake: 2> (and 2>>) redirects STDERR 20:21
MadcapJake: combining them is 2>&1 or 2&>1, i always have to look up which myself :P 20:22
MadcapJake ohh cool!
psch MadcapJake: man bash ;P
psch .oO( bash: P: command not found )
MadcapJake It's just &>> apparently
moritz 2>&1
also, perl6-valgrind-m $program |& tee file.log 20:23
|& pipes both stderr and stdout into a single command
psch |& less recently became a favorite of mine 20:24
20:24 spider-mario joined
psch i guess that's a decent mnemonic, the & is after the | there, so it also has to be after the redirect 20:24
moritz++ # bash knowledge
20:25 diana_olhovik_ joined
Skarsnik hm something like void(* GumboDeallocatorFunction)(void *userdata, void *ptr) 20:28
Should be the size of a void*?
hoelzro probably
I think that pointer size equality is not guaranteed
but it usually matches up 20:29
C leaves a lot up to the implementation
Skarsnik I forgot a field ><
20:30 domidumont left
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: fade303 | (Zoffix Znet)++ | / (8 files):
All styling is done
20:30
20:31 AlexDaniel left
MadcapJake Starting from the first delete call, there are thousands of invalid read and invalid write errors 20:31
20:31 AlexDaniel joined
Skarsnik hm, did you try with gdb? valgrind is quite.. verbose 20:32
MadcapJake In fact after deleting FluidSettings, there are no invalid read or write errors
20:33 Peter_R joined
MadcapJake i tried gdb and `bt` but i couldn't grok anything useful, i might just not know what I'm looking for xD 20:33
20:34 ilbot3 left, ilbot3 joined
psch MadcapJake: well, if the bad free happens in the fluidsynth lib you probably just get addresses 20:34
MadcapJake: building moar with --debug should give you symbols for moar at least, so that should be intelligable 20:35
MadcapJake I just looked over fluidsynth docs and found this little tidbit: "NOTE: Other users of a synthesizer instance, such as audio and MIDI drivers, should be deleted prior to freeing the FluidSynth instance."
i'm not deleting my audio driver (the tutorial didn't know that specifically), so maybe this is what i need to do 20:36
Skarsnik that's... sucks: Cannot put a type constraint on an 'our'-scoped variable
psch Skarsnik: i think that's just NYI 20:37
Skarsnik I need to expose a C global with export, but I can't affect it to something typed just behind if I don't type it
psch Skarsnik: patches welcome :)
Skarsnik oh it's just NYI? 20:38
MadcapJake haha, that was totally it! Well thanks for the exploration of C debugging tools and bash wisdom. I'm gonna keep hacking on this fluidsynth module, see ya all! 20:40
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 88389a5 | (Zoffix Znet)++ | db-builder/ (2 files):
Add --no-app-start option to the build script
20:41
Skarsnik is there something to display the memory used by a perl6 program?
in the code 20:42
tracking top display is not really useful x)
RabidGravy MadcapJake, look forward to seeing it, need more Audio:: modules ;-)
20:43 adhoc joined
hoelzro Skarsnik: I wrote a little NQP/MoarVM patch a while ago that adds a binding to meminfo 20:43
but it's not intended for being included
I also wrote a little Perl 5 script to track memory usage of a Perl 6 one
psch hrm
so i accidentally lost my rakudo changes (mishandling of git stash and git reset...) and redid them by memory 20:44
zengargoylew i got really say when you can't do sub foo(Str *@things) 'cause no typed slurpy
psch and now i don't get the Complex misdispatch and candidate misordering anymore
vOv
programming is weird, let's go programming
zengargoylew man $work keyboard is messing with my typing today.
moritz psch: ... and here I wanted to give you advice on how to recover a lost "git stash" :-)
psch moritz: i popped the stash, but resetted over it 20:45
hoelzro would the stash be in the reflog?
psch moritz: i gather it might still sit around somewhere, but it worked out in the end, apparently...
hoelzro even after popping?
Skarsnik maybe there is a something in /proc with the mem info?
hoelzro Skarsnik: there is
/proc/$pid/statm
Skarsnik: gist.github.com/hoelzro/86ad3e184efa1042d9d0
moritz hoelzro: probably not in the reflog, but in git fsck --no-reflog 20:46
hoelzro ahhh
psch now i gotta fork moar...
20:46 Actualeyes left
moritz also if you have the hash of stash in some terminal window, you can just apply it with "git stash apply $hash" 20:47
20:47 Amnez777_ joined
psch yeah, i came across apply recently, i think it also works with the top of the stash 20:47
as in "git stash apply"
which is probably the better workflow than pop 20:48
Skarsnik I guess there is a $*PID variable? 20:49
hoelzro m: $*PID 20:50
camelia ( no output )
hoelzro m: say $*PID
camelia rakudo-moar 2cac8c: OUTPUT«8849␤»
Skarsnik thx :)
dalek href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9605950 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/Dists.pm:
Documentation for ModulesPerl6::Model::Dists
20:53
20:56 hpd joined, virtualsue joined
hpd hi! perl6 -M JSON::Tiny -e 'say "Hello World"' takes over a second for me, the same thing with HTTP::UserAgent over 11. Might I be doing something wrong? I installed rakudo-2015.09 from archs AUR, which uses moarvm 20:58
dalek ast: 3fe83cf | usev6++ | S32-exceptions/misc.t:
Add tests for RT #126091
hoelzro hpd: I'm guessing that both modules are not precompiled; that's kind of a WIP 20:59
if they were precompiled, they would load a good deal faster 21:00
hpd hoelzro: ok, thanks. Is it possible to precompile them with panda? 21:01
btw, panda --help also takes over 7 seconds :)
hoelzro hpd: panda doesn't precompile things, I'm afraid 21:02
Skarsnik hm say slurp("/proc/"~$*PID~"/statm"); show nothing (but work with cat proc/id/)
hoelzro Skarsnik: you can also do /proc/self/statm
timotimo wow, i made it through the backlog 21:03
MadcapJake: are you still fiddling around with valgrind?
hoelzro hpd: I've been rather bad about keeping up with Perl 6 the last two months or so, so the story may have changed
21:03 rindolf left
timotimo MadcapJake: MoarVM will just exit when the program is done and not bother explicitly freeing things, so any heap sanitizer will scream "oh god, ALL THE MEMORY is LEAKED!" 21:04
hoelzro I think that panda is going to delegate how and whether to precompile to the perl6 command
21:04 diana_olhovik_ left
Skarsnik I am woried, my script take 0.1% more ram every second ~~ 21:04
hoelzro Skarsnik: what does your script do? 21:05
I have a memory leak that I need to fix
Skarsnik m: say slurp("/proc/self/statm");
camelia rakudo-moar 2cac8c: OUTPUT«24154 17370 5470 2 0 14071 0␤␤»
Skarsnik duh I get nothing
timotimo i usually "time" my perl6 programs, but that only gives you the peak memory usage 21:06
21:06 Amnez777_ left, Amnez777_ joined 21:08 tokuhiro_ joined
dalek ast: 01a65f4 | usev6++ | S32-exceptions/misc.t:
Add test for RT #126105
21:09
Skarsnik Basicly: parse a web page (happend every 15 sec?) get some id to call a json api with it (so a $ua.get) then create an object from it. and it grow like 0.1% of memory usage on top every second; (around 2Mo taken since mem is 2GB) 21:10
vendethiel 's glad he's mostly used .split("rn") and .ends-with
hoelzro if you're using any sub that has subsignatures, that leaks
vendethiel I only fixed a single script for $work /o/
hoelzro I think TimToady found a leek with for loops too?
s/leek/leak/
hoelzro waits for food jokes 21:11
timotimo .o( memory lead )
21:12 pmurias joined, tokuhiro_ left, softmoth_ left
llfourn m: my @a = <one two three>; for @a.kv -> $i,$num { @a.push("four") if $i == 0; say $num }' 21:13
camelia rakudo-moar 2cac8c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FKCvGOoRg_␤Strange text after block (missing semicolon or comma?)␤at /tmp/FKCvGOoRg_:1␤------> 3{ @a.push("four") if $i == 0; say $num }7⏏5'␤»
llfourn m: my @a = <one two three>; for @a.kv -> $i,$num { @a.push("four") if $i == 0; say $num }
camelia rakudo-moar 2cac8c: OUTPUT«one␤two␤three␤four␤»
llfourn I'm pretty sure that's cool
hpd hoelzro: I managed to precompile the all my installed modules and startup time for the second example did decrease by 10 seconds, thanks :) 21:14
hoelzro \o/
timotimo llfourn: yeah, that kind of thing happens when you have lazy iterators and such
llfourn: if you want "the other meaning", you could .kv.cache or .kv.list or .kv.clone or something
i shall try that
m: my @a = <one two three>; for @a.kv.cache -> $i,$num { @a.push("four") if $i == 0; say $num }
camelia rakudo-moar 2cac8c: OUTPUT«one␤two␤three␤four␤»
hoelzro hpd: you may encounter errors are version numbers when you upgrade rakudo; just so you're not surprised =)
llfourn :P
timotimo m: my @a = <one two three>; for @a.kv.clone -> $i,$num { @a.push("four") if $i == 0; say $num }
camelia rakudo-moar 2cac8c: OUTPUT«one␤two␤three␤four␤»
timotimo m: my @a = <one two three>; for @a.kv.list -> $i,$num { @a.push("four") if $i == 0; say $num } 21:15
camelia rakudo-moar 2cac8c: OUTPUT«one␤two␤three␤four␤»
timotimo god damn it! :P
Skarsnik gist.github.com/Skarsnik/65af8fd9fd898ff6eb2a basicly it grow for 0.1% for each show_mem call
hpd hoelzro: thanks :)
timotimo Skarsnik: you should stop calling show_mem, then! with 0.1% growth, you'll soon go into the real part of the exponential growth curve! :P 21:16
Skarsnik: with --profile you'll be able to (by looking at the GC tab) figure out if the script is leaking memory into the gen2 or if it should be cleaning up everything, but something ends up leaking anyway
Skarsnik: why are you using "eq" to compare against a number? 21:17
Skarsnik is there something else that the html output for profile? I think I saw a Qt thing
I don't like == x)
timotimo huh, ok
right, tadzik/p6profiler-qt on github
that doesn't have the GC tab yet, and when i tried to implement it, i got annoyed by my lack of familiarity with qt's model/view framework :| 21:18
Skarsnik: you'll want to --profiler-output (or --profiler-filename? i forget) to something with .json at the end, otherwise you'd have to manually cut out the json part from the html file 21:19
Skarsnik If I had less stuff to do I could look into it x) 21:20
llfourn m: my @a = <one two three>; for [@a.kv] -> $i,$num { @a.push("four") if $i == 0; say $num }' 21:21
camelia rakudo-moar 2cac8c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wGOhXsim_L␤Strange text after block (missing semicolon or comma?)␤at /tmp/wGOhXsim_L:1␤------> 3{ @a.push("four") if $i == 0; say $num }7⏏5'␤»
llfourn m: my @a = <one two three>; for [@a.kv] -> $i,$num { @a.push("four") if $i == 0; say $num }
camelia rakudo-moar 2cac8c: OUTPUT«one␤two␤three␤»
Skarsnik --profile is a huge slow down x)
dalek kudo-star-daily: 07bb6f0 | coke++ | log/ (3 files):
today (automated commit)
21:22
mrf test++ # spotting bugs
timotimo Skarsnik: it shouldn't be so terrible - only the output at the very end should be terrible :) 21:23
21:26 xfix left 21:27 diana_olhovik joined
Skarsnik It think the profiler does not like stuff that recurse too much x) 21:27
it take forever to get pass the 4-5 XML::Element.elements call 21:28
21:30 lizmat joined
MadcapJake timotimo: it looked like all the errors were actually fluidsynth functions trying to apply settings to a synth that was deleted. It turned out that I needed to explicitly delete the audio driver first and then I could delete the synth. Docs weren't very clear on this but did have a little note that i glanced over xD 21:30
21:31 cygx joined
cygx hpd: I believe zef (an alternative module manager) does precompilation 21:32
see github.com/ugexe/zef
lizmat waves from Miami
mrf .tell ugexe PR made with full passing tests and new RFC additions 21:33
yoleaux mrf: I'll pass your message to ugexe.
21:34 zhmylove joined, TEttinger joined
Skarsnik timotimo, what should I look in GC part? (or do you want the output file?) 21:35
hoelzro o/ lizmat 21:36
21:38 TrES2b joined 21:40 pRiVi joined 21:41 diana_olhovik left
hoelzro the exit status of the child isn't available via qq:x{...}, is it? 21:43
jdv79 25ms to deep clone:( its too slow 21:44
21:44 ^elyse^ left
jdv79 is construction expensive? my profile has large jumps across new() calls. 21:49
hoelzro jdv79: in my measurements that I haven't done for a while, I've found construction to be rather expensive
jdv79 also, is there a way to turn the profiler off and on at runtime?
i would like to profile just a portion but have to run the rest... 21:50
ok
hpd cygx: thanks. unfortunately it fails to run with "Undeclared routine: append used at line 58". Maybe my rakudo version is too old...
21:50 kjs_ left
dalek rl6-most-wanted: 35b752c | RabidGravy++ | most-wanted/modules.md:
Add URI::Template as a WIP
21:52
cygx hpd: likely - the addition of append is fairly recent
hpd I see
jdv79 oh wow. my clone fumbly clone is faster than my constructor. but that makes sense since the constructor is running a grammar. 21:53
21:54 kaare_ left
cygx I've actually started to work on my own solution for precompilation 21:54
cf github.com/cygx/6make
it's more of a hack than a proper solution, but I think it'll keep until Rakudo finally gets automatic precompilation 21:55
llfourn how does one precompile stuff now?
tadzik one doesn't 21:56
or one uses zef
hoelzro one does not simply precompile modules into Mordo^WPerl 6 21:57
llfourn ok I'll wait till one does simply prcompile things 21:58
[Coke] jnthn++ for the roast commit on adhoc -> Excption
hoelzro llfourn: sorry; I think it's waiting on CURLI work 21:59
llfourn hoelzro: it's ok I just saw a lotta talk about it so I thought it might be a secret --switch :) 22:00
hoelzro you can do it by hand with --target=mbc and --output
22:00 skids left
[Coke] finally catches up with backlog... just in time to go into an hour long meeting 22:01
llfourn hoelzro: oohhh so there is a secret switch :)
cygx llfourn: just treat it like any other compiled language and add a Makefile to your project
eg github.com/cygx/p6-tinycc/blob/master/Makefile 22:02
RabidGravy :)
22:02 kjs_ joined
llfourn sounds good. The thing I'm writing now takes about 8 seconds to compile and 0.5 to run :\ 22:02
llfourn delves into precompiling 22:03
22:09 FROGGS left
dalek kudo/for-mvm-pr291: 4e3eab6 | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Don't bypass multicache for rwness-aware multis.

This commit (and branch) depend on MoarVM pull request #291, and can be merged whenever that PR gets merged (or something equivalent implemented).
22:09
22:12 FROGGS joined
RabidGravy I've actually surprised myself I thought this uri template malarkey would be too much for my feeble brane and take a week or more, it appears I might have it by the weekend depending on how much beer is involved ;-) 22:13
cygx RabidGravy: looking for the Ballmer Peak? 22:14
22:16 zengargoylew left 22:17 Travis_ joined
RabidGravy DEVELOPERS! DEVELOPERS! DEVELOPERS! I LOVE YOU! 22:17
22:18 Travis_ left, polettix joined
pink_mist whee, #perl6 has its own Yaakov! :P 22:18
RabidGravy just channeling Balmer 22:19
cygx
.oO( all is fun and games until the chairs start flying )
timotimo Skarsnik: look for red pieces of bar. are they common or rare? 22:21
Skarsnik in the Allocations tab? 22:22
22:23 Zoffix left
Skarsnik there is quite a lot of red bar in the GC part yes 22:23
timotimo 'k 22:24
well, green means stuff that gets thrown out from nursery to nursery, yellow means things that survive into the next nursery, red means things that gets pushed to the old generation
our old generation implements a free list through the whole thing, so it's possible to inflate it once and then have it riddled with holes 22:25
but that's probably not the case here
Skarsnik 64Mo the html file ~~
timotimo in the allocations tab you can have a look what gets commonly allocated and what routines do that
yeah :(
Skarsnik I suppose I ignore bootcode/Scalar? since it's like a huge chunk of the aloc 22:26
there is a bind_one_param in bootcode that is all red 22:30
22:30 kjs_ left, Ven joined
jdv79 RabidGravy: you had a chocolate lager? was is musty or watery? 22:31
doesnt seem like that would be good. 22:32
mrf Chocolate porter on the outher hand :D
timotimo BOOTCode means we take closures
RabidGravy it was actually quite pleasant, strong chocolate flavour. I was skeptical too.
Skarsnik www.nyo.fr/~skarsnik/tmp/profile-14...08688.html if you are curious ~~ 22:33
22:33 virtualsue left
RabidGravy it had that complex chocolate malt flavour you get in a porter or a stout but was definitely a lager 22:34
jdv79 ive never seen one. 22:36
timotimo wgets it 22:38
RabidGravy it's this www.hogsback.co.uk/product/montezumas/ - I'm vaguely acquainted with head brewer there - he always seemed quite a go-ahead guy 22:39
BooK oh nice, there's a profiler for perl6? 22:40
arnsholt There's a built-in profiler on Moar 22:41
Skarsnik rakudo/moar offer a --profile option
arnsholt Yeah run it with --profile, and it'll write an HTML file with profiling info like what are expensive functions and how much time is spent in GC and such 22:42
jdv79 whoa that color and choc would freak me out 22:43
like pepsi clear
or whatever that was called
still id have to try it if i saw it 22:44
22:45 Ven left 22:46 Ven joined, vendethiel left, telex left 22:48 telex joined 22:49 Ven left, Ven joined 22:52 FROGGS left 22:53 FROGGS joined 22:58 pmurias left
Skarsnik Good night here :) 22:59
22:59 Skarsnik left 23:09 cygx left
RabidGravy rarr! 23:09
psch ...zipp? 23:12
Ulti www.reddit.com/r/perl/comments/3sl...or_perl_6/
dalek kudo/nom: f4e9d5e | lizmat++ | src/core/List.pm:
Make List.roll(n) 50% faster + some streamlining
23:13
psch pretty good answer by MattEOates++ there
jdv79 sigzero sounds familiar. pm? #perl? 23:14
maybe the x in y?
psch sigzero is an account on perlmonks at least
23:14 spider-mario left
psch the perl6inyminutes is written by Ven++ 23:14
jdv79 oh, util covered it well
Ven yes, hi 23:15
psch ah, MattEOates is Ulti?
23:16 tokuhiro_ joined
psch m: say 0 ~~ 0 ~~ 0 23:16
camelia rakudo-moar 2cac8c: OUTPUT«False␤»
psch that's such a weird thing to think about...
Ulti psch: thats me >:P
psch RT #81336, for reference rt.perl.org/Ticket/Display.html?id=81336 23:17
Ulti: well, Ulti++ then too :P
Ulti karma \o/
but I linked more to see if any of you lot can think of something to add 23:18
there are a lot of blogs but most arent really that instructional
jdv79 afaik thats all of it probably 23:19
23:20 tokuhiro_ left
Ulti the perltuts thing does have an open repo where you can write tutorials with live programming activities just in POD 23:21
RabidGravy m: say "foo".Str(foo => 1); # is it safe relying on this not crapping out?
camelia rakudo-moar 2cac8c: OUTPUT«foo␤»
Ulti github.com/vti/perltuts.com-tutori.../master/v6 23:22
which map to dev.perltuts.com/tutorials/perl-6-basics
in case anyone is keen, the code boxes have a fairly recent version of rakudo on moarvm 2015.9 23:24
23:24 skids joined
Ulti oooo Docker! 23:24
RabidGravy speaking of docker, if someone makes local (i.e AF_UNIX|AF_LOCAL) sockets work RSN I'll finish the Docker API client ;-) 23:26
anyway, bedtime for rabid 23:27
toodlepip, play nicely
lizmat good night, RabidGravy 23:28
Ulti same g'night
23:31 RabidGravy left 23:34 Ven left, Ven joined 23:35 lostinfog left 23:40 khw left
lizmat dinner& 23:45
23:45 Ven left 23:46 Ven joined 23:52 DrPete_ left, stmuk left
Hotkeys what up party people 23:53
jdv79 where is this party? 23:54
im kinda tired. almost bedtime
Hotkeys the p in perl stands for party dontcha know
pink_mist (who are you calling people?! :P)
23:54 retupmoca left 23:55 boegel joined
Hotkeys the p also stands for people 23:55
pink_mist it's a busy little p =)
Hotkeys yeah
the busiest
23:56 Gardner joined
TrES2b IM IN LOVE WITH THE COCO 23:56
23:56 hobbs joined 23:58 FROGGS left 23:59 DrPete_ joined