»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:02 sjn_ is now known as sjn 00:18 hoversosmooth is now known as troll_op, troll_op is now known as hoverboard 00:32 BenGoldberg joined 00:40 dmol left 00:52 hoverboard left 00:58 pippo left 01:00 pippo joined, pippo left 01:02 aindilis joined 01:07 pippo joined, pippo left 01:08 hoverboard joined 01:11 berekuk left 02:09 bjz left
[Coke] github.com/coke/mojo6 is no longer empty. (though it's really very mostly empty) 02:21
raydiak [Coke]: are you able to fix my rt account? it has no permissions, even to view the homepage or bugs which I can view as anonymous guest 02:23
02:30 FROGGS_ joined 02:32 Sqirrel_ joined 02:33 Sqirrel left, FROGGS left
TimToady r: say so '一' ~~ /<:Ideographic>/ say so '海' ~~ /<:Ideographic>/ 02:34
camelia rakudo-parrot 45e230, rakudo-jvm 45e230, rakudo-moar 45e230: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> say so '一' ~~ /<:Ideographic>/ ⏏say so '海' ~~ /<:Ideographic>/␤ exp…»
TimToady r: say so '一' ~~ /<:Ideographic>/; say so '海' ~~ /<:Ideographic>/
camelia rakudo-moar 45e230: OUTPUT«True␤False␤»
..rakudo-parrot 45e230, rakudo-jvm 45e230: OUTPUT«True␤True␤»
TimToady that's the bug I'm hunting right now...
araujo greets around 02:39
araujo sees TimToady is hunting tonight 02:40
02:44 klapperl joined 02:46 sctt joined 02:48 klapperl_ left
[Coke] raydiak: what's your rt account id? 02:52
raydiak [Coke]: I log in with bitcard using [email@hidden.address] ...is that the id you're asking for? 03:03
[Coke] top line: "Logged in as..." 03:08
kicking off a daily run on the new box 03:09
Group already has member: [email@hidden.address]
You already have full privs. Can you give us a URL you're trying to use that isn't letting you close tickets? 03:10
raydiak oh weird, now I can see my tickets 03:14
[Coke] .... maybe I clicked twice 03:15
enjoy. :)
raydiak thanks :) 03:16
03:25 klapperl_ joined, bjz joined 03:27 ingy left, ingy joined, klapperl left 03:50 pdcawley left 03:52 pdcawley joined 03:56 rurban joined 04:44 xinming_ left 04:46 xinming joined 05:22 hoverboard left 05:34 rurban left 05:47 Ejp joined, Ejp left 05:56 bjz left
moritz good morning 05:57
nwc10 good UGT moritz 06:08
06:19 xinming left 06:21 xinming joined 06:24 bjz joined, bjz left, bjz joined 06:27 bjz left, bjz joined 06:33 hoverboard joined 06:34 rurban joined 06:39 rurban left 06:47 rurban joined 06:51 bjz left 06:52 rurban left
moritz <TimToady> | is not, in that sense, a variadic parameter, because from the standpoint of the binding, it's supposed to consume 0 args, not all of them. 06:54
if that's true, you can't do sub redispatch(|a) { other(|a) } 06:55
because the |a wouldn't consume any arguments, so calling the sub with non-zero arguments always bind-ails
(that's from irclog.perlgeek.de/perl6/2014-03-01#i_8369448 ) 06:56
maybe we need both mechanisms, with different syntax 06:57
07:03 BenGoldberg left
TimToady just be cause a doesn't *consume* the arguments, doesn't mean the arguments aren't in a 07:24
one must either clone any argments desired after a |a (none in this case), or have referential purity into the remaining capture so that both can use it
|a takes a snapshot of the rest of the arguments without consuming them from the standpoint of subsequent parameters 07:25
moritz but that means that sub a(|x) { }; a(42); is a bind fail 07:27
because nothing consumes the 42
which is not at all how we handle things today
p6: sub a(|x) { say x }; a 42 07:28
camelia rakudo-parrot 45e230, rakudo-jvm 45e230, rakudo-moar 45e230: OUTPUT«42␤»
..niecza v24-109-g48a8de3: OUTPUT«\(42)␤»
TimToady hmm, well then, we have a contradictory spec, who'd'a thunk it? 07:31
sub a(|x) { my ($first) ::= x; say $first; }; a(42) 07:33
r: sub a(|x) { my ($first) ::= x; say $first; }; a(42)
camelia rakudo-parrot 45e230, rakudo-jvm 45e230, rakudo-moar 45e230: OUTPUT«42␤»
07:33 darutoko joined
TimToady I guess there's a workaround 07:33
but if that can work, why not (|x, $first) ? 07:34
obviously that can't match a() 07:35
but that seems to be the intent here
(to not match a())
and one could say (|x, $first?)
well, I need to think about all that s'more 07:36
07:36 xinming left
lue TimToady: maybe |c could be the more general version of *@c, at least based on current behavior in rakudo ? [that is, *@c must be the last positional, and |c would be required to be the last parameter at all.] 07:37
♘ #perl6 o/
moritz if we allow both sub a(|x) to work as it does now in niecza and rakudo, and allow (|x, $first), then the | does two rather different things in those two cases
and I wouldn't like that 07:38
maybe we should steal the <?assertion> syntax from regexes and says that |?x binds the rest of the argument list without consuming anything
07:38 xinming joined
moritz has updated the software on feather2 07:39
07:39 xinming left 07:41 dalek joined, ChanServ sets mode: +v dalek
moritz now feather3... 07:41
... and host07 (camelia's home) 07:42
07:46 xinming joined, LLamaRider left, LLamaRider joined
moritz m: say 'sanity' 07:53
camelia rakudo-moar 45e230: OUTPUT«sanity␤»
moritz feather3 upgrade was more bumpy, since it ran out of disc sapce in the process 07:54
wasyl.eu/programming/2014/03/01/int...ember.html looks interesting 07:57
08:02 bjz joined 08:06 pdcawley left 08:13 pdcawley joined 08:32 sctt left
timotimo o/ 08:37
08:41 sctt joined
timotimo which machine hosts dalek? 08:42
are you going to fix dalek, too, moritz?
08:46 xinming left 08:48 xinming joined 08:49 rurban joined 08:50 FROGGS_ is now known as FROGGS
FROGGS morning 08:50
08:53 berekuk joined, rurban left 09:01 radhe joined 09:03 rindolf joined
radhe how i can add two number and print into screen in Perl6 09:03
FROGGS p: say 6 + 3 09:05
camelia rakudo-parrot 45e230: OUTPUT«9␤»
FROGGS p: print 4 + 5
camelia rakudo-parrot 45e230: OUTPUT«9»
radhe thanks 09:06
09:08 radhe left
masak good antenoon, #perl6 09:10
FROGGS hi masak
09:33 pdcawley left, pdcawley joined
masak moritz: September looks nice. 09:35
moritz: I predict there will be interesting corner cases wrt scoping, though.
moritz: like, the 'until' macro he mentions at the end does not seem to give the loop body its own scope. or -- if it does -- what's the difference between it and the condition? 09:36
moritz: how would I communicate that things declared in the '(;;)' part of a C-style for loop should be included in the block scope? or is that simply not allowed? 09:37
moritz: what about the times when I want to .resolve() a block but have it act like a thunk rather than a block with its own scope? what about the times when I want non-hygienic variable lookup? 09:38
dalek ast: 4b5c5c9 | larry++ | S05-mass/properties-derived.t:
don't pick a future unified char as non-unified

The test picked for a non-Unified_Ideograph character the first character after the CJK area. Unfortunately, this is precisly where the Unicode Consortium adds new characters (and in fact did). Instead, pick the first character before CJK as a sample non-CJK character.
09:39
timotimo dalek \o/
FROGGS and TimToady++ :o) 09:40
09:43 berekuk left 09:47 vendethiel joined
moritz masak: yes, interesting questions 09:47
09:49 berekuk joined 09:50 rurban joined
masak it's all about scopes. lexical scoping is (as we've discovered over the years) a great way to achieve sanity. 09:50
since macros intentionally mess with lexical scoping, they have to do so carefully, with style, and with a higher goal in mind.
moritz and explicitly 09:51
TimToady r: say so "
camelia rakudo-parrot 45e230, rakudo-jvm 45e230, rakudo-moar 45e230: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/tmpfile:1␤------> say so "⏏<EOL>␤ expec…»
moritz does anybody still use the apache server on feather3? 09:52
FROGGS moritz: panda perhaps? feather.perl6.nl:3000/projects.json
TimToady r: say so "海" ~~ /<:Ideographic>/
camelia rakudo-moar 45e230: OUTPUT«False␤»
..rakudo-parrot 45e230, rakudo-jvm 45e230: OUTPUT«True␤»
masak has been meaning to a few times
moritz FROGGS: that's feather1, and not apache :-) 09:53
masak TimToady: moarbug?
TimToady that should be fixed with the latest MoarVM HEAD
FROGGS moritz: okay :o)
masak TimToady: oh, ok.
TimToady someone needs to bump it though
FROGGS I can do that in a minute
TimToady already stayed up about 2 hours too late fixing this...
t/spec/S05-mass/properties-derived.t is now down to about 4 failing tests 09:54
FROGGS cool!
09:54 rurban left
TimToady zzz & 09:55
FROGGS TimToady: sleep well
moritz oh, it seems feather3 used to host try.rakudo.org 09:56
which is defunct anyway
so I'm going to switch off that apache 09:57
09:58 pippo joined, pippo left, pippo joined
masak moritz++ 10:01
what does feather.perl6.nl:3000/projects.json use, if not apache? 10:02
moritz some perl 5 based PSGI/Plack web server, iirc 10:03
10:06 grondilu joined
FROGGS hmmm, TimToady has not pushed to MoarVM it seems 10:07
masak slacker! :P 10:08
masak feels a sudden urge to add more ':P's to that...
FROGGS ahh, he pushed to its own... shall I steal his commits? :P
masak FROGGS: sure. 10:09
TimToady fixed it alrady
*already
moritz TimToady++
FROGGS TimToady++ # off you go to bed!
*g*
TimToady I was kinda wondering why dalek didn't report it on #moarvm
masak man, I don't like that you can only Ctrl+D once in a program. :/ 10:10
I have what I feel is a real use case for being able to Ctrl+D several times.
FROGGS ctrl+d in a program?
TimToady ^D really
masak right.
I have a main program which accepts stuff from $*STDIN.
I just threw in a 'use Grammar::Debugger' in the module that the main program uses. 10:11
it correctly goes into the debugger, but it (incorrectly) aborts it right away because *we're already ^D'd* :/
feels like the wrong least-surprise...
moritz libc upgraded on feather1 10:12
dalek p: a2324ac | (Tobias Leich)++ | tools/build/MOAR_REVISION:
bump moar rev for unicode property fixes
kudo/nom: 652a1fa | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp+moar rev for unicode property fixes
10:13
10:19 dmol joined 10:21 spider-mario joined
dalek p: 591268e | moritz++ | Configure.pl:
[Configure] support --backends=all
10:21
10:30 kivutar joined 10:31 spider-mario left
moritz who uses X on feather? 10:35
masak jnthn: Grammar::Debugger appears busted... gist.github.com/masak/eccadc58b72cd32f720e
jnthn: (on Rakudo Moar) 10:36
jnthn: I golfed my own program down to that. if it'd help, I could also golf down Grammar::Debugger to what's wrong.
FROGGS a PR might also help :o) 10:38
masak: btw: github.com/masak/gge/pulls
masak yes, of course. but golfing comes first.
10:39 denisboyun joined
masak FROGGS: merged both pull requests. thanks. 10:40
FROGGS cool! thank you
10:40 spider-mario joined 10:46 tgt joined
masak no, thank *you*. 10:46
10:47 aborazmeh joined
timotimo is gge still functional? 10:47
FROGGS I've not tested it 10:48
timotimo the COOLTHINGS document from docs/ should be reviewed by people with lots of tuits :P 10:52
(but not built on top of gge; we should now be able to build all that on top of nqp::getcomp and rakudo) 10:54
masak agreed. 10:59
GGE was written in a time when Rakudo was a lot less bootstrapping than it is now.
11:08 kivutar left 11:13 aborazmeh left
timotimo i'm kind of glad i joined the perl6 effort after that period :P 11:33
masak r: say "\0xA0" 11:35
camelia rakudo-parrot 45e230, rakudo-jvm 45e230, rakudo-moar 45e230: OUTPUT«␀xA0␤»
masak r: say "\xA0"
camelia rakudo-parrot 45e230, rakudo-jvm 45e230, rakudo-moar 45e230: OUTPUT« ␤»
timotimo .u ␀ 11:36
yoleaux U+2400 SYMBOL FOR NULL [So] (␀)
timotimo ah
masak so... NUL is the symbol for NULL? :) 11:38
FROGGS how DULL :o) 11:40
timotimo i couldn't read it on my font 11:53
on this display it looks kind of like a 45° turned ellipsis
.u °
yoleaux U+00B0 DEGREE SIGN [So] (°)
timotimo huh 12:02
$config<build-date> := '2012-08-05T16:57:45Z';
that's hard-coded in the debugger
interesting choice
tadzik hah
jnthn haha 12:03
timotimo oh wow
jnthn The debugger was built "in secret" and "quickly" 'cus I wanted to show it off in a talk. I probably stole from the generated main.nqp ;)
timotimo i just realized
i could introduce a repr QStringList for list_s and QString for strings and have super simple qt interop 12:04
that's crazy cool
jnthn timotimo: That's one of the points of repr poly ;) 12:05
timotimo similarly QMap for nqp::hash
yeah, but ... wow
well, the string ops are kind of hardcoded to use MVM_string_... functions, are they not? 12:06
12:07 arnsholt joined
jnthn timotimo: Oh, I think the better option is that your QString repr is one that can *unbox* to an MVMString. 12:07
timotimo ah, hm.
jnthn then you just produce an MVMString on demand and cache it.
That's how I'd do it. 12:08
timotimo agreed.
jnthn Shoudn't be too hard. :)
.oO( famous last words )
timotimo it's not really a sensible thing to do *right now*
except it would make a cool blog post at some point
jnthn yeah :) 12:09
It is a neat idea. ;)
12:11 jercos joined
jnthn & 12:15
12:39 araujo left 12:41 araujo joined
colomon masak: Text::CSV is failing in the smoke test 12:42
labster: Lingua::Number is failing in the smoke test
Sum is still failing as well 12:43
12:45 hoverboard left
colomon skids: Sum is failing in the smoke test 12:53
13:17 rurban joined 13:28 denisboyun left 13:29 denis_boyun joined 13:35 molaf joined, denis_boyun__ joined 13:36 denis_boyun left
masak colomon: ok, thanks for the heads-up. gonna run the tests locally and see what's up. 13:53
13:54 cognominal joined
masak I managed to locate the error, but I don't know why it's wrong yet. seems there's been some slippage in the underlying grammar semantics. 14:01
14:01 virtualsue joined 14:08 beastd joined 14:15 xragnar_ joined, xragnar is now known as Guest83346, Guest83346 left, xragnar_ is now known as xragnar 14:21 xenoterracide left 14:22 sctt left 14:23 xenoterracide joined 14:31 Mouq joined 14:32 virtualsue left 14:38 xenoterracide left 14:41 virtualsue joined 14:45 rindolf left
masak for people who would like to trailing-comma their JSON: json5.org/ 15:06
Mouq masak: I was just working on a JSON::Tiny fork to parse it :)
masak (though I fear the original JSON has extreme simplicity going for it, and that's part of why it has so many parsers. this new proposal loses that, with some-would-argue relatively little gain.) 15:07
Mouq: oh wow, cool.
Mouq: if you get it to some relatively ready state, make sure to put in a HN comment about it: news.ycombinator.com/item?id=7325735
Mouq masak: Though I agree, I think it kind of misses the point
masak: -ofun
*O 15:08
15:09 rindolf joined, telex left 15:10 telex joined
grondilu likes YAML too 15:13
masak Mouq: then I think we are in agreement.
Mouq: I was mostly talking about the amount of uptake you're likely to see on anything JSON5. 15:14
vendethiel YAML indeed does too much with its inheritance system, object etc
if YAML was just "JSON With Meaningful Indentation", I think it'd be better (and it'd make implem. etc not such a pain)
Mouq perlcabal.org is down :( 15:17
15:19 xinming_ joined
Mouq github.com/Mouq/json5 15:20
Doesn't actually add change much from JSON::Tiny atm
15:22 xinming left 15:24 denis_boyun__ left
masak Mouq++ 15:32
15:34 zakharyas joined
dalek kudo/pod-table: 9626115 | Mouq++ | src/Perl6/ (2 files):
Get much closer to doing pod table right

There's still some major bug somewhere getting everything serialized correctly
15:35
15:35 LLamaRider left
Mouq had to commit so he could checkout nom and build a clean perl6 15:35
TimToady r: say so "海" ~~ /<:Ideographic>/ 15:37
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«True␤»
TimToady much better
Mouq \o/
15:40 virtualsue left 15:41 xinming_ left
Mouq ...we don't actually have a YAML parser in our ecosystem(?!) 15:41
15:42 xinming joined 15:47 xinming left, xinming joined
grondilu every time I try to write a grammar for a language, I fail miserably. I suspect grammars are a bit tough to write and that's how I explain we have so few of them. And that include YAML. 15:49
15:51 [Sno] left
[Coke] I have most of a test run done... forget I needed a perlbrew setup for post processing. 15:52
geekosaur working grammars take some forethought and design
grondilu well sometimes it's hard even with *very* simple languages. Yesterday I tried one here with the basic Wolfram language. I could not get it to work, FROGGS gave it a go and could not either. 15:54
(search 'grammar Foo' if you want to know what I'm talking about) 15:56
(eg. Foo[bar,and[so,on]]) 15:58
15:59 [Sno] joined
grondilu if this is not easy, then there is a problem with grammars, imho. 15:59
[Coke] what about that did you get stuck on?
grondilu I could not get it to work recursively
[Coke] let's see, you have what look like comma separated lists, and nested brackets?
grondilu yes 16:00
Mouq runs with perl6-debug-m 16:03
It looks like it's LTM weird...
grondilu without being recursive, it's easy: 16:04
r: grammar Wolfram { rule TOP { ^ <expr> $ }; token expr { <symbol> \[ ~ \] [ <symbol>+ % \, ]? }; token symbol { <.alpha>+ } }; say Wolfram.parse("Foo[Bar,cuz]")
16:04 xinming_ joined
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«「Foo[Bar,cuz]」␤ expr => 「Foo[Bar,cuz]」␤ symbol => 「Foo」␤ symbol => 「Bar」␤ symbol => 「cuz」␤␤» 16:04
jnthn r: my grammar G { token TOP {<ts>}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]? } }; say G.parse('Foo[bar,and[so,on]]').Str
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«Foo[bar,and[so,on]]␤»
grondilu r: my grammar G { token TOP {<ts>}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]? } }; say G.parse('Foo[bar,and[so,on]]') 16:05
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«「Foo[bar,and[so,on]]」␤ ts => 「Foo[bar,and[so,on]]」␤ t => 「Foo[bar,and[so,on]]」␤ ts => 「bar,and[so,on]」␤ t => 「bar」␤ t => 「and[so,on]」␤ ts => 「so,on」␤ t => …»
16:05 xinming left
[Coke] had started up a little project and started working this out and sees that jnthn just ripped something off his head. Nice. 16:07
"ripped something off his head" << clearly I need coffee.
grondilu I'm amazed he managed to write this without alternation | 16:08
jnthn I did make one mistake in my first attempt. :) 16:09
I wrote ** intead of %. I'm only 3 years out of date on syntax :P
grondilu it's kind of a cheat, though 16:10
r: my grammar G { token TOP {<ts>}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]? } }; say G.parse('Foo[bar,and[so,on]],THIS_SHOULD_FAIL')
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«「Foo[bar,and[so,on]],THIS_SHOULD_FAIL」␤ ts => 「Foo[bar,and[so,on]],THIS_SHOULD_FAIL」␤ t => 「Foo[bar,and[so,on]]」␤ ts => 「bar,and[so,on]」␤ t => 「bar」␤ t => 「and[so,on]」␤ …»
grondilu the TOP entry is supposed to be only one term 16:11
jnthn grondilu: Oh, then call <t> there instead of <ts>
16:11 __thou joined
grondilu r: my grammar G { token TOP {<t>}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]? } }; say G.parse('Foo[bar,and[so,on]],THIS_SHOULD_FAIL') 16:11
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«「Foo[bar,and[so,on]]」␤ t => 「Foo[bar,and[so,on]]」␤ ts => 「bar,and[so,on]」␤ t => 「bar」␤ t => 「and[so,on]」␤ ts => 「so,on」␤ t => 「so」␤ t => 「on」␤␤»
grondilu r: my grammar G { token TOP {^<t>$}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]? } }; say G.parse('Foo[bar,and[so,on]],THIS_SHOULD_FAIL')
jnthn Uh, and apparently parse ain't anchoring the end...
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«#<failed match>␤»
grondilu go damned it you're right
I struggled a long time with this an you cracked it almost instantly. That's embarassing. 16:13
16:13 circuit joined
jnthn It's practice, I think. I think debugging them is often hard, though, which is why I've written 3 things by now (sadly, 1 currently busted) to try and help with that. 16:13
What I'd really like to build is a kind of interactive "grammar assembly tool". 16:14
Mouq perl6-debug++ jnthn++
16:15 berekuk left 16:20 rindolf left 16:26 myfree joined
grondilu r: my grammar G { token TOP {^<t>$}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]? } }; say G.parse('Foo[bar][and]') 16:29
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«#<failed match>␤»
Mouq r: my grammar G { token TOP {^<t>$}; token ts { <t>+ % ',' }; token t { \w+ [ '[' ~ ']' <ts> ]* } }; say G.parse('Foo[bar][and]')
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«「Foo[bar][and]」␤ t => 「Foo[bar][and]」␤ ts => 「bar」␤ t => 「bar」␤ ts => 「and」␤ t => 「and」␤␤»
Mouq woo
16:30 berekuk joined
Mouq grondilu: sorry if I took the fun out of making that work 16:30
grondilu yeah bu it does not parse Foo[bar] as a token 16:31
I mean, it's supposed to mean (Foo[bar])[and]
16:31 myfree left
grondilu so Foo[bar] should stand out in the parse tree 16:31
16:32 circuit left
grondilu though I'm not sure, I should verify on wolframalpha 16:32
anyway yes it parses, but the logic of the grammar is a bit obfustated 16:33
16:33 xinming_ left
grondilu *cated 16:34
16:35 xinming joined
[Coke] grondilu: I presume your actions would make that clear. 16:36
16:36 circuit joined
dalek rl6-roast-data: bb81017 | coke++ | / (6 files):
today

First run on new host - not yet automated
16:38
rl6-roast-data: 12ce0cc | coke++ | bin/cull:
New host, new minor version of perl
FROGGS and in the end you would use better token names
[Coke] +S02-types/baghash.rakudo.parrot aborted 64 test(s) 16:39
16:39 molaf_ joined
grondilu well, yeah I guess. I'm possibly just trying to rationalize the fact that I was unable to come up with this in the first place :/ 16:39
using alternation seemed so much natural, like in a BNF grammar. And yet it did not work at all. 16:40
FROGGS only 71 fails left on moar!!!
16:40 virtualsue joined
FROGGS TimToady++ 16:40
Mouq [Coke]++
grondilu++
FROGGS++
jnthn++
geekosaur++
FROGGS 190 ppl to go :o) 16:41
189 perhaps
Mouq masak++
vendethiel++
FROGGS [Coke]: I'm going to have a look at that
vendethiel wut wat
Mouq That's everyone I've seen today
grondilu (@hacker-in-the-world.grep({$_ ~~ Perl6User}))»++
vendethiel oh okay Mouq++
geekosaur well, you do need to know how the grammar machinery works and what model it uses. I'd write a different thing for LR vs. LALR(1) 16:42
16:42 molaf left
timotimo grondilu: i think you can write .grep(Perl6User) instead of .grep({ $_ ~~ Perl6User }) 16:43
grondilu timotimo: actually not
timotimo since grep already uses smartmatch semantics for its argument
grondilu r: say ('foo', 4).grep(Int)
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«4␤»
grondilu hum 16:44
I remembered omthing similar that did not work
FROGGS star: say ('foo', 4).grep(Int)
camelia star 2013-09: OUTPUT«4␤»
Mouq definitely didn't realize that
pippo o/ #perl6
Mouq r: say 4 ~~ {$_ ~~ Int}
FROGGS hi pippo
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«True␤» 16:45
Mouq r: say 4 ~~ {$_ ~~ Num}
grondilu r: subset Even of Int where * %% 2; say (^10).grep(Even)
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«False␤»
rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«0 2 4 6 8␤»
grondilu r: subset Even of Int where * %% 2; say (^10).grep(Even)
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«0 2 4 6 8␤»
grondilu oh, I remember now
pippo Can someone explain me what does '[' ~ ']' mean in a grammar. Particularly the "~" ? For me is string concatenation but it does not seem used like this there. 16:46
timotimo yes, it's the "surrounded by" operator
and it operates on three tokens, rather than two
FROGGS m: say "[abc]" ~~ /'[' ~ ']' \w+/
camelia rakudo-moar 652a1f: OUTPUT«「[abc]」␤␤»
grondilu r: subset TenMultiple where * %% 10; say 0, 1 ... TenMultiple
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«0␤»
timotimo so a ~ b c means roughly the same as a c b
FROGGS pippo it is about '<opener>' ~ '<closer>' <something in the middle> 16:47
timotimo but it gives extra nice error reporting when b doesn't get found
grondilu r: subset TenMultiple where * %% 10; say 0, 1 ... TenMultiple # <= here smarmatch does not work as with grep
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«0␤»
timotimo grondilu: 0 is %% 10, so it stops right there
pippo FROGGS: timotimo: Thank you!
timotimo r: subset TenMultiple where * %% 10; say 1, 2 ... TenMultiple
grondilu r: subset TenMultiple where * %% 10; say 1, 2 ... TenMultiple # <= here smarmatch does not work as with grep
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
grondilu ahh 16:48
timotimo the end point gets matched against the whole sequence on the left of ...
r: say 1, 2, 3, 4, 5 ... * > 3;
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«1 2 3 4␤»
grondilu so it must be something else. I'd swear I once had to write {$_ ~~ SomeType} instead of just SomeType
timotimo gotta run now
pippo m: say "[abc[abc]]" ~~ /'[' ~ ']' \w+/; 16:49
camelia rakudo-moar 652a1f: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤ in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1139␤ in method ACCEPTS at src/gen/m-CORE.setting:12724␤ in method ACCEPTS at src/gen/m-CORE.setting:798␤ in block at /tmp/KfKFKnMN8b:1␤␤»
Mouq thinks someone should definitely fix that '[' ~ ']' parsefail causes the whole program to die
pippo m: say "[abc[abc]]" ~~ /'[' ~ ']' .+/; 16:50
camelia rakudo-moar 652a1f: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤ in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1139␤ in method ACCEPTS at src/gen/m-CORE.setting:12724␤ in method ACCEPTS at src/gen/m-CORE.setting:798␤ in block at /tmp/4EvUGTpmwV:1␤␤»
timotimo actually, i can stay \o/
Mouq pippo: Your .+ is eating everything to the end
FROGGS m: say "[abc[abc]]" ~~ /'[' ~ ']' .+?/;
camelia rakudo-moar 652a1f: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤ in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1139␤ in method ACCEPTS at src/gen/m-CORE.setting:12724␤ in method ACCEPTS at src/gen/m-CORE.setting:798␤ in block at /tmp/QeGCXYa4vW:1␤␤»
Mouq Uh
FROGGS n: say "[abc[abc]]" ~~ /'[' ~ ']' .+?/; 16:51
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to parse anonymous regex␤Couldn't find final ']'; gave up␤ at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2962 (Cursor.FAILGOAL @ 6) ␤ at /tmp/SwsOyP3T6…»
FROGGS n: say "[abc[abc]]" ~~ /'[' ~ ']' <-[\]]>+/;
Mouq m: say "[abc[abc]]" ~~ /'[' .+? ']'/;
camelia niecza v24-109-g48a8de3: OUTPUT«「[abc[abc]」␤␤»
rakudo-moar 652a1f: OUTPUT«「[abc[abc]」␤␤»
Mouq The problem is that it dies on parsefail >:( 16:52
So it never gets a chance to backtrack
timotimo yeah, i think we need a better way to add a failure message to a failed parse
better than to die inside the regex
(which you can prevent the whole program from crashing with by using try) 16:53
pippo Mouq: Thanks. 16:55
16:56 xinming left 16:57 xinming joined
FROGGS r: say BagHash.new("a", "b", "b").grab: * 17:00
camelia rakudo-moar 652a1f: OUTPUT«a b b␤»
..rakudo-parrot 652a1f: OUTPUT«No such method 'value' for invocant of type 'Any'␤ in method grab at gen/parrot/CORE.setting:15867␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 652a1f: OUTPUT«b a b␤»
17:00 xfix joined 17:08 xinming left 17:09 xinming joined 17:10 beastd left 17:13 grondilu left 17:14 Rotwang joined, xinming_ joined 17:15 xinming left 17:16 jnap joined 17:17 denis_boyun joined 17:20 rurban left 17:23 xinming_ left 17:24 xinming joined
Mouq wishes `token type:subtype:subsubtype {*}` worked 17:24
Mouq is the one who make `token type:subtype {...}` work in the first place, so you don't have to use `token type:sym<subtype> {...}` when you don't actually need a <sym> 17:25
17:33 xinming left 17:35 xinming joined
TimToady '[' ~ ']' isn't intended to backtrack, but to commit to the '[' 17:38
use the old-fashioned form if you want to backtrack
we could maybe do it differently in a regex declaration than in a token declaration, I suppose 17:42
vendethiel wondered why we needed `'[' ~ ']'` at first and now knows 17:44
TimToady it's sort of a convenience combinator
vendethiel likes % and %% very much, tho 17:45
vendethiel -- even if % is more interesting (IMHO!) than %%
TimToady it's mostly there so you don't have to repeat yourself, as you generally do in a standard BNF-ish grammar 17:46
vendethiel Expressions: ['Expression', Expression ; Expressions', 'Expression ;'] or something :-p 17:47
vendethiel hates working on coffeescript's grammar because of this 17:48
There's probably a YAML parser I can look at to see how significant whitespace is handled 17:51
(I guess through dynamic variables, though)
Oh, there's a YAML dumper but no parser. Mmh, that cool make for a good project I guess though. 17:53
I can probably inherit from the JSON parser
17:56 tgt left 18:01 virtualsue left 18:03 mtk joined
Mouq Sooo 18:05
does anyone know why perlcabal.org is down?
FROGGS no 18:06
Mouq Ok
18:07 tgt joined 18:17 mtk left
Mouq news.ycombinator.com/item?id=7329993 18:20
18:20 mtk joined
dalek kudo/nom: f4c4d2a | (Tobias Leich)++ | src/core/Baggy.pm:
check for defined elements in Baggy.grab

For some reason the hash elements are already deleted on parrot when it is about to access
  .value on it.
18:22
18:28 sftp joined
pippo m: grammar G { token TOP {<t>}; token t { '[' ~ ']' [<-[\]\[]>+ <t>?] };}; say G.parse("[abcd[abcd[abcd]]]"); 18:44
camelia rakudo-moar 652a1f: OUTPUT«「[abcd[abcd[abcd]]]」␤ t => 「[abcd[abcd[abcd]]]」␤ t => 「[abcd[abcd]]」␤ t => 「[abcd]」␤␤»
dalek ast: d626eb7 | larry++ | S05-grammar/parse_and_parsefile.t:
update parse and subparse tests to match spec
18:55
kudo/nom: 4d8734d | larry++ | src/core/Grammar.pm:
implement subparse, redef parse to require $
TimToady there may be a few .parses out there that need to change to .subparse 18:56
masak TimToady++ 19:03
I think I can guess what that change was about.
19:04 pippo left 19:06 darutoko left
Mouq r: grammar Foo { grammar Thing is Foo {method gist {"A fooey thing!"}}; method s { say ::Foo::Thing } }; Foo.new.s 19:12
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«A fooey thing!␤»
Mouq r: grammar Foo { grammar Thing is Foo {}; method s { say ::Foo::Thing } }; Foo.new.s
camelia rakudo-moar 652a1f: OUTPUT«Cannot invoke null object␤ in sub say at src/gen/m-CORE.setting:13265␤ in method s at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 652a1f: OUTPUT«No such method 'gist' for invocant of type 'Thing'␤ in sub say at gen/jvm/CORE.setting:13267␤ in method s at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 652a1f: OUTPUT«No such method 'gist' for invocant of type 'Thing'␤ in sub say at gen/parrot/CORE.setting:13309␤ in method s at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
19:17 tgt left
Mouq r: my $*A := 1 19:18
camelia rakudo-parrot 652a1f, rakudo-jvm 652a1f, rakudo-moar 652a1f: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot use bind operator with this left-hand side␤at /tmp/tmpfile:1␤------> my $*A := 1⏏<EOL>␤ expecting any of:␤ …»
Mouq n: my $*A := 1
camelia ( no output ) 19:19
19:24 mtk left 19:31 tgt joined 19:33 Zaydon joined
FROGGS p6: my num $alpha = Nil; say $alpha 20:00
camelia rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«Cannot unbox a type object␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/tmpfile line 1:␤------> my⏏ num $alpha = Nil; say $alpha␤␤Parse failed␤␤»
..rakudo-parrot 4d8734: OUTPUT«0␤»
20:01 virtualsue joined 20:03 __thou left 20:05 kurahaupo_mobile joined
FROGGS moritz: there? 20:05
moritz FROGGS: yes 20:06
FROGGS perlcabal.org seems to be down
and it points to feather.perl6.nl 20:07
can you check that the service is running, or so?
20:09 __thou joined
moritz FROGGS: willdo 20:09
...provided I get shell access to feather
it seems awefully slow
FROGGS moritz++ # thank you
FROGGS reads S02-bits.pod in the meantime 20:10
moritz [Coke]: I killed a 113h old perl6-p process of yours, seems to have been part of the daily star smoking 20:11
20:11 Zaydon left
moritz (on feather) 20:12
timotimo is finally watching Sneakers 20:18
20:21 pippo joined
moritz the apache setup on feather is... interesting 20:22
20:22 hoverboard joined
FROGGS hehe, I bet :o) 20:22
20:23 perigrin left
moritz including some hand-combined authz_* modules of which I never heard, and which stopped working after the libc upgrade 20:23
20:23 perigrin joined
FROGGS ohh well :/ 20:23
moritz but the real blocker is that I'm currently inside a gigantic dist-upgrade 20:25
and apache doesn't have a necesary module installed
and I can't install it until the dist-upgrade is through
so, patience :(
Mouq moritz++ 20:26
FROGGS no hurry
yeah, moritz++
20:27 circuit left
moritz perlcabal.org is back... sorta :( 20:31
dalek href="https://perl6.org:">perl6.org: 324e2e3 | (Alexander Moquin)++ | source/compilers/index.html:
Add MoarVM to Rakudo description
20:34
20:38 mtk joined 20:42 pippo left, mtk left
moritz I don't believe this 20:43
FROGGS hmm?
moritz some part of the upgrade has overwriten /var/www/
FROGGS ewww
good that we tend to love repositories 20:44
timotimo wat :( 20:45
20:48 dmol left, dmol joined
lue On doc.perl6.org I just noticed something: why are we using ≼ (PRECEDES OR EQUAL TO) instead of ≤ (LESS-THAN OR EQUAL TO) ? (same for ≽ and ≥) 20:48
Mouq lue: For the set op? 20:49
lue Oh? The doc pages don't make any mention about sets though.
dalek : 4b22709 | moritz++ | docs/feather/script/update-syn:
restructure output dir a bit
20:50
Mouq lue: Well, Bag op
lue those too :)
20:50 kivutar joined
Mouq lue: Where are you talking about? 20:51
lue The given signatures on the two pages don't have any type constraints, making it look like someone use the wrong characters for Unicode-based <= and >=
doc.perl6.org/routine/infix:%3C%E2%89%BC%3E doc.perl6.org/routine/infix:%3C%E2%89%BD%3E
Mouq lue: They really don't have any type constraints... Their not actually documented, it's just kind of stub documentation 20:52
r: say ('a','b') ≼ ('a','b','b')
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«True␤»
Mouq Its arguments are made into Bags 20:53
lue would argue we should really have ≤ and ≥ in light of these operators :)
and I just now realize I was blind to the use of the word "Bag" on those two pages :P
Mouq lue: Again, not really your fault; there should be documentation that I haven't yet written 20:54
r: say ('a','b','b') ≼ ('a','b')
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«False␤»
Mouq lue: I'd first like to fix what I noted here, though: github.com/perl6/doc/commit/8c84a 20:57
lue: Though you can feel free to add documentation ;) 20:58
lue :) Pretty soon I feel that we need to reorganize the docs in doc/ , by the way (namely, actually organize them.) 21:00
moritz lue: why do you think they aren't organized? 21:03
lue So far as I can see, everything is just thrown into lib/, with the only subdirs for namespaces (Backtrace::, X::) 21:05
21:05 zakharyas left
lue It'd be nice if, say, types were in src/types, tutorial docs in src/tuts, etc. (you can probably tell I don't agree with using LIBrary for documentation files, though that's an inconsequential preference :P) 21:08
Mouq lue: I honestly don't see a problem with that, though I definitely think that the doc site should have separate Methods and Routines sections
lue: Everything gets loaded into the program that generates the site anyway 21:09
*at once
lue I just don't like the looks of everything as it slowly makes `ls` output larger and larger. Seems that might just be preference though.
Also I don't like the feeling of lacking organization I get from having type documentation and tutorial-ish documentation in the same directory :) Again, appears to be just me. 21:10
Mouq lue: I do think having the tutorials somewhere apart from the class-by-class documentation would be a good idea
lue (Arguably getting the generated website's index to not look like a giant list of everything would be more important ☺) 21:11
Mouq really likes imgur.com/a/y1dHo FWIW 21:13
lue timotimo: is flatten_fastpath in master yet? I have to switch to master because of some negative codepoint bug (I recall hearing about something like it and it thus being fixed), but the part of the synopsis generation I could get through still feels like it's going slower. 21:14
moritz can anybody please help me debug the apache2 on feather? 21:15
I get "client denied by server configuration" for all requests
[Sun Mar 02 22:16:01.772673 2014] [authz_core:error] [pid 22491] [client 182.50.130.100:44049] AH01630: client denied by server configuration: /home/pugscode/html/syn/ 21:16
Mouq stackoverflow.com/questions/841304...figuration ? 21:17
moritz and the config contains
Mouq can only guess
moritz DocumentRoot /home/pugscode/html/
<Directory /home/pugscode/html/>
Order Allow,Deny
Allow From All
</Directory>
Mouq "Require local" 21:18
moritz Mouq: I still get the same error :( 21:19
Mouq moritz: :(
lue moritz: in Mouq's link, the "Allow From All" line came before the "Order" line in the broken code. Don't know if that's helpful though. 21:20
And then also, the "Order" line in that code was Deny,Allow 21:21
moritz: this might be helpful: wiki.apache.org/httpd/ClientDenied...figuration 21:23
moritz serverfault.com/questions/418101/ap...s-to-direc "Require all granted" worked
lue stackoverflow.com/questions/103511...figuration <-- this says "Require all granted" too, just about to share it :) 21:25
21:26 tgt left
dalek : f95f95b | moritz++ | docs/feather/script/update-syn:
copy more stuff to root
21:27
: 6b16202 | moritz++ | docs/feather/script/update-syn:
fix path
21:28
Mouq \o/ moritz++ 21:29
dalek : 8748257 | moritz++ | docs/feather/script/update-syn:
copy the right index.html
21:30
: d227369 | moritz++ | docs/feather/script/update-syn:
another attempt to unconfuse index.html
21:32
21:35 Rotwang left
dalek : 2437389 | moritz++ | docs/feather/script/update-syn:
another attempt to fix pugscode.org
21:36
moritz next problem: perlcabal.org/syn/ references dev.perl.org/css/perl.css which is gone 21:37
ok, perlcabal.org seems to be a in a similar state to before the update 21:38
tomorrow I'll try to fix some other websites
sleep&
Mouq moritz: Odd, since perlcabal.org/syn/perl.css exists 21:40
and moritz++
night
21:41 pippo joined, pecastro left
timotimo lue: flatten_fastpath has been merged and now also encompasses more cases of string flattening compared to before 21:44
21:45 xinming left 21:47 xinming joined 21:48 kaare_ left 21:53 FROGGS left 21:54 dmol left 21:59 arnsholt left 22:01 vendethiel left 22:02 BenGoldberg joined 22:03 mavcunha joined 22:07 molaf_ left
dalek c: 0e7edc8 | Mouq++ | / (4 files):
Add faded camelia image to bg, move style.css to css/style.css
22:10
Mouq (smls++) 22:13
timotimo hmm 22:22
maybe it'd be possible to find a distribution of all the topics that one could put in some sort of map form
rather than just a list
would that help overview?
putting all exceptions into a separate group would be a good idea, IMO. 22:23
dalek ast: 9c0f7ec | larry++ | S05-grammar/protoregex.t:
LTM tests should use subparse
ast: 8dbeaec | larry++ | S05-metasyntax/proto-token-ltm.t:
LTM tests should use subparse, reprise
22:24
ast: 4bb8218 | larry++ | S05-mass/charsets.t:
p-j now passes all these tests
22:28
timotimo parrot-jvm? when did we develop that?! 22:31
22:34 denis_boyun left 22:36 kivutar left 22:42 virtualsue left 22:48 virtualsue joined
geekosaur pugs-jvm? :p 22:51
masak r: for 1..10 { say "*"; NEXT { say "N" } } 22:59
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«*␤N␤*␤N␤*␤N␤*␤N␤*␤N␤*␤N␤*␤N␤*␤N␤*␤N␤*␤N␤»
masak sometimes wishes for a BETWEEN phaser in loops
22:59 rurban joined
lue masak: couldn't NEXT be that inbetween phaser? (After all, on the last iteration there is no NEXT iteration, is there?) 23:01
TimToady yes, there is, because the NEXT has to happen before the test 23:03
lue ah. 23:04
23:04 mavcunha left
TimToady it's like continue {} in P5 23:05
so corresponds to the 3rd term of a C-style for
23:06 Psyche^_ joined
dalek c: af29967 | Mouq++ | htmlify.pl:
Look for {in,pre,...}fix operators in type docs
23:10
c: 150492b | Mouq++ | lib/Bool.pod:
Use more readable prefix format in Bool.pod
23:12
23:16 pecastro joined
Mouq r: say qc[this works{33.chr}] 23:18
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«this works!␤»
dalek c: e76fa11 | Mouq++ | htmlify.pl:
Have search go to the right place for ops
23:28
lue r: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); say $<abc>[0].WHAT, $<abc>[1].WHAT
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«(Match)(Match)␤»
lue r: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); say $_.WHAT for $<abc>
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«(Array)␤»
lue That used to work, but now for some reason for $<rule> won't work properly. :/
Mouq lue: Yeah... 23:29
r: say $_.WHAT for [1,2,3]
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«(Array)␤»
Mouq star: say $_.WHAT for [1,2,3]
camelia star 2013-09: OUTPUT«(Array)␤»
lue $<rule>[] works as a workaround, but I'd really love to know how that one broke. 23:30
Mouq lue: See: github.com/rakudo/rakudo/commit/7c...0e73504f8b
(ammended by github.com/rakudo/rakudo/commit/c6227)
lue Looks to me like an issue with Array rather than matching then. 23:32
Mouq r: say $_.WHAT for [1,2,3][]
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«(Int)␤(Int)␤(Int)␤»
TimToady neither $ nor [] are ever going to flatten
Mouq TimToady: Is for $<abcd> supposed to iterate though? 23:33
TimToady never
lue I shouldn't have to do for $<rule>[] to iterate through rules though.
s/rules/matches/
23:33 perigrin left
TimToady it's a $ variable 23:33
would you expect $foo to iterate?
23:33 perigrin joined
Mouq Curse your logic and consistency :) 23:33
p6: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); .say for @<abc> 23:34
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«「abc」␤ 「abc」␤␤»
..niecza v24-109-g48a8de3: OUTPUT«「abc」␤␤「abc」␤␤»
lue No, but I still want to iterate through matches without what looks like useless extra characters :/
Mouq Looks like rakudo doesn't quite get that right
lue @<abc> is just @($<abc>) though, right?
Mouq p6: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); .say for @$<abc> 23:35
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734, niecza v24-109-g48a8de3: OUTPUT«「abc」␤␤「abc」␤␤»
Mouq p6: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); .say for %$<abc>
camelia rakudo-parrot 4d8734, rakudo-moar 4d8734: OUTPUT«"abc" => Match.new(orig => "abcabc", from => 3, to => 6, ast => Any, list => ().list, hash => EnumMap.new())␤»
..niecza v24-109-g48a8de3: OUTPUT«"abc" => #<match from(3) to(6) text(abc) pos([].list) named({}.hash)>␤»
..rakudo-jvm 4d8734: OUTPUT«"abc" => Match.new(to => 6, hash => EnumMap.new(), ast => Any, list => ().list, orig => "abcabc", from => 3)␤»
Mouq r: say qc[\{] 23:37
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«\{␤»
Mouq n: say qc[\{] 23:38
camelia niecza v24-109-g48a8de3: OUTPUT«\{␤»
Mouq wtf
n: say qcb[\{]
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unable to parse block at /tmp/Tbs3Fggddh line 1:␤------> say qcb[\{⏏]␤Couldn't find final '}'; gave up at /tmp/Tbs3Fggddh line 1:␤------> say qcb[\{⏏]␤␤Undeclared …»
Mouq r: say q:c:b[\{]
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«\{␤»
TimToady r: say '\{' 23:39
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«\{␤»
23:39 virtualsue left
TimToady say "\{" 23:39
r: say "\{"
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«{␤»
TimToady single and double quotes have different \ policies 23:40
singles only remove backslash from the terminator and backslash
lue TimToady: I personally see $<abc> more often as "collection of all matches made by <abc>" than "item, either a match or a list". Would like to not need [] for the way I see it :/ (like it used to be...) 23:41
TimToady that's crazy talk 23:43
you don't really want all the old bugs
lue Yeah, but I'd still like it if $<abc> were treated like the list it is, without me having to coerce it. (Perhaps @/ ?) 23:45
TimToady it isn
it *isn't* a list
it's a match object
lue supposes he's just incredibly upset at the moment due to the sudden need for what feels like extraneous characters 23:46
TimToady and didn't Mouq++ just demo @<abc> above?
the computer can't read your mind
masak r: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); say $<abc>.^name
Mouq TimToady: Well, he does have to use extraneous characters until @<abc> is fixed in Rakudo
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«Array␤»
masak looks like Array to me. 23:47
lue masak: exactly what I was thinking :)
TimToady it looks like Scalar of Array to me
masak TimToady: in what sense is that Array a match object?
TimToady r: grammar G { regex TOP { <abc>+ }; regex abc { abc } }; G.parse("abcabc"); say $<abc>.VAR.WHAT
camelia rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«(Scalar)␤»
TimToady there
it's like a [], not like Array.new
masak right. 23:48
but it's still not a match object, right? it's an Array.
TimToady sure, it's an Array (itemized)
I don't see a problem with that
masak oh, you were saying it isn't a *list*. well, I agree with that.
but it seems to me it's an array. not a match object.
lue ( there's the issue of me feeling too stubborn at the moment for any kind of user-side coercion as a solution, which makes @<abc> (so far as I know) equally unlikable to $<abc>[] ) 23:49
masak lue: well, I think itemized things should be explicitly listified.
TimToady if it did that DWIM it would definitely have an equal and opposite WAT
masak lue: over the years, that has emerged as basically the only sane thing to do.
'night, #perl6 23:50
TimToady o/
lue masak o/
In that case, my argument moves to "the way to access named subrules in a match shouldn't return itemized lists" :)
TimToady in which case, + and ~ would do very unexpected things 23:51
lue Great, now I've got a "chr codepoint cannot be negative" to deal with in Pod::To::HTML :/ 23:52
TimToady afk for a bit &
lue TimToady: I worded my quoted argument the way I did because I know $<rule> isn't the right answer for what I want :) 23:55
23:55 LooneyLemur joined
Mouq tries to fix @<abc> real quick 23:56
lue now gets the feeling that $<rule> is too overloaded with different types of things to Do the Right Thing™ in every usage... 23:58
23:58 xenoterracide joined