»ö« 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/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say so '一' ~~ /<:Ideographic>/ ⏏say so '海' ~~ /<:Ideographic>/ exp…» | ||
TimToady | r: say so '一' ~~ /<:Ideographic>/; say so '海' ~~ /<:Ideographic>/ | ||
camelia | rakudo-moar 45e230: OUTPUT«TrueFalse» | ||
..rakudo-parrot 45e230, rakudo-jvm 45e230: OUTPUT«TrueTrue» | |||
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/tmpfileUnable 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 regexCouldn'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/tmpfileCannot use bind operator with this left-hand sideat /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 $alphaParse 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
|