»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:03 sammers joined
dalek c: df30b11 | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
remove supersede as it is NYI
00:16
00:37 kurahaupo joined 00:44 Actualeyes joined 00:48 kurahaupo left 00:56 cooper_ joined 01:00 cooper left 01:03 kalkin- left, kalkin-_ joined, adu left 01:16 BenGoldberg_ joined 01:19 Ben_Goldberg left, maybekoo2 left 01:43 FROGGS_ joined 01:45 snarkyboojum joined 01:46 zacts joined 01:47 FROGGS left 01:51 Senji joined, snarkyboojum left 01:56 Senji left 02:07 avenj joined 02:19 pmqs_ joined, pmqs left 02:22 avenj left, avenj joined 02:23 lichtkind left 02:30 cognominal left, cog_ left 02:35 robm joined, robm left 02:36 finanalyst joined 02:38 finanalyst left 02:43 ssqq joined 02:47 ssqq left 02:48 ssqq joined 02:50 noganex joined 02:53 noganex_ left 02:54 kid51 left 02:55 kalkin-_ is now known as kalkin- 02:59 Ben_Goldberg joined 03:00 huggable left, huggable joined 03:02 BenGoldberg_ left 03:03 BenGoldberg joined 03:04 Ben_Goldberg left 03:10 cooper_ left, cooper joined, cooper left, cooper joined 03:19 TEttinger joined 03:23 zacts left 03:24 ssqq left 03:31 ambs left, ambs joined
ugexe m: my %x; say (1 || %x<a>:exists) 03:36
camelia rakudo-moar de5d9e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤You can't adverb &infix:<||>␤at <tmp>:1␤------> 3my %x; say (1 || %x<a>:exists7⏏5)␤ expecting any of:␤ pair value␤»
03:38 Madcap^Jake^ joined, Madcap^Jake^ is now known as MadcapJake
MasterDuke m: my %x; say (1 || (%x<a>:exists)) 03:40
camelia rakudo-moar de5d9e: OUTPUT«1␤»
MasterDuke adverbs bind very oddly 03:41
03:42 canopus left 03:43 canopus joined 03:44 TakinOver left 03:46 zacts joined 03:54 dwarring left 03:57 Ben_Goldberg joined 03:58 robm joined 03:59 robm left 04:00 BenGoldberg left 04:08 zacts left 04:15 khw left 04:21 zacts joined 04:39 zacts left 04:40 Senji joined 04:43 Cabanossi left
Ben_Goldberg m: my %x; say (1 or %x<a>:exists) 04:45
camelia rakudo-moar de5d9e: OUTPUT«1␤»
04:46 Cabanossi joined 05:00 AlexDaniel left 05:03 skids left 05:08 mohae joined 05:15 avenj left
masak MasterDuke: an adverb binds to the "topmost" infix before it -- where "topmost" needs to be understood in terms of ASTs. 05:15
05:15 avenj joined, avenj left, avenj joined
masak hm, or not even "infix" -- just the topmost operator, actually 05:16
take `(1 || %x<a>:exists)` as an example. there are two operators in there: `||` and `.<>`
`||` is the topmost in that expression. I guess another way to express it is that `||` is the one that binds the loosest.
05:28 Ben_Goldberg left
moritz El_Che: I don't have any plans for Safari; but there'll be a print version at some point 05:53
05:57 sivoais joined, TeamBlast left 05:59 TeamBlast joined 06:02 rurban joined, rurban left, CIAvash joined 06:03 rurban1 joined 06:08 TeamBlast left 06:09 TeamBlast joined 06:10 apathor joined, rurban1 left
Ulti not sure if anyone linked to this before stackoverflow.com/questions/3812289...and-perl-6 I have the same thing on OSX 06:20
06:20 TeamBlast left 06:23 TeamBlast joined
TimToady m: ‘1s²2s²2p⁶3s²3p⁶’.comb(/<:super>/)».unival.sum.say 06:31
camelia rakudo-moar afbb13: OUTPUT«18␤»
TimToady .tell killbill It's <:super>, not <:superscript>.
yoleaux TimToady: I'll pass your message to killbill.
ShimmerFairy You'd probably want <:super + :digit>, or however it's spelled exactly :) 06:36
TimToady but I don't think they are digits 06:37
ShimmerFairy m: say '²'.uniprop 06:38
camelia rakudo-moar afbb13: OUTPUT«No␤»
ShimmerFairy ah, right you are :)
TimToady given that looks like orbital notation, I doubt non-numeric supers would sneak in much 06:39
presumably you're trying to add up the number of electrons or so 06:40
ShimmerFairy true, I just thought it was worth considering anyway. I imagine many errors in coding happen because "like it'd ever _really_ happen".
TimToady troo 06:41
Ulti: I wonder if libuv just returns mtime when you ask for ctime, or maybe returns mtime if it's later than ctime, or something 06:44
anyway, could be libuv damage
06:48 FROGGS_ left 06:54 TeamBlast left 06:58 TeamBlast joined 07:00 huggable left, rurban_ joined, huggable joined 07:05 RabidGravy joined 07:08 abraxxa joined 07:11 TeamBlast left 07:13 darutoko joined 07:15 domidumont joined
nine -win 14 07:19
07:19 sivoais left, snarkyboojum joined 07:20 domidumont left, TeamBlast joined 07:21 domidumont joined, sivoais joined 07:27 snarkyboojum left 07:28 bjz joined 07:32 TeamBlast left 07:33 sivoais left 07:34 sno left, sivoais joined, TeamBlast joined 07:36 zakharyas joined 07:43 bjz left 07:44 sno joined 07:47 canopus left 07:48 bjz joined 07:51 bjz left 07:52 canopus joined 07:55 bjz joined, bjz left 07:57 wamba joined 07:58 bjz joined 07:59 sno left 08:02 rurban joined 08:03 dakkar joined 08:08 rurban1 joined 08:09 rurban2 joined 08:12 rurban left 08:13 rurban1 left, rurban2 left 08:16 rindolf joined 08:18 xiaomiao left
dalek c: 6a592c2 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Str.pod6:
mentioning Proxy in Str.substr-rw
08:18
08:24 rurban joined, xiaomiao joined 08:25 rurban left
dalek c: 2246390 | (Wenzel P. P. Peppmeyer)++ | doc/Language/unicode_texas.pod6:
add ∘ <-> o to texas list
08:29
c: b319862 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Callable.pod6:
split X<> for ∘;o
08:31 Actualeyes left 08:35 user9 joined 08:37 matt_ joined, rurban joined, matt_ is now known as Guest50012 08:38 Guest50012 is now known as matt_
dalek c: 49ab489 | (Wenzel P. P. Peppmeyer)++ | doc/Language/rb-nutshell.pod6:
@headings>>-- on rb-nutshell to get some structure into the ToC
08:40
08:42 rurban left 08:47 sno joined 08:50 mls_ joined 08:51 iH2O joined 08:53 user9 left
dalek c: b351406 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Code.pod6:
correct Code.Str
08:56
gfldex wanders off with pockets full of long hanging fruits 08:58
iH2O like watermelons 09:00
gfldex i think potatos are hanging even lower 09:02
09:09 user9 joined, maybekoo2 joined
iH2O leaving food on the ground is risky think of the 1850 irish potato famine 09:11
TEttinger iH2O: damn christopher columbus, finding a route to get potatos to ireland... 09:19
09:20 rindolf left 09:29 ambs left
iH2O tsk tsk hes the most famous man of the last millenium 09:31
dalek c: 010af75 | (Wenzel P. P. Peppmeyer)++ | / (2 files):
make =head1 stand out more in ToC
09:40
TEttinger iH2O: genghis khan? 09:57
famous for longer, had more kids
a LOT more
iH2O 1/200 folks on earth descends from him 09:58
Genghis Khan is the most infamous man of the last millenium 09:59
lizmat last millenium ? 10:00
hmmm... guess ILST :-) 10:01
iH2O Genghis could have discovered america first if instead of invading Japan he had sent his ships along the asian coast up up to the Behring straight and Alaska
then hed be both the most famous and infamous man of the last millenium 10:02
TEttinger lol
dalek c: 5621797 | (Wenzel P. P. Peppmeyer)++ | doc/Language/syntax.pod6:
doc unspace
10:03
tbrowder please review specs PR 114: github.com/perl6/specs/pull/114 10:08
10:10 TEttinger left
tbrowder ShimmerFairy: I know you want to review the spec PR 114 10:12
ShimmerFairy looks
tbrowder: looks good :) . If you managed to penetrate SUPERNOVA yet, you may notice that I was starting down that path, essentially the table parsing is fixed to one style for the =table being parsed. 10:14
tbrowder: I know I need to write it up, but essentially my idea is to support three distinct styles: whitespace, ASCII, and unicode separators, with or without outside borders for the last two. I decided to do the unicode+outside one first, though I don't quite recall why. 10:17
tbrowder ShimmerFairy: I haven't penetrated SUPERNOVA yet, but I am losing sleep over correct table parsing and just realized early this morning that the two styles are practically not able to be mixed (without a genius progammer involved and lots of coffee). I do agree with your long-range goal, though I think I would forego the unicode method (or make it the last 10:18
priority).
10:18 labster left
moritz ShimmerFairy likes Unicode, that's why :-) 10:18
ShimmerFairy tbrowder: I think I chose to do that one first because it had the most unique characters to contend with, and is the style easiest to make look like a Real Table™ :P
and yes, I wrote the initial draft of S15 for a reason :P 10:19
Table parsing isn't fun though, especially the part where you have to parse them as implicit =para blocks. Ideally without violating one-pass parsing, which makes it harder (since only two(?) tiny places in Perl 6 break that otherwise). 10:20
tbrowder I don't mind unicode, but, especially for old eyes), my keyboard, OS, etc., don't make it easy to use at the moment.
ShimmerFairy tbrowder: I know, it's just an option that I didn't see any good reason not supporting (in context of P6's unicode support in general). When I get back to SUPERNOVA (hopefully soon), I'll be sure to worry about ASCII and ws tables before any improvements to the unicode style I already put in. 10:22
tbrowder Hm, the single parsing rule is for the grammar, correct, because currently, inside Pod.nqp, multiple passes are required, although I'm trying to reduce that as best as I can.
ShimmerFairy tbrowder: best I can tell, the main issue would likely involve "saving" where you were nested inside formatting codes when you run into the separator. But of course, that makes it super fun if you were inside a verbatim code, e.g. V<> 10:24
tbrowder So far I haven't seen that as a problem, especially since formatting codes seem not to be handled at the moment anyway. 10:25
Or maybe it's the pod renderer. 10:26
ShimmerFairy tbrowder: Yeah, the handling codes is part of handling cells as implicit =paras. The issue with verbatim codes being wrapped in a cell is one I don't know the answer to. Right now I'm leaning towards "if you accidentally verbatim'd what should be the column separator, error".
tbrowder But, yeah, V<> I see is a problem to deal with. 10:27
DrForr Hey all, I'm well aware that this code is probably unnecessarily paranoid, but it's a first cut at the bottom layer for Perl6::Tidy, namely reconstructing the NQP-provided parse tree in a way that should scream bloody murder if the grammar or match tree changes under me. gist.github.com/drforr/92830eb9289...e29ec3100e
yoleaux 8 Jul 2016 17:24Z <BrokenRobot> DrForr: can this be closed? It's mentioned to be a dupe of a recently-fixed ticket. I tried to test myself, but Linenoise is failing. rt.perl.org/Ticket/Display.html?id=128371
ShimmerFairy DrForr: aside from lines 28 and 34, which might be github's fault in wrapping, I'd say it's good to be paranoid if the phrase "reconstructing the NQP-provided parse tree" comes up :) 10:29
tbrowder DrForr: gfldex want pod nodes to have a parent, how does that affect your effort?
ShimmerFairy tbrowder: in general, I don't know how much SUPERNOVA will accomplish its pipe dream of replacing existing Pod handling in rakudo, but hopefully it'll eventually do something :) . 10:31
tbrowder ShimmerFairy: Well I applaud your efforts! 10:32
10:32 ufobat joined
ShimmerFairy In particular, Pod parsing should at least be its own component of the language braid (along with Q, Regex, etc.), instead of being awkwardly smushed into MAIN as it is now. 10:33
Thank you, tbrowder :) .
ShimmerFairy has too many projects swimming around in her head, and should start considering getting organized about it all... 10:34
DrForr ShimmerFairy: Yeah, 28 and 34 are the fault of pasting. 10:36
ShimmerFairy I figured it was something like that. 10:37
tbrowder ShimmerFairy: ref pod: Hear, hear! 10:40
DrForr Well, as long as Perl6::Grammar has a rule for matching POD it'll get a node somewhere. Probably at the level of statementlist.
I'm also planning to (probably tonight) make sure that it properly collects whitespace between entries.
ShimmerFairy DrForr: my eventual idea is that it gets called into the same way other sub-languages are, so as long as you can handle string and regexes... :) 10:41
DrForr Oh, regex is already deeply parsed, you even get a nested CharSpec structure for <-[ a ] + foo - [-]> 10:42
moritz the problem with one-pass parsing POD is that we don't want an unclosed C<...> or so to run over and =end block, or whatever terminates the current POD streak
10:42 cognominal joined, cog_ joined
japanoise What filename should I give my perl6 sources? .pl6? 10:42
moritz japanoise: I tend to use .p6
japanoise: and .pm6 for modules 10:43
ShimmerFairy I use .p6 and .pm6 myself
DrForr I can't show you the actual data structure at the moment because I'm going broad and not deep in testing, but it's probably going to be similar to PPI internally, though less of an API, and possibly no way to skip whitespace nodes for quite a while.
gfldex to elaborate a bit on the parent attr on Pod::Block. If I parse functional I end up with something like `multi sub parse(Pod::Parent $n, @context) { parse($n.contents, @context.push: $n) }`. That means I have to create an Array instance per call. Not the fastest possible way to do that.
BrokenRobot Ulti: it's been rakudobugged couple days ago: rt.perl.org/Ticket/Display.html?id...et-history 10:44
DrForr I spent a few hours yesterday getting more-detailed output from an NQPMatch object, so I'm using that to debug. 10:45
And it's paranoid to the extreme, assert-hash-keys() there checks that exactly the hash keys listed and *only* the hash keys listed trigger a call.
10:46 iH2O left
DrForr Every time I read that I have to forcibly restrain myself from writing a 'with-hash-keys' macro and start writing a macro utility. Too many yaks, so few razors. 10:46
10:47 kaare_ joined
gfldex m: my %hash{'abc', 'def'}; # NYI :( 10:48
camelia rakudo-moar d075c8: OUTPUT«===SORRY!===␤Cannot find method 'value' on object of type QAST::Want␤»
10:52 rurban_ left 10:59 mls_ is now known as mls, Actualeyes joined 11:00 huggable left
tbrowder ref nqp: any way to return two scalars from a sub? modify an array arg with two scalar elements? 11:03
jnthn NQP doesn't have scalars 11:04
tbrowder numbers then
jnthn (Which is why it also doesn't have assignment)
tbrowder roger, but i can kludge using an array arg of numbers? 11:05
jnthn nqp: sub foo() { return 1,2 }; my @a := foo(); say(@foo[0]); say(@foo[1])
camelia nqp-moarvm: OUTPUT«Use of undeclared variable '@foo' at line 2, near "[0]); say("␤ at gen/moar/stage2/NQPHLL.nqp:706 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:2716 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moarvm:v…»
jnthn nqp: sub foo() { return 1,2 }; my @a := foo(); say(@a[0]); say(@a[1])
camelia nqp-moarvm: OUTPUT«1␤2␤»
jnthn Can do that? :)
Or is it not what you meant?
tbrowder yes, thanks! 11:06
that's even better, thnx jnthn
gfldex i'm tempted to turn all absolute links in the docs to relative paths. That way one would not need a web server to read the docs. Are there any security implications I missed? 11:17
moritz gfldex: not security, but there's no telling where a link can show up, so relative links are hard 11:19
gfldex i would leave them in the actual .pod files. We need better filename substitution anyway and that requires link rewriting. Could as well add relativation while I'm on it. 11:20
tbrowder ShimmerFairy: still here? I just had another thought and want to change the PR a bit 11:22
11:22 bjz left
ShimmerFairy tbrowder: you can change it, but I'm going to bed now, so I won't be able to check until later :) 11:23
11:23 bjz_ joined
tbrowder I will say something like double-space col seps are ignored if any other col sep types are found 11:23
ShimmerFairy: never mind. I think the PR can stand as is for now, no conflicts with my current plans 11:27
11:28 kid51 joined 11:30 rindolf joined 11:33 rurban_ joined 11:41 Actualeyes left, rurban_ left 11:50 Actualeyes joined 11:56 Actualeyes left 12:04 rindolf left
tbrowder ref nqp: how can I do a binary op on two numbers? I've tried $c := $a +| $b and get an error, also with $a | $b 12:09
psch tbrowder: those aren't in the grammar - you might want to look into nqp/docs/ops.markdown 12:13
12:13 Senji left
psch nqp-m: say(nqp::bitand_i(3, 4)) 12:13
camelia nqp-moarvm: OUTPUT«0␤»
psch nqp-m: say(nqp::bitand_i(3, 5))
camelia nqp-moarvm: OUTPUT«1␤»
12:16 kid511 joined
tbrowder psch: thanks, I hadn't read far enough! 12:17
12:17 kid51 left
tbrowder psch: is there a list of the nqp built-ins somewhere? 12:23
nine tbrowder: nqp/docs/ops.markdown
12:24 Senji joined
tbrowder I may be confusing things, I see sub subst used in Pod.nqp but I just found it in nqp/src/core/Regex.nqp but not in ops.markdown 12:27
nine Oh, you mean builtin subs. ops.markdown lists all those nqp::whatevers 12:28
tbrowder nine: yes, builtins, documented anywhere? 12:29
nine Not that I'm aware of. I tend to just ack the source
psch well, ops.markdown is for (at least on some level) vm-specific operators 12:35
tbrowder okay, thanks, I've filed an issue on RT
12:36 sammers left
tbrowder okay, i'm just trying to hack on rakudo and it's slow slogging for a newbie looking for docs 12:36
perlpilot tbrowder: I wonder if ack 'sub\s+\w+' src/core would get them all. 12:37
There aren't many built-ins like that as I recall.
japanoise Hmm. I can't get a recursive function working.
tbrowder maybe, i haven't tried fancy greps yet
japanoise it's giving me undeclared routine 12:38
psch generally i feel like NQP is small enough to just read the source
but i get that not everyone wants to go that way
ufobat heya :D
psch i do think that nqp docs probably don't belong on doc.perl6.org
perlpilot psch: I've tended to read the source too, but I haven't really looked at nqp in a while
japanoise: put the code in a gist so we can see it
psch m: sub f($a) { $a < 5 ?? f($a + 1) !! $a }; say f(1) 12:39
camelia rakudo-moar d075c8: OUTPUT«5␤»
dalek c: 4488e4e | (Zoffix Znet)++ | doc/Language/5to6-nutshell.pod6:
List repeat {} while/until in 5to6 nutshell

Related to #688
c: 3df7839 | (Zoffix Znet)++ | doc/Language/control.pod6:
Explain repeat {} while/until block

Closes #688
DrForr Re: nqp vs. perl - If you're going to document anything, I'd focus on perl6, not NQP because we've got so little (relative to perl5) doco as it is. 12:40
psch right, that's another thing
japanoise gist.github.com/anonymous/6ebecb04...8f324f2970
psch i mean, i occassionally want better core-dev docs, but that's mostly because i'm already up to my elbows in all that :P
japanoise: that should actually fail earlier than you say 12:41
m: use experimental :cached; sub f is cached{ } # consider this
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5===␤Trait 'is cached' needs whitespace before block␤at <tmp>:1␤------> 3experimental :cached; sub f is cached{ }7⏏5 # consider this␤Missing block (apparently claimed by 'is cached')␤at <tmp>:1␤------> 3ched; sub f is cache…»
perlpilot japanoise: ah, you need a space after "cached" and before the "{"
japanoise ahhh
tbrowder DrForr, I understand, and I've helped there a bit, but I'm trying to fix Pod.nqp for tables and need to use all the bullets provided; so a list of built-ins is needed, nothing fancy 12:42
dalek c: bb78130 | (Wenzel P. P. Peppmeyer)++ | doc/Language/modules.pod6:
show how to query symbols exported by a module
DrForr tbrowder: I'm not trying to discourage, I'm just saying that if someone feels an urge to jump in and document stuff, NQP isn't where I'd start looking. 12:43
psch i'd like so that "there's no documentation, but i need it, so i'll write it" is admirable, but ultimately bad if you actually want to fix the thing that you think you need the documentation for 12:44
s/so that/to add/ # uhh
from a purely "get the thing fixed" perspective at least 12:45
but, yes, same disclamer, it's not meant to be discouraging, and maybe nqp-docs is the one thing we're missing for a sudden influx of people wanting to help with the backends
psch .oO( doesn't seem to be good at "non-discouragin" :/ ) 12:46
12:46 yqt joined
DrForr It was quite a while before illguts got written for perl5. 12:46
japanoise perlpilot: thanks! Impressed someone with it too ^^ 12:49
jnthn fwiw, the interals course covers NQP quite a bit
12:49 Actualeyes joined
japanoise #perl6 is my trade secret 12:49
tbrowder Well, I'm scratching an itch that started when trying to fix Perl 6 docs, so I will try to at least create a simple list of nqp built-ins for my use, and offer it to the community.
DrForr And I'm creating a test suite for the nqp grammar, or at least figuring out how to get sufficient coverage. 12:50
tbrowder jnthn: I have used that course for getting started, and it's great, but it hasn't covered all I have needed.
jnthn: It dives into deeper territory than I have needed. 12:51
jnthn: ...sofar!
12:54 dasdasdas joined, dasdasdas left
TimToady if someone is hankering for some low-hanging fruit, the page at www.rosettacode.org/wiki/Category:Perl_6 could use some updating, since it still reads as if Perl 6 is not yet released 12:59
wamba m: unit sub MAIN (:$k1,:$k2,:$k3);callframe(1).my<$?USAGE>>>.say;say "--" 13:01
camelia rakudo-moar d075c8: OUTPUT«Usage:␤ <tmp> [--k1=<Any>] [--k2=<Any>] [--k3=<Any>] ␤--␤»
wamba unit sub MAIN (:$k1,:$k2,:$k3);callframe(1).my<$useage>>>.say;say "--" 13:02
BrokenRobot Created that as Issue on docs repo so we don't forget: github.com/perl6/doc/issues/689
wamba: unit sub MAIN is broken ATM
wamba m: unit sub MAIN (:$k1,:$k2,:$k3);callframe(1).my<$usage>>>.say;say "--"
camelia rakudo-moar d075c8: OUTPUT«(Any)␤--␤»
wamba m: unit sub MAIN (:$k1,:$k2,:$k3);callframe(1).my.pairs.grep({.key ~~ /:i age/})>> 13:03
.say;say "--"
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix␤at <tmp>:1␤------> 3e(1).my.pairs.grep({.key ~~ /:i age/})>>7⏏5<EOL>␤ expecting any of:␤ postfix␤»
wamba m: unit sub MAIN (:$k1,:$k2,:$k3);callframe(1).my.pairs.grep({.key ~~ /:i age/})>>.say;say "--"
camelia rakudo-moar d075c8: OUTPUT«$?USAGE => Usage:␤ <tmp> [--k1=<Any>] [--k2=<Any>] [--k3=<Any>] ␤$usage => Usage:␤ <tmp> [--k1=<Any>] [--k2=<Any>] [--k3=<Any>] ␤&gen-usage => sub gen-usage () { #`(Sub|58331760) ... }␤--␤»
perlpilot wamba: camelia responds to /msg too :) 13:05
wamba :) 13:06
13:09 rgrinberg joined 13:10 mcmillhj joined
DrForr woot, I think my paranoia just caught a change in Perl6::Grammar :) At least I don't remember that being thrown... 13:10
wamba m: sub MAIN (:$k1,:$k2,:$k3) { my $a=callframe(1).my; say $a.<$?USAGE>;say $a.<$us 13:11
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Whitespace required before < operator␤at <tmp>:1␤------> 3rame(1).my; say $a.<$?USAGE>;say $a.<$us7⏏5<EOL>␤ expecting any of:␤ postfix␤»
wamba age>}
japanoise OK so i've got a lazy list and I'm map-ing through it
wamba m: sub MAIN (:$k1,:$k2,:$k3) { my $a=callframe(1).my; say $a.<$?USAGE>;say $a.<$usage>}
camelia rakudo-moar d075c8: OUTPUT«Usage:␤ <tmp> [--k1=<Any>] [--k2=<Any>] [--k3=<Any>] ␤Usage:␤ <tmp> [--k1=<Any>] [--k2=<Any>] [--k3=<Any>] ␤»
japanoise is there a way to quit when the element is greater than some value? 13:12
wamba m: sub MAIN (:$k1,:$k2,:$k3) { my $a=callframe(1).my; say $a.<$usage>; say $a.<$?USAGE>;}
camelia rakudo-moar d075c8: OUTPUT«(Any)␤Usage:␤ <tmp> [--k1=<Any>] [--k2=<Any>] [--k3=<Any>] ␤»
psch m: say ^10 .map({ last if $_ > 4; $_ })
camelia rakudo-moar d075c8: OUTPUT«(0 1 2 3 4)␤»
13:14 pierrot joined
psch japanoise: ^^^ last works inside .map 13:14
BrokenRobot m: say ^10 .grep({ last if $_ > 4; $_ }) 13:17
camelia rakudo-moar d075c8: OUTPUT«(1 2 3 4 5 6 7 8 9)␤»
BrokenRobot bisect: say ^10 .grep({ last if $_ > 4; $_ })
bisectable BrokenRobot: exit code is 0 on both starting points, bisecting by using the output
BrokenRobot: (2016-03-18) github.com/rakudo/rakudo/commit/6d120ca
13:37 Actualeyes left 13:45 cdg joined 13:52 skids joined 13:56 acrussell joined
BrokenRobot Is there a way to "flatten" a Junction? 13:59
m: my $x = "foo" & "bar"; say $x.List.map({"Status = $_"})
camelia rakudo-moar d075c8: OUTPUT«all((Status = foo), (Status = bar))␤»
BrokenRobot I want the above to give me a list of two strings "Status = foo" and "Status = bar"
tbrowder ref nqp: in ops.markdown, some things like for() are not shown as a builtin, but it is used as, e.g., "for @a -> $a {}" in Pod.nqp. Is there a list of such exception (built-ins?) somewhere, or does that need to be mentioned in ops.markdown? 14:01
ugexe m: my $x = "foo" & "bar"; say $_ for $x.List.map({"Status = $_"});
camelia rakudo-moar d075c8: OUTPUT«Status = foo␤Status = bar␤»
psch tbrowder: nqp is a very limited subset of Perl 6. as such, the basic statement modifiers (like for) work 14:02
BrokenRobot m: my $x = "foo" & "bar"; $x.List.map({"Status = $_"}).join(", ").say
camelia rakudo-moar d075c8: OUTPUT«all(Status = foo, Status = bar)␤»
psch tbrowder: the syntax of nqp should definitely not be described in ops.markdown 14:03
ugexe m: my $x = "foo" & "bar"; my @a = gather for $x.List { take "Status = $_"}; say @a.perl 14:04
camelia rakudo-moar d075c8: OUTPUT«["Status = foo", "Status = bar"]␤»
14:05 MilkmanDan left
BrokenRobot Thanks, ugexe++ 14:05
14:05 ptolemarch joined 14:07 MilkmanDan joined 14:09 Actualeyes joined
TimToady ooh, sneaky 14:10
psch m: my $x = "foo" & "bar"; my @a = do [ "Status = $_" for $x ]; say @a.perl
camelia rakudo-moar d075c8: OUTPUT«WARNINGS for <tmp>:␤Useless use of "Status = $_" in expression "Status = $_" in sink context (line 1)␤[all(("Status = foo",), ("Status = bar",))]␤»
jnthn m: my $x = "foo" & "bar"; my @a = gather for $x { take "Status = $_"}; say @a.perl
camelia rakudo-moar d075c8: OUTPUT«["Status = foo", "Status = bar"]␤»
TimToady but note you lose all sense of and/or-ness
psch oh, spurious "useless use", but no solution 14:11
jnthn Note that the .List doesn't actually contribute anything there
TimToady unless $_ is declared Mu
jnthn I think it's may be that take auto-threads :) 14:12
TimToady ymbr
ugexe m: my $x = "foo" & "bar"; my @a = gather $x.map({"Status = $_"})>>.&take; say @a.perl
camelia rakudo-moar d075c8: OUTPUT«["Status = foo", "Status = bar"]␤»
jnthn m: my $x = "foo" & "bar"; my @a = gather take "Status = $x"; say @a.perl
camelia rakudo-moar d075c8: OUTPUT«["Status = all(\"foo\", \"bar\")"]␤»
jnthn hm, no... 14:13
TimToady still, BrokenRobot should probably be using sets intead of junctions; pulling values out of junction is smelly
14:13 eugen joined
timotimo BrokenRobot: if you want to flatten a junction, you're using it wrong :) 14:13
14:13 domm left
jnthn Indeed...that's why there's no convenient way to do it :) 14:13
14:13 domm joined
BrokenRobot Yeah, I now went with just an array. 14:15
14:17 yqt left 14:18 rindolf joined 14:24 acrussell left
Ulti BrokenRobot: thanks, if I ever work out how to login to RT I will add a comment about the OSX reproducability 14:25
TimToady: looks like the libuv timestamp situation is fairly complex github.com/joyent/libuv/issues/901 14:27
14:27 gnull joined 14:28 jkramer joined
jkramer Ahoy again! 14:28
BrokenRobot \o
jkramer I have a problem with laziness ;) 14:29
BrokenRobot Funny, I have a problem with being productive.
jkramer I want to generate a lazy list of primes using gather/take as an example. It's in a sub and if I access an element like primes[5] (primes is the sub) than it works fine. 14:30
14:30 ambs joined 14:31 khw joined
jkramer However when I assign the result of the sub to an array, it seems to calculate forever. I presume it's actually looping over all integers up to infinity looking for primes instead of going just to @primes[$n] 14:31
BrokenRobot m: my $lazy-list-of-primes = ^∞ .grep: *.is-prime; say $lazy-list-of-primes[^6]
camelia rakudo-moar d075c8: OUTPUT«(2 3 5 7 11 13)␤»
BrokenRobot jkramer: yeah, assign it to a $something instead of @something, like above 14:32
m: ^∞.grep: *.is-prime # LTA
camelia rakudo-moar d075c8: OUTPUT«WARNINGS for <tmp>:␤Useless use of "^" in expression "^∞.grep: *.is-prime # LTA" in sink context (line 1)␤Method 'is-prime' not found for invocant of class 'Num'␤ in block <unit> at <tmp> line 1␤␤»
jkramer BrokenRobot: Hmm, works. It's magic :)
What's the difference?
BrokenRobot jkramer: no idea :) 14:33
timotimo @foo = blah is list assignment, which is eager. that's how i understand it
jkramer Hmm ok. :) Thanks anyway
Ah
psch m: my @lazy-list-of-primes = lazy ^∞ .grep: *.is-prime; say @lazy-list-of-primes[^6]
camelia rakudo-moar d075c8: OUTPUT«(2 3 5 7 11 13)␤»
[Coke] timotimo: @foo = lazy blah
psch++
psch well, or := instead of = works too i think
BrokenRobot Ah, neat
14:34 yqt joined
timotimo fair enough 14:35
BrokenRobot m: my $x = ^∞.grep: *.is-prime # LTA
camelia rakudo-moar d075c8: OUTPUT«Method 'is-prime' not found for invocant of class 'Num'␤ in block <unit> at <tmp> line 1␤␤»
14:35 AlexDaniel joined
BrokenRobot m: Num.^can('is-prime').say 14:35
camelia rakudo-moar d075c8: OUTPUT«()␤»
BrokenRobot m: ∞.^name.say 14:36
camelia rakudo-moar d075c8: OUTPUT«Num␤»
BrokenRobot m: my $x = ^5.grep: *.is-prime # LTA
camelia rakudo-moar d075c8: OUTPUT«Potential difficulties:␤ Precedence of ^ is looser than method call; please parenthesize␤ at <tmp>:1␤ ------> 3my $x = ^57⏏5.grep: *.is-prime # LTA␤»
BrokenRobot m: my $x = ^Inf.grep: *.is-prime # LTA
camelia rakudo-moar d075c8: OUTPUT«Method 'is-prime' not found for invocant of class 'Num'␤ in block <unit> at <tmp> line 1␤␤»
jkramer It needs a space in front of .grep I guess 14:37
[Coke] m: my $x = (^Inf).grep: *.is-prime
camelia ( no output )
[Coke] precedence.
BrokenRobot Yeah, I know that, but the error is LTA.
[Coke] My take is that how is it supposed to know what you meant? Do you have a better error message it could generate there? 14:38
timotimo yeah, it's supposed to tell you about the precedence between ^ and method calls
BrokenRobot [Coke]: yes, the same it generates for Ints
timotimo just like with ^5.grep, but for some reason not with ^inf
TimToady okay, I couldn't stand it, and updated rosetttacode myself :) 14:40
BrokenRobot m: my $x = ^5.5.grep: *.is-prime # LTA
camelia rakudo-moar d075c8: OUTPUT«Method 'is-prime' not found for invocant of class 'Rat'␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot I guess it's just looking for an Int
Ticket: rt.perl.org/Ticket/Display.html?id...et-history 14:41
[Coke] m: my $x = ^5.5.grep: *.sin 14:42
camelia ( no output )
[Coke] it's looking for a method it can call
BrokenRobot m: my $x = ^5.5.grep: *.sin; say $x
camelia rakudo-moar d075c8: OUTPUT«^1␤»
[Coke] m: my $x = ^5.5.grep: *.badidea 14:43
camelia rakudo-moar d075c8: OUTPUT«Method 'badidea' not found for invocant of class 'Rat'␤ in block <unit> at <tmp> line 1␤␤»
[Coke] so, yes, method exists, and Int, maybe. dunno.
BrokenRobot m: my $x = ^5.5.grep(*.sin); say $x 14:44
camelia rakudo-moar d075c8: OUTPUT«^1␤»
14:47 snarkyboojum joined 14:51 rindolf left
gregf_ m: say ("foo" & "bar").^name 14:55
camelia rakudo-moar d075c8: OUTPUT«Junction␤»
14:57 rindolf joined
hoelzro parabolize: I managed to fix your bug in pygments before work today; I'll submit a PR to pygments-main after work 15:04
I will probably try to knock out some of the other pygments issues that have been reported over the last two years or so =/ 15:05
as well as try to bring it up-to-date with the current language spec
lizmat Tux: also note that the .perl doesn't return a left value 15:07
oops, ww
15:07 domidumont left 15:21 rurban joined 15:22 rurban left 15:27 captain-adequate joined
BrokenRobot m: sub (Date(DateTime) $x) { say "$x" }(Date.today) 15:38
camelia rakudo-moar d075c8: OUTPUT«Type check failed in binding $x; expected DateTime but got Date (Date.new(2016,7,11))␤ in sub at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
BrokenRobot m: sub (Date(DateTime|Date) $x) { say "$x" }(Date.today)
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in typename; couldn't find final ')' ␤at <tmp>:1␤------> 3sub (Date(DateTime7⏏5|Date) $x) { say "$x" }(Date.today)␤»
BrokenRobot Is there a way to take either Date or DateTime and coerce to Date? 15:39
15:40 profan joined
psch a coercer without a coercee says "everything that can be coerced" instead of "coerce this to that" 15:41
BrokenRobot m: sub (Date() $x where Date|DateTime) { say "$x" }($_) for Date.today, DateTime.now
camelia rakudo-moar d075c8: OUTPUT«2016-07-11␤2016-07-11␤»
15:41 TeamBlast left 15:42 MilkmanDan left
BrokenRobot Thanks. 15:42
15:43 MilkmanDan joined 15:44 sivoais left 15:49 TeamBlast joined 15:56 sivoais joined
gfldex m: constant @badchars = <$ / \ . % ? & = # + " ' :>; constant @goodnames = @badchars.map: '$' ~ *.uniname.subst(' ', '_'); note @goodnames; 15:57
camelia rakudo-moar d075c8: OUTPUT«($DOLLAR_SIGN $SOLIDUS $REVERSE_SOLIDUS $FULL_STOP $PERCENT_SIGN $QUESTION_MARK $AMPERSAND $EQUALS_SIGN $NUMBER_SIGN $PLUS_SIGN $QUOTATION_MARK $APOSTROPHE $COLON)␤»
15:58 zakharyas left, rgrinberg left 15:59 jkramer left
BrokenRobot .seen timeless 16:00
yoleaux I saw timeless 24 Jun 2016 17:15Z in #perl6: <timeless> psch: right
gfldex i don't think he will be back in time 16:01
BrokenRobot And they were fixing it in htmlify.p6 while I see you mentioned doing it in Pod::To::HTML 16:02
This appears to be their work on the topic: github.com/jsoref/perl6-doc/tree/human-links 16:05
16:08 TeamBlast left, sivoais left
gfldex i may not need to touch Pod::To::HTML 16:09
16:09 sivoais joined 16:14 abraxxa1 joined, abraxxa left, TeamBlast joined 16:15 snarkyboojum left 16:17 sivoais left 16:19 TeamBlast left, nicq20 joined
dalek -six-help: 5afa980 | coke++ | summary.p6:
remove trailing whitespace
16:22
16:23 abraxxa1 left 16:24 abraxxa joined 16:25 dakkar left
BrokenRobot "This type (QAST::WVal) does not support positional operations" 16:27
timotimo did you want to access its annotations?
BrokenRobot Man, I dream of a day when I will be able to write a complete Perl 6 program without needing to ask any questions or sumbling over bugs :) 16:28
dalek -six-help: a3d3577 | coke++ | summary.p6:
Extract the RT call into a sub
timotimo mh, AFK for cooking reasons
BrokenRobot timotimo: I've no idea what "QAST::WVal" is :/
timotimo oh
you aren't hacking inside rakudo
BrokenRobot No
timotimo well, show us your code, then :)
(also, AFK as said before)
BrokenRobot github.com/zoffixznet/perl6-RT-REST-Client 16:29
Trying to run perl6 examples/recent-tickets.p6
Ah 16:32
16:33 setty1 joined
BrokenRobot m: :foo:<bar> 16:33
camelia rakudo-moar d075c8: OUTPUT«===SORRY!===␤This type (QAST::WVal) does not support positional operations␤»
BrokenRobot Typoed an arg
Don't know if it can be fixed, but I rakudobugged it as LTA error: rt.perl.org/Ticket/Display.html?id=128603 16:36
16:42 addison joined
psch nqp-m: :foo:<bar> 16:42
camelia nqp-moarvm: OUTPUT«Confused at line 2, near ":foo:<bar>"␤ at gen/moar/stage2/NQPHLL.nqp:706 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:927 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/moar…»
psch well, 'Confused' is marginally better than leaking internals...
DrForr Ah, I've finally found the NQPMatch bug that's plaguing me, I think. And it's a bit odd. $matched.hash.elems returns an odd number.
(odd in both senses, as you can see :) ) 16:43
psch nqp-m: my %h := nqp::hash(1,2,3,4,5,6); say(nqp::elems(%h))
camelia nqp-moarvm: OUTPUT«3␤»
DrForr It's a NQMatch object so I'm not expecting it to behave like Perl, still, it's odd enough that I thought I'd mention it. 16:44
Ah. 16:45
16:45 rindolf left
DrForr It's an X::Hash::Store::OddNumber exception though, so I guess I'm not testing it correctly. 16:46
psch nqp-m: say(nqp::elems(("foo" ~~ /$<foo>=(foo)/).hash))
camelia nqp-moarvm: OUTPUT«1␤»
psch DrForr: i think there's more behind it somewhere :) 16:47
16:47 nicq20 left
psch DrForr: for starters, nqp::hash() doesn't even have .elems 16:47
DrForr: so i'm guessing it's hllizing somewhere..?
dalek -six-help: ce22e33 | coke++ | summary.p6:
fix scope of $cmd
-six-help: 74bc293 | coke++ | summary.p6:
Add -v to get verbose output

include -all- fields in the output so we can easily see which ones we might want to grab.
DrForr Well, I'm doing the .elems call from Perl, so very likely. I'm more concerned that the low-level stuff is throwing an exception during parsing than the fact that I'm unable to easily trap the error. 16:48
I should be able to reproduce the bug easily though, let me give that a shot. 16:49
16:50 xiaomiao left 16:52 pmqs_ left 16:54 rindolf joined 16:55 abraxxa left
DrForr Maybe not :( Well, if I run across the conditions that tickle it again I'll let y'all know. 16:55
16:57 sno left, xiaomiao joined 17:00 rindolf left 17:01 rindolf joined
gregf_ m: say "we are the champions my friend!!".split(/\s+/).map(&tclc) # \o/ 17:11
camelia rakudo-moar d075c8: OUTPUT«(We Are The Champions My Friend!!)␤»
BrokenRobot m: say "we are the champions my friend!!".words>>.tclc 17:12
camelia rakudo-moar d075c8: OUTPUT«(We Are The Champions My Friend!!)␤»
dalek ecs: be783f7 | (Tom Browder)++ | S26-documentation.pod:
prohibit mixing visible and non-visible column separator types in a table
17:16
ecs: 837c3d8 | (Tom Browder)++ | S26-documentation.pod:
Merge pull request #114 from tbrowder/col-sep-restriction

prohibit mixing visible and non-visible column separator types in a t…
17:18 addison left, fhorck joined, addison joined
psch m: say "we are the champions my friend!!".wordcase 17:24
camelia rakudo-moar d075c8: OUTPUT«We Are The Champions My Friend!!␤»
BrokenRobot :D
17:29 profan left 17:31 firstdayonthejob joined 17:32 rgrinberg joined
AlexDaniel m: say ‘foo-bar’.wordcase.say 17:32
camelia rakudo-moar d075c8: OUTPUT«Foo-bar␤True␤»
AlexDaniel m: say ‘foo–bar’.wordcase.say 17:33
camelia rakudo-moar d075c8: OUTPUT«Foo–Bar␤True␤»
17:33 grondilu joined
gfldex m: say ‘foo–bar’.uninames.join(',') 17:34
camelia rakudo-moar d075c8: OUTPUT«LATIN SMALL LETTER F,LATIN SMALL LETTER O,LATIN SMALL LETTER O,EN DASH,LATIN SMALL LETTER B,LATIN SMALL LETTER A,LATIN SMALL LETTER R␤»
gfldex you unicode cheats wont tick me! 17:35
AlexDaniel gfldex: by the way, thank you for your contributions
gfldex my leaky memories give me good reason to fill the gaps in the docs 17:36
AlexDaniel :)
17:37 dha joined
AlexDaniel turns out you cannot have more than one bot account on github… how great 17:38
gfldex you could employ your granny
nemo gfldex: that's pretty cool 17:41
gfldex: for Hedgewars, we loaded the entire confusables list into mariadb as a collation 😃
gfldex: so nemö and nerno are considered equivalent to nemo and can't be registered 17:42
dalek -six-help: 886adb0 | coke++ | summary.p6:
fix non-debug code

was missing -f
-six-help: d6da3e2 | coke++ | summary.p6:
Default to no debug.
-six-help: 36f0407 | coke++ | summary.p6:
Track NEW tickets
-six-help: 3ab1d97 | coke++ | summary.p6:
remove extra ()'s
17:44 cdg left 17:45 djbkd left, mr-foobar left, domidumont joined 17:48 ZoffixWin joined 17:49 ZoffixWin is now known as buggable, buggable is now known as BrokenRobot
AlexDaniel nemo: as well as 400 other unicode combiners? :) gist.github.com/AlexDaniel/0521bc38fe827bd7d37b 17:54
nemo AlexDaniel: it's a really really long list ☺ 17:55
AlexDaniel: I'm not saying it is totally complete, but it helps
japhb tbrowder: re: specs commit be783f7, the last sentence contradicts the previous sentence. Or did you mean "row" instead of "table" as the fourth word from the end? 17:56
nemo AlexDaniel: ftp://ftp.unicode.org/Public/security/revision-02/confusables.txt we used a munged version of this w/ only BMP and ascii confusables
hm. not sure if that's the most up to date version 17:57
AlexDaniel nemo: holy shit
17:57 user9 left 17:58 yqt left
nemo AlexDaniel: it was a good stress test of collations 17:58
they filed a couple of bug reports against mariadb thanks to us
17:58 user9 joined
nemo still not usable in mysql last I checked 17:58
japhb nemo: 17:59
Not usable how?
AlexDaniel nemo: that seems to be the last one: ftp://ftp.unicode.org/Public/security/revision-06/confusables.txt 18:00
mspo 〶 is a cool symbol
☸ shows up interestingly in my terminal 18:01
18:01 s_kilk joined
nemo japhb: just couldn't load the collation. due to a number of problems 18:01
18:02 s_kilk left
nemo japhb: it's been a while since I looked into it, but it was like the mariadb problems only worse 18:02
in terms of size of collation, number of bytes in a collation entry...
japhb: if you like, I can share our Index.xml ☺
if you're curious what it looks like now
AlexDaniel ok, does anybody want to write a reverse tool for this?
nemo I tried to keep it in a sub-xml file but the freakin' collation code is too fragile for that
AlexDaniel that is, give it a string and it gives you a list of similarly looking strings 18:03
nemo AlexDaniel: hm.. the unicode people have a search UI
AlexDaniel: unicode.org/cldr/utility/confusables.jsp
AlexDaniel great 18:04
18:04 espadrine joined
nemo japhb: hedgewars.org/tmp/Index.xml here, if you wanna try it on your mysql. should be drop-in on your existing Index.xml 18:05
japhb nemo: thanks! 18:06
mspo m: say ௰ + ⑽
camelia rakudo-moar d075c8: OUTPUT«20␤»
18:06 TeamBlast joined
mspo that stuff never gets old to me 18:06
BrokenRobot m: ༳.say 18:07
camelia rakudo-moar d075c8: OUTPUT«-0.5␤»
mspo BrokenRobot: nice one
what are those number-full-stop from?
18:08
18:09 sjoshi joined 18:10 sivoais joined
grondilu wth is '༳'? 18:10
BrokenRobot .u ༳ 18:11
yoleaux U+0F33 TIBETAN DIGIT HALF ZERO [No] (༳)
grondilu vignette4.wikia.nocookie.net/commun..._sheet.png
mspo half zero?
BrokenRobot You need to be a Tibetan monk to get that one ;) 18:12
mspo m: say ༲ + 1
camelia rakudo-moar d075c8: OUTPUT«9.5␤»
BrokenRobot .u ༲
yoleaux U+0F32 TIBETAN DIGIT HALF NINE [No] (༲)
BrokenRobot :o
mspo wtf does this stuff mean :) 18:13
hahainternet i assume they're digits tibetans use
AlexDaniel m: say ༲
camelia rakudo-moar d075c8: OUTPUT«8.5␤»
AlexDaniel it means this ↑
ah, already demonstrated above
BrokenRobot babelstone.blogspot.com/2007/04/num...-half.html 18:14
AlexDaniel should read a couple of lines above before replying
mspo so half-nine = 8.5?
BrokenRobot Yeah, they seem to be {NUM - 0.5}. And (reading that article) they wanted a combined char, but they got refused so they made separate digits 18:15
mspo thanks for the blog
18:17 brrt joined
mspo interesting stuff 18:18
tbrowder japhb: I'm not sure I see a conflict. We now make a distinction between visible and non-visible col sep chars. The col sep chars for the whole table must be either visible or invisible (the double-space). Then, for a table with visible col sep chars, every content row must have only one type of visible col sep char (either '|' or '+'). 18:19
AlexDaniel so we don't even know why these “digits” are there…
18:19 spider-mario joined 18:25 sjoshi left 18:26 cdg joined 18:27 mr-foobar joined 18:29 domidumont left, rgrinberg left
tbrowder japhb: I should have said every row must have only one type of visible col sep char (either '|' or '+') 18:32
18:32 trnh joined, trnh left, trnh joined 18:36 brrt left 18:39 rgrinberg joined 18:42 itaipu joined 18:43 djbkd_ joined, addison left
nemo BrokenRobot: numbers in unicode are odd to me. Some of them are explicitly flagged as numbers some are not 18:49
18:50 sno joined
nemo That is, in the unicode category digit 18:50
so. some match on \d, some don't
BrokenRobot Right, some are digits and some are numbers.
nemo ok.. 18:51
number or digit?
BrokenRobot m: "六".uniprop.say
camelia rakudo-moar d075c8: OUTPUT«Lo␤»
nemo er wut
BrokenRobot Letter
nemo ah
BrokenRobot .u 六
yoleaux No characters found
BrokenRobot m: "六".uninames.say
camelia rakudo-moar d075c8: OUTPUT«(<CJK Ideograph>)␤»
BrokenRobot shrugs
nemo U+516D CJK UNIFIED IDEOGRAPH-516D number six 18:52
BrokenRobot m: say 六
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ 六 used at line 1␤␤»
psch L is all valid terms
nemo BrokenRobot: as a result you get weird things like var 6x is illegal in, oh, JS but var 六x is legal 18:53
BrokenRobot heh
18:53 girafe joined
nemo var ٠x also illegal 18:53
psch is 六 supposed to be No instead of Lo?
nemo since ٠ is a digit apparently but 六 is not
BrokenRobot Well, I don't speak... CJK... Maybe 六 as a number doesn't make sense.
nemo psch: well you'd think so, but I don't know how they reason
unicode folks I mean
liiiike why are all these random weird emoji in unicode, but still no tengwar ☹ 18:54
😝
psch nemo: actually, i have no idea what 六 means or where it's from, so, no, i specifically wouldn't think it should be No
but i trust that you mean to say "someone who knows it would say it should be No"
nemo en.wikipedia.org/wiki/Sugoroku
18:54 maybekoo2 left
psch ah, i see 18:55
BrokenRobot ,: "
nemo en.wikipedia.org/wiki/Japanese_num...n_Japanese
BrokenRobot m: "๖".uniprop.say
camelia rakudo-moar d075c8: OUTPUT«Nd␤»
psch okay, yeah, that's unfortunate
nemo psch: anyway, I don't trust \d in regex really, apart from quick and dirty ones 18:56
psch: I stick to [0-9] if I want those digits
psch m: say "十".uniprop
camelia rakudo-moar d075c8: OUTPUT«Lo␤»
psch hm, well, that's a unicode issue isn't it :/
nemo psch: and otherwise, if I need to match other things, well, I specify them explicitly too since I figure it won't match
psch nemo: fwiw, it's probably not our fault :/
nemo perl's you mean? ☺
psch yeah, rakudo specifically :)
nemo heh 18:57
sure. although PCRE we can blame on perl
abomination that it is 😝
awesome abomination
psch afaik jnthn++ and all the others that worked on moar and the NFG bits stick rather close to the released unicode standards
well, except NFG itself being somewhat made up as i understand it
BrokenRobot m: "万".uniprop.say 18:58
camelia rakudo-moar d075c8: OUTPUT«Lo␤»
psch fwiw, Perl 6 breaks with PCRE in quite a few ways :P
like, (?...) is just gone, which is great
and all it's subforms
-'
18:59 cdg left
BrokenRobot I feel Perl 6's regex are waaay to verbose for short stuff, even if they are nicer for longer stuff 19:00
s/to/too/;
psch /\( [^)]+ \)/ vs /<-[)]>+ '(' ~ ')'/ # is something that comes to mind and seems to fit the sentiment 19:02
BrokenRobot /o?b*/ v.s. /'o'? 'b'*/
psch although, well, we can still do the left one i guess
m: /o?b*/
camelia ( no output )
BrokenRobot With m:P5//? 19:03
psch no, just rephrased with <-[)]> and escaping
BrokenRobot m: say "foobar" ~~ /o?b*/
camelia rakudo-moar d075c8: OUTPUT«「」␤»
BrokenRobot m: say "foobar" ~~ /o?b**2/
camelia rakudo-moar d075c8: OUTPUT«Nil␤»
BrokenRobot m: say "foobar" ~~ /o?b**1/
camelia rakudo-moar d075c8: OUTPUT«「ob」␤»
psch like, /\(<-[)]>\)/ i suppose 19:04
19:04 darutoko left
psch (also the perl5 example is actually wrong, cause it doesn't have /x :S ) 19:04
in general, quoting in regex only if you want to term group for quantifiers or if it isn't \w 19:05
although the latter you can also escape
m: say "(" ~~ /\(/
camelia rakudo-moar d075c8: OUTPUT«「(」␤»
psch well, "only *necessary* if"
also probably verb
BrokenRobot m: say "foobar" ~~ /o b/ 19:06
camelia rakudo-moar d075c8: OUTPUT«Potential difficulties:␤ Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)␤ at <tmp>:1␤ ------> 3say "foobar" ~~ /o7⏏5 b/␤「ob…»
BrokenRobot I need more getting-used to it.
psch read Perl6/Grammar.nqp before going to bed ;)
or rather, *in* bed before falling asleep :) 19:07
BrokenRobot :)
psch i did that a lot with the synopses, actually... 19:08
m: say "abcd" ~~ /^(a | b | bc | cd)*?$/; my @a = < a b bc cd >; say "abcd" ~~ /^(@a)*?$/ 19:11
camelia rakudo-moar d075c8: OUTPUT«「abcd」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「cd」␤Nil␤»
psch that's a bucket of terrible, fwiw :|
i mean, it's bugged, yes
19:11 sortiz joined
psch but it's probably hiding somewhere really deep inside QRegex or something like that and, well, it's a fundamental feature :/ 19:11
also already ticketed, by yours truly, as #126713 19:12
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126713
sortiz \o #perl6 19:13
19:13 Actualeyes left, labster joined 19:17 labster1 joined, labster left 19:18 itaipu left
BrokenRobot I've seen another ticket involving @array in regexes, I wonder if it's related. 19:21
19:22 yqt joined
BrokenRobot tries to recall it or its code and fails. 19:22
rindolf sortiz: hi, sup? 19:24
psch m: my @a = < a b bc cd >; say "abcd" ~~ /^([||@a])*?$/
camelia rakudo-moar d075c8: OUTPUT«「abcd」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「cd」␤»
psch m: my @a = < a b bc cd >; say "abcd" ~~ /^([|@a])*?$/ 19:25
camelia rakudo-moar d075c8: OUTPUT«Nil␤»
psch so, yeah, i suppose it's "explicit or implicit LTM alternating interpolation of arrays matches differently than bareword LTM alternations" 19:26
but well, it's still about what S05 actually means, in a way :|
sortiz m: my $a = 'foo'; my $f = $a.Int; say $f ~~ Failure; my $nosink = $f.succ; # succ needs concrete, so should explode 19:27
camelia rakudo-moar d075c8: OUTPUT«True␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5foo' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp line 3055␤ in block <unit…»
sortiz m: my $a = 'foo'; my $f = $a.Int; say $f ~~ Failure; my $nosink = $f.abs; # abs needs concrete, so should explode
camelia rakudo-moar d075c8: OUTPUT«True␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5foo' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
sortiz m: my $a = 'foo'; my $f = $a.Int; say $f ~~ Failure; my $nosink = $f.min; # min needs concrete, so should explode
camelia rakudo-moar d075c8: OUTPUT«True␤»
psch m: *.abs;
camelia ( no output )
psch m: *.min; 19:28
camelia ( no output )
psch sortiz: i think &min was recently patched in some way wrt Failures
sortiz Yep, I work with BrokenRobot on that, but no agreement yet. Now I have a more clear idea. 19:30
m: say 'a'.Int.min
camelia rakudo-moar d075c8: OUTPUT«Inf␤»
BrokenRobot psch: there's a PR, but it's unmerged yet.
psch ah, alright
m: say min Nil 19:32
camelia rakudo-moar d075c8: OUTPUT«Inf␤»
sortiz BrokenRobot, I'm convinced now that the best approach is to throw as soon as possible, 'cus 'min' is a concrete use attempt of the failure.
psch m: say min Failure.new
camelia rakudo-moar d075c8: OUTPUT«Inf␤»
psch is inclined to agree
BrokenRobot m: say min +'a', +'a'
camelia rakudo-moar d075c8: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
psch i percieve Failure somewhat like Inf in IEEE754 - it eats all the following results 19:33
but it still keeps going
BrokenRobot m: say so min +'a', +'a'
camelia rakudo-moar d075c8: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
psch ...actually, that doesn't really sound like i agree
i think i'll better step away from the thinking thing for today... :) 19:34
BrokenRobot sortiz: so basically the version of the PR where we threw in self!first-concrete?
19:34 addison joined
BrokenRobot Ugh, GitHub changes its fonts to something ugly :S 19:34
*chaNGED 19:35
sortiz BrokenRobot, yes.
19:35 mr-foobar left
BrokenRobot k, I'll modify it when I get home 19:36
sortiz kk
BrokenRobot This is kinda annoying, 'cause GitHub was the only website whose layout fonts and colours I liked among all the websites I commonly use. They just had to go to the dark side ~_~ 19:38
sortiz :P 19:39
BrokenRobot Looks totally different on Windows though. Linux: pbs.twimg.com/media/CnG6VncVIAAM-XS.jpg Win7: i.imgur.com/HkOcMPd.png 19:40
19:47 rurban joined 19:49 kaare_ left 19:50 canopus left
mspo BrokenRobot: thanks now the new fonts are all I can see 19:50
19:54 cdg joined 19:55 canopus joined 20:00 rurban1 joined 20:02 rurban left 20:08 rurban1 left
lizmat is working on the Perl 6 Weekly 20:10
let me know if you have anything of note that you think I may have missed
sortiz trying to read lizmat mind for the missing things... ;-) 20:11
Xliff BrokenRobot: You do know that you can change those with Stylish if you use chrome?
lizmat sortiz: that's quite easy: there's not a whole lot there, so chances are I missed it :-) 20:12
whatever "it" is
Xliff BrokenRobot: chrome.google.com/webstore/detail/...nfo-dialog
20:13 iH2O joined 20:16 TEttinger joined
AlexDaniel lizmat: MasterDuke++ created committable bot. benchable is on its way also 20:23
20:24 CIAvash left, brrt joined 20:25 dha left 20:26 ZoffixMobile joined
ZoffixMobile Xliff, yes, of course, but throughout the day I work on ~different computers, so anything regarding custom setup is annoying :) 20:27
20:27 dha joined
AlexDaniel lizmat: over the last 7 days gfldex++ pushed over 70 commits to the doc repo. By the way, the graph at github.com/perl6/doc/graphs/contributors looks very promising 20:28
ZoffixMobile lizmat, I can't objectively say if it's worth including in Weekly, but I wrote an RT interface that makes it easier--at least I find it so--to go through the ticket queue to find some tickets to potentially hack on: github.com/zoffixznet/perl6-Ticket-Trakr 20:29
AlexDaniel lizmat: Zoffix++ worked hard on older tickets. As a result, a bunch of stuff was closed (e.g. tests were written for testneeded tickets)
gfldex i'm quite sure the docs will be done by Christmas 20:30
AlexDaniel gfldex: I believe you
20:38 trnh left
Util m: sub d3 ( $n --> Bool ) { return $n %% 3 }; say d3( 15).perl; 20:39
camelia rakudo-moar d075c8: OUTPUT«Bool::True␤»
Util m: sub d35 ( $n --> (Bool, Bool) ) { return $n %% 3, $d %% 5 }; say d35(15).perl;
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed return value␤at <tmp>:1␤------> 3sub d35 ( $n -->7⏏5 (Bool, Bool) ) { return $n %% 3, $d %% ␤»
Util How should I indicate the return types of a sub, when returning more than one value?
gfldex both --> and returns are not indicators of return values but runtime type checks. They are not a good substitute for documentation. 20:41
you can provide a subset of List tho
or you provide a class to hold the two values 20:42
m: sub f(-->Int) { gather { take 10; take 20 }}; .say for f; 20:45
camelia rakudo-moar d075c8: OUTPUT«Type check failed for return value; expected Int but got Seq ((10, 20).Seq)␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Util gfldex: thanks
dalek c: c74572e | (Daniel Perrett)++ | doc/Language/variables.pod6:
Gloss obscure acronym NYI
20:46
lizmat I wonder whether we should have a "what's new" section on doc.perl6.org 20:48
AlexDaniel lizmat: isn't it what p6weekly is for?
lizmat well, yes, in a way... but it's really too much work to also track perl6/doc 20:49
20:49 ZoffixMobile left 20:52 El_Che left 20:54 kyclark joined, ufobat left
kyclark Given 'foo'.comb Z 'boo'.comb, how could I find the pairs of letters that are not the same? 20:54
Also, how can I interrogate Perl to find what it thinks this is? E.g., I think it 20:55
dha I think a bullet-point kind of thing for "what's new" would be useful, as not everyone looks at p6weekly (I imagine). Not sure if doc.perl6.org is necessarily the right place for it, though. (note: this is right off the top of my head, and therefore may be stupid)
kyclark it's a list of pairs, but I'm not sure.
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/07/11/...ur-papers/
hoelzro lizmat++
dha lizmat++ 20:56
hoelzro and a big ++ to everyone involved in moving things forward 20:57
20:57 ptolemarch left, tushar left
kyclark I think it's actually a list of lists 20:57
sortiz lizmat++ 20:58
AlexDaniel m: say (‘foof’.comb Z ‘boob’.comb).grep: { [!eq] $_ }
camelia rakudo-moar d075c8: OUTPUT«((f b) (f b))␤»
psch kyclark: Z defaults to infix:<,>, so yes, it's a List of Lists 21:02
m: my $a = eager ('foo'.comb Z 'boo'.comb); say $a.WHAT; say $a[0].WHAT; say $a[0][0].WHAT
camelia rakudo-moar d075c8: OUTPUT«(List)␤(List)␤(Str)␤»
21:02 trnh joined, trnh left, trnh joined
psch m: my $a = eager ('foo'.comb Z 'boo'.comb); say set($a) 21:02
camelia rakudo-moar d075c8: OUTPUT«set(((f b) (o o) (o o)))␤»
psch m: my $a = eager ('foo'.comb Z 'boo'.comb); say set(|$a)
camelia rakudo-moar d075c8: OUTPUT«set(b, f, o)␤»
psch ...and Sets of Lists are apparently weird 21:03
m: my @a = ('foo'.comb Z 'boo'.comb); say set(|@a)
camelia rakudo-moar d075c8: OUTPUT«set((o o), (f b), (o o))␤»
psch i'd guess List isn't a value type is why
kyclark So I should have said that I'm trying to find the Hamming Distance between two strings (number of edits to xform s1 -> s2). I thought this might be a clever way to start, but perhaps others can see a simpler way? 21:04
21:05 setty1 left
psch m: my $a = StrDistance.new(:before("foo"), :after("bar")); say +$a 21:05
camelia rakudo-moar d075c8: OUTPUT«3␤»
psch m: my $a = StrDistance.new(:before("bookkeeper"), :after("bokeper")); say +$a 21:06
camelia rakudo-moar d075c8: OUTPUT«3␤»
21:06 skids left
psch actually, that's not hamming, but levenshtein vOv 21:06
note that StrDistance is actually also somewhat internal-ish - we use it for return sufficient information for the tr/// use cases 21:08
s/for/to/
i mean, it's clearly not explicitly internal... :)
afaiu, levenshtein is a generalized for of hamming..? 21:10
it's probably really too late for me to thing about these kinds of things... o/
21:10 mcmillhj left
ugexe Perl6::World has a levenshtein subroutine as well 21:11
iH2O what in perl6, is a levenshtein O_O subroutine O_O 21:12
ugexe ah its damerau levenshtein
21:12 brrt left
iH2O thx for this speedy answer 21:13
21:13 eugen left
ugexe a subroutine that calculates the levenshtein distance of 2 strings? 21:13
perlpilot It's what allows Rakudo to be fairly smart about those "did you mean ... ?" messages
iH2O good to know... 21:14
ill think about it next time i get one...
does google use that too?
i get "did you mean...?" all the time
perlpilot google has a different, much larger corpus but I bet it's similarish 21:15
AlexDaniel m: my $a = StrDistnce.new(:before("foo"), :after("bar")); say +$a 21:16
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ StrDistnce used at line 1. Did you mean 'StrDistance'?␤␤»
AlexDaniel :)
iH2O it can almost read my mind better than i can myself, surveillance progress never stops...
AlexDaniel m: my $a = StrDstnce.new(:before("foo"), :after("bar")); say +$a
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ StrDstnce used at line 1. Did you mean 'StrDistance'?␤␤»
AlexDaniel m: my $a = StrDstnc.new(:before("foo"), :after("bar")); say +$a
camelia rakudo-moar d075c8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ StrDstnc used at line 1␤␤»
AlexDaniel ok fair enough
21:17 rindolf left 21:18 kyclark left
perlpilot AlexDaniel: are you implying that we should also use soundex as well? ;) 21:21
AlexDaniel why not :) 21:23
iH2O you do that folks,use soundex. bye for now 21:25
21:25 iH2O left
[Coke] lizmat++ only perl6 weekly person to not get burnt out yet since the first parrot one! 21:26
21:38 labster1 left
perlpilot lizmat++ and Zoffix++ because I only found out about the RT interface through p6weekly :) 21:39
21:47 rurban joined, rurban left
dalek c: 2f0a39a | (Daniel Perrett)++ | doc/Type/Any.pod6:
spelling/grammar fix in duckmap
21:49
21:50 wamba left, kyclark joined 21:51 kyclark left 21:52 kyclark joined 21:58 mohae left 22:05 firstdayonthejob left 22:10 profan joined 22:17 skids joined 22:18 dha left 22:20 kyclark left 22:21 bjz_ left 22:22 kyclark joined
Util topic 22:24
(missed the slash)
22:25 gcole_ joined 22:26 trnh left 22:30 zacts joined 22:31 labster joined, zacts left 22:35 kyclark left
gfldex m: say (1..100000).join.chars; say now - BEGIN now; 22:36
camelia rakudo-moar d075c8: OUTPUT«488895␤0.13955107␤»
gfldex m: say ([~] 1..100000).chars; say now - BEGIN now;
camelia rakudo-moar d075c8: OUTPUT«488895␤2.1193073␤»
22:42 RabidGravy left 22:44 yqt left
AlexDaniel m: say (1...100000).sum; say now - BEGIN now; 22:44
camelia rakudo-moar d075c8: OUTPUT«5000050000␤2.3975344␤»
AlexDaniel m: say ([+] 1...100000); say now - BEGIN now;
camelia rakudo-moar d075c8: OUTPUT«5000050000␤2.39794903␤»
AlexDaniel m: say (1..100000).sum; say now - BEGIN now;
camelia rakudo-moar d075c8: OUTPUT«5000050000␤0.01135205␤»
AlexDaniel m: say ([+] 1..100000); say now - BEGIN now;
camelia rakudo-moar d075c8: OUTPUT«5000050000␤0.01227345␤»
22:46 bjz joined 22:51 spider-mario left 22:52 xinming_ is now known as xinming 23:02 bjz left, fhorck left 23:04 fhorck joined 23:22 grondilu left 23:34 kyclark joined 23:35 kyclark left 23:40 nn joined
nn kk 23:40
23:40 nn left 23:54 canopus left 23:56 empT joined