»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
sorear | aha, found it | 00:01 | |
pugssvn | r31008 | sorear++ | [viv] Allow .*? to backtrack in rules again. Oops. | 00:09 | |
00:16
whiteknight joined
00:21
Spreadsheet_ left
00:23
[Coke] joined
00:30
azert0x left
00:35
rgrau left
00:36
yinyin joined
|
|||
[Coke] skips review. | 00:38 | ||
00:38
kda left
01:00
meppl left
01:03
yinyin left
01:07
meppl joined
01:09
pausenclown left
01:13
pausenclown joined
01:16
tylerni7 left
01:31
snarkyboojum left,
am0c joined
01:32
Guest86832 left,
nothingmuch joined
01:34
tylerni7 joined
01:45
nothingmuch left
01:46
meppl left
02:08
synth left
02:09
synth joined
|
|||
jnthn | mornin' | 02:19 | |
02:23
whiteknight left
|
|||
sorear | yo. | 02:27 | |
02:28
[mark] joined
02:30
agentzh joined
02:31
atomicstack joined
|
|||
sorear | Hmm. | 02:36 | |
Fixing quantifier ratcheting doesn't seem to have helped performance much... | 02:37 | ||
02:39
JimmyZ joined
02:43
bluescreen joined,
bluescreen is now known as Guest3497
02:46
JimmyZ left
02:47
Guest3497 left,
JimmyZ joined
02:48
pencilk joined
02:51
molaf joined
|
|||
TimToady | <masak> module A { module UNIT::A {} } # clash? | 03:03 | |
yes, clash | 03:04 | ||
colomon | jnthn: I'm spectesting Prakash Kailasa's hyper patch, but I'm going to go to bed before it finishes, I think. | ||
TimToady | std: module A { module UNIT::A {} } | ||
p6eval | std 31008: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'MY:file</tmp/NdCFDuauHW>::<A>' (from line 1) at /tmp/NdCFDuauHW line 1:------> module A { module UNIT::A ⏏{} }Check failedFAILED 00:01 114m» | ||
jnthn | colomon: OK. :-) | 03:05 | |
colomon: I've gotta take care of $dayjob for the next little while anyways. | |||
TimToady | in fact, nearly all your questions about module nesting are already answered by STD, though you might have to parse a .pm and examine the resulting .syml file to find the answer | ||
colomon | It gets at least another 40 tests passing! \o/ | ||
jnthn | colomon: \o/ | ||
colomon: We hit 33k yet? ;-) | 03:06 | ||
colomon | I dunno, but we're within 40 for sure, I think. | ||
jnthn | \o/ | ||
colomon | currently having git issues. :( | ||
jnthn | Good chance of us making that in the next 24 hours then :-) | ||
colomon | yes | 03:07 | |
bother, I just erased the working patch. :() | |||
:( | |||
jnthn | :( | 03:08 | |
colomon | easy enough to rebuild, now trying compile and hyper.t again. | 03:09 | |
03:10
krakan joined
|
|||
colomon | ack, things are completely confused here. | 03:10 | |
think I will go to bed and tackle it again in the morning. | 03:11 | ||
03:12
colomon left
|
|||
TimToady | the _reduced for <foo=.bar> is 'bar' in sTD | 03:15 | |
STD even | |||
03:19
Eevee left
|
|||
sorear | TimToady: What are the most important optimizations in gimme5? | 03:21 | |
TimToady | well, LTM itself prevents a great many false leads | 03:22 | |
the other biggie is avoiding lazymap | |||
via ratcheting | |||
sorear | Huh. I had never thought of LTM as an /opt/imization | 03:23 | |
TimToady | if you do the LTM at the termish level, you don't have to redo it at lower levels because the fate is already determined | 03:24 | |
sorear | hmm. I wonder if that's working | 03:25 | |
(in viv) | |||
TimToady | should be able to tell from the logs what probes are made and what fates are piced | 03:26 | |
*picked | |||
sorear | on the plus side, LTM lexer caching does not appear to be magically broken | 03:28 | |
sorear has a hunch that <.ws> is the most expensive rule | |||
how does HIGHEXPECT and MEMOS work? | 03:29 | ||
TimToady | which is why it is heavily optimized | ||
you could run NYTProf on viv | |||
I run it now and then on std | 03:30 | ||
generally cursor_fate is the most expensive routine | |||
since it's faking LTM | |||
well, it's doing LTM but not always efficiently | |||
@*MEMOS is indexed by pos in the original source | 03:31 | ||
each entry is a hash that, beside mapping back to line number, allows any other keys, such as <ws> for the whitespace memoization | |||
if <ws> is set, it's pointing back to the beginning of the whitespace here, and means "we already match ws here, don't do it again" | 03:32 | ||
also we set some hints for possible future error messages | |||
<nodecl> and such | |||
sorear ponders experimenting with packratism | |||
TimToady | probably won't get much | ||
because we don't backtrack much | 03:33 | ||
HIGHEXPECT records the rules we attempted at the highwater mark | 03:34 | ||
sorear | gimme5: sub ws__PEEK { '' } | ||
viv: sub ws__PEEK { '' } | |||
er | |||
TimToady | it's the list of expectations in 'expecting any of' messages | ||
sorear | sub ws__PEEK { $_[0]->_AUTOLEXpeek('ws', $retree) } | ||
aha, I was wondering how that worked | 03:35 | ||
sorear thinks this __PEEK difference is important | |||
03:35
cowyn left
|
|||
TimToady | I think ws is hardwired elsewhere to terminate LTM | 03:35 | |
so this PEEK shouldn't be important | |||
RE_ast:214 | 03:36 | ||
218 rather | |||
sorear | in general, though | ||
viv is currently hardwired to generate a single form of __PEEK | |||
sorear doesn't follow the <<DECL>> etc stuff in gimme5 and just cloned behaviorally | 03:37 | ||
ah, viv generates empty __PEEK for ws fail commit before after panic and anything declared using 'method' | 03:39 | ||
s/viv/gimme5/ | |||
viv doesn't generate __PEEK *at all* in those cases | |||
I'm also not generating EXPR__PEEK | 03:40 | ||
hmm | 03:52 | ||
die processing is pretty slow iirc | 03:53 | ||
maybe adding __PEEK stubs for things would be a big improvement | |||
except, no, that would only help autolexer generation | |||
which is Not The Bottleneck | |||
03:55
cli_ joined
|
|||
sorear | TimToady: Might changing the names of alternatives have broken anything? (ws_03 and ws_05 are now ws_0 and ws_1) | 03:56 | |
sorear quickly flips back and forth between two versions of "sub ws" looking for breakage | 03:57 | ||
lue | ohai | 04:00 | |
sorear | TimToady: Can you tell me anything about the hacks involved in autolexing EXPR? | 04:04 | |
dmpk2k | Does Perl6 have any method or function help at the REPL, like Python or Common Lisp? | 04:09 | |
sorear | rakudo: Any.^methods.Str.say | 04:11 | |
p6eval | rakudo dd0e5d: OUTPUT«can Numeric elems end reduce Str keys reverse isa uniq classify map pairs kv ACCEPTS min max pick first minmax does grep values join WHICH perl CREATE Capture PARROT bless WHENCE WHERE list notdef BUILDALL new Bool print say defined WALK item BUILD REJECTS clone» | ||
sorear | something like that? | ||
dmpk2k | Alas, nope. Fire up a python interpreter and type "help(dir)". | 04:13 | |
It shows you a description of what the dir() function does. | |||
lue | there's perldoc, but i'm not sure if that's part of the REPL itself. | 04:14 | |
04:15
cli_ left,
cli_ joined
|
|||
dmpk2k | Perldoc is good stuff, but it'd very oh-so-nice if there were allowanced for it at the REPL. | 04:16 | |
I don't use Python, but I use it all the time with Factor. | |||
lue | rakudo: perldoc | ||
p6eval | rakudo dd0e5d: OUTPUT«Could not find sub &perldoc in main program body at line 1:/tmp/TrJadigSqD» | ||
sorear | Perl6 is specced to have online help | 04:19 | |
dmpk2k | Awesome. :) | ||
sorear | it's stored in the .WHY interrogative of variables | ||
lue | but last I heard, REPL still has an feeble "memory", in that it can't remember variables from the last line. It still has a waaays to go. | 04:20 | |
sorear | there's a fork of the REPL from about two weeks ago with the ability to remember variables | 04:21 | |
pmichaud is working on a "real" version | |||
04:22
molaf left
|
|||
dmpk2k | rakudo: say.WHY.say | 04:24 | |
p6eval | rakudo dd0e5d: OUTPUT«Method 'WHY' not found for invocant of class 'Bool' in main program body at line 11:/tmp/yFmMBZvYyP» | ||
dmpk2k | So much for that guess. | 04:25 | |
sorear | there are no complete implementations of Perl 6 yet | 04:26 | |
pugssvn | r31009 | sorear++ | [viv] Optimize .*? and .*! to SCANs with special meta nodes | 04:28 | |
r31009 | Blocks don't need additional cutting | |||
lue | rakudo: 3.WHO.say; 3.WHAT.say | 04:30 | |
p6eval | rakudo dd0e5d: OUTPUT«Method 'say' not found for invocant of class 'Int' in main program body at line 11:/tmp/eKMULuByqJ» | ||
lue | :O | ||
that should work, right? | 04:31 | ||
rakudo: say 3.WHO; say 3.WHAT | |||
p6eval | rakudo dd0e5d: OUTPUT«IntInt()» | ||
04:40
am0c left
|
|||
sorear | oh, /nice/ | 04:49 | |
04:49
TiMBuS joined
|
|||
sorear | TimToady: apparently the .*? -> _SCANf optimization is Really Important | 04:50 | |
implementing it in viv made STD.pmc 36 times faster | |||
04:56
lue left
05:04
PZt left
05:20
am0c joined
|
|||
sorear looks through a 196MB viv.log | 05:22 | ||
05:29
pencilk left
|
|||
sorear | STD-on-viv-on-STD can't seem to handle character classes | 05:39 | |
hmm | |||
05:39
kaare joined
|
|||
sorear | /<[]>/ fails, tr/// succeeds | 05:39 | |
05:40
kaare is now known as Guest26513
05:42
dju joined
|
|||
moritz_ | good morning | 05:49 | |
PerlJam | morning moritz_ | 05:52 | |
sorear | good morning moritz_ | 05:53 | |
ok, I'm missing _PARAMS generation | |||
moritz_ is very pleased with rakudo's progress in last 7 days or so | 05:54 | ||
sorear | hah, viv-compiled-STD doesn't grok balanced punctuation | 05:56 | |
pugssvn | r31010 | sorear++ | [viv] Fix parameterized role autolexer generation (_PARAMS missing) | ||
sorear | it's willing to parse a character class if I spell it <[ a e i o u [> | ||
dalek | kudo: 5c09771 | moritz++ | t/spectest.data: run whatever.t again |
||
moritz_ | sorear: :-) | ||
pugssvn | r31011 | moritz++ | [t/spec] test that method not found error contains method name and line number | 05:59 | |
05:59
mempko joined
|
|||
sorear | wanted: a web changeset service for pugssvn | 06:00 | |
06:00
am0c left
06:01
mempko left
|
|||
sorear | found it | 06:05 | |
moritz_ | sorear: if you look at the IRC logs in /topic, all the r\d+ occurences are turned into links | 06:06 | |
as are many other things :-) | 06:07 | ||
sorear | excellent. moritz++ for telling me moritz++ for the logs | 06:08 | |
moritz_ | #perl6++ | 06:09 | |
most feature ideas and layout patches came here | |||
it was the first ugly-but-useful page I produced, and #perl6 people beautified it | 06:10 | ||
same with perl6.org (perl6-proejects.org back then) | |||
and same with proto.perl6.org | |||
sorear wonders if #perl6 made mowyw | 06:11 | ||
06:12
uniejo joined
|
|||
moritz_ | nope that was my own, pre-#perl6 invention | 06:12 | |
probably not really pre-#perl6, but shortly after I joined | 06:13 | ||
pugssvn | r31012 | sorear++ | [viv] Bracketize \xABCD in perl5-output | ||
sorear | yay, STD-viv can now parse bracketing delimiters | ||
moritz_ | \o/ | ||
sorear | one little bugfix at a time | 06:14 | |
moritz_ | rakudo: sub foo ($a where 5) { say "hi" }; foo(42); | ||
p6eval | rakudo dd0e5d: OUTPUT«Constraint type check failed for parameter '$a' in 'foo' at line 11:/tmp/ld2jH1UvGy in main program body at line 11:/tmp/ld2jH1UvGy» | ||
sorear | though I was rather in a quagmire not long ago; I had my ETA calculated as June 23, 2042 | ||
moritz_ | ETA for viv compiling STD.pm6 without errors? | 06:15 | |
sorear | no | ||
06:15
atomicstack left
|
|||
sorear | that's already here | 06:15 | |
however, it's miscompiling STD | 06:16 | ||
miscompilations are very problematic to debug | |||
moritz_ | with "without errors" I actually meant "correctly" | ||
sorear | ahhh | 06:17 | |
yeah. slow going. | |||
moritz_ | rakudo: my $x = "test"; given $x { say $_; m/(e.)/; say $/ } | 06:18 | |
p6eval | rakudo dd0e5d: OUTPUT«testAny()» | ||
sorear | erm... | ||
what does %<a> mean | |||
moritz_ | std: %<a> | 06:19 | |
p6eval | std 31010: OUTPUT«ok 00:01 114m» | ||
moritz_ | std: % <a> | ||
p6eval | std 31010: OUTPUT«===SORRY!===Non-declarative sigil is missing its name at /tmp/NT9FIN0XhR line 1:------> <BOL>⏏% <a>Bogus statement at /tmp/NT9FIN0XhR line 1:------> %⏏ <a> expecting twigilParse failedFAILED 00:01 111m» | ||
moritz_ has no idea | |||
rakudo: class Foo { }; my $x = "Foo"; my $y = $x.new; $y.WHAT.say; | 06:20 | ||
p6eval | rakudo dd0e5d: OUTPUT«Foo()» | ||
06:20
masonkramer joined
|
|||
sorear | STD.pm6 lines 3263-3265 contain 3 references to %<O><prec> syntax | 06:20 | |
gimme5 compiles this identically to $<O><prec> | |||
moritz_ | std: 1 R~= 2 | 06:21 | |
p6eval | std 31010: OUTPUT«ok 00:01 111m» | ||
moritz_ | rakudo: my $x = 3; 1 R~= $x; say $x | ||
p6eval | rakudo dd0e5d: OUTPUT«1» | 06:22 | |
moritz_ | rakudo: sub foo { my $a = 5; say $^a }; foo(7) | ||
p6eval | rakudo dd0e5d: OUTPUT«===SORRY!===Multiple declarations of lexical '$a'» | ||
sorear | \o/ I'm 100 lines down | 06:24 | |
pugssvn | r31013 | sorear++ | [viv] Translate the %<O> syntax found in STD | ||
sorear | that cuts about a year off my ETA at previous rate estimates :p | ||
moritz_ | somebody flagged rt.perl.org/rt3/Ticket/Display.html?id=62622 as [LHF] (pmichaud perhaps?) but I have no idea where to dig for it :( | 06:25 | |
sorear | LHF? | 06:26 | |
moritz_ | low-hanging fruit | 06:27 | |
06:31
masonkramer left
06:32
meteorjay joined
06:33
cognominal joined,
tedv| left
06:35
Su-Shee joined
|
|||
pugssvn | r31014 | sorear++ | [viv] « » needs to generate an Array | 06:41 | |
sorear | svn-- | 06:42 | |
moritz_ | it's pugssvn that has problems with UTF-8 | 06:43 | |
06:48
kda joined
|
|||
sorear | strange. now it's parsing :=, **, ++ fine, but not => | 06:51 | |
aha | 06:55 | ||
it's parsing :sym« => » as having literal spaces in the name | |||
screws up LTM | |||
06:58
ejs joined
|
|||
pugssvn | r31015 | sorear++ | [viv] We need to trim leading and trailing spaces in word quotes used as adverbs | 06:58 | |
sorear | jumped ahead *500* lines | 06:59 | |
3 years!!! | |||
07:02
ejs left
07:03
ejs joined
07:09
atomicstack joined
|
|||
Su-Shee | good morning. | 07:13 | |
cognominal | \o | ||
07:14
cli_ left
|
|||
sorear wishes he understood the contents of viv.log | 07:18 | ||
mathw | Morning | 07:25 | |
07:31
tomka joined
|
|||
sorear | TimToady: Why is $CTX only updated at certain places, instead of continuously in deb? | 07:32 | |
07:48
buubot left,
buubot joined
07:56
cosimo left
|
|||
pugssvn | r31016 | sorear++ | [viv-ecosystem] Add a tiny script to make comparing lexers easier | 07:57 | |
08:01
plobsing left
|
|||
pugssvn | r31017 | sorear++ | [cleanlex] Also deal with FATE index skew. | 08:04 | |
08:08
proller joined
|
|||
pugssvn | r31018 | sorear++ | [viv] One hack and two bug-compatibilities to improve LTM | 08:20 | |
sorear | it can now parse $<a> | 08:21 | |
there's something delightfully ironic about parsefailing in the parse error code. | 08:22 | ||
(line 1307) | |||
mberends | heh | 08:23 | |
sorear revises his ETA from June 26, 2042 to next Thursday | 08:24 | ||
mberends | that's better than "to *the* next Thursday" ;) | 08:25 | |
sorear | std: no Foo | ||
p6eval | std 31016: OUTPUT«Can't locate object method "explain_myster" via package "STD::P6" at STD.pm line 12432.FAILED 00:01 113m» | ||
pugssvn | r31019 | sorear++ | [STD] Fix a misspelled method name | 08:26 | |
mberends | tried to access SQLite via zavolaj yesterday. It required some signatures that Parrot doesn't yet support. In other experiments, it *did* create an empty database file before segfaulting. Committed the WIP anyway. | ||
sorear | mberends: go talk to plobsing | 08:27 | |
mberends | yes, will do that :) | ||
sorear | plobsing's parrot can handle any signature | ||
mberends | oh cool! | ||
moritz_ | sorear: local branch? | ||
sorear | er, wait | 08:33 | |
I forgot... it was an extension | 08:34 | ||
08:34
kel_ joined
|
|||
sorear | github.com/plobsing/parrot-libjit-fb | 08:34 | |
08:35
Ross joined
08:37
cosimo joined
08:40
Ross left
|
|||
pugssvn | r31020 | sorear++ | [viv] Global protoregex trait tables simulate inheritance | 08:40 | |
08:40
Ross joined
|
|||
pugssvn | r31021 | sorear++ | [viv] Ignore specific token signature if a proto token provided one, to prevent double shifting and lossage. (Is this the right approach?) | 08:46 | |
sorear | line 2438! | 08:47 | |
09:14
tomka left
09:29
PZt joined
09:30
Ross left
|
|||
pugssvn | r31022 | sorear++ | [viv] Add SUBSUME coalescing (acts like an optimization, but it turns out to be semantically critical) | 09:33 | |
sorear | can now handle 1 !~~ 1 | 09:35 | |
moritz_ hopes it returns False :-) | |||
sorear | no, it returns (3 pages of AST) | 09:36 | |
moritz_ | ah well | ||
sorear | you seem to have STD confused with a perl 6 implementation | 09:37 | |
STD.pm, having been compiled with STD.pm, just successfully parsed STD.pm | 09:39 | ||
\ | |||
o | |||
/ | |||
that actually wasn't intentional entering... | 09:40 | ||
moritz_ | looks like a cool move :-) | 09:41 | |
now it would be interesting if also rejects wrong Perl 6 programs :-) | |||
sorear: how long did it take (the parsing, that is)? | |||
sorear | out of scrollback, but 4-5 minutes | 09:42 | |
the same as gimme5 STD | |||
09:43
Ross joined
|
|||
sorear | STD stage 3 contains several <<ERROR>> markers, indicating that unprocessable (i.e. different and wrong) AST is still being generated in some cases | 09:45 | |
however, diff -u (stage 3) (stage 2) is 10,000 lines | |||
compared to a total of 60k lines | |||
09:46
azert0x joined
|
|||
moritz_ | too much if I understand you | 09:46 | |
sorear | I mean to say that STD-stage-2 has correctly compiled 80% of STD | ||
and successfully compiled 100% | 09:47 | ||
moritz_ | ok | ||
sorear -> sleep | 09:48 | ||
moritz_ | 'night | ||
Su-Shee | I have a sudden hunger for bacon. | 09:49 | |
moritz_ | chunky bacon? | 09:50 | |
Su-Shee | slices or chunks, but fried please. :) | ||
09:57
agentzh left
|
|||
Su-Shee | *HAHA* | 09:57 | |
my co-worker is from poland. _he_ got the name of zavolaj immediately. ;) | 09:58 | ||
09:59
masak joined
|
|||
masak | oh hai, #perl6 | 09:59 | |
phenny | masak: 30 May 19:03Z <sorear> tell masak : there is no 'package' statement in Perl 6. "package Foo;" is interpreted as meaning "use v5; package Foo;" to allow pure-Perl-5 modules to be used unaltered. STD implements this (partially) | ||
masak: 30 May 21:58Z <mathw> tell masak I pushed some changes to Form which make it build on my system, but the tests fail. The first failure is in the parsing tests with some fields not parsing, so maybe Form::Grammar is now out of date. | |||
masak | clearly activity kept being high after I left yesterday :) | 10:01 | |
mathw: given that there's a new underlying grammar engine now, that sounds probable :) | 10:02 | ||
moritz_ | mathw: biggest pitfal with the current grammar engine: backslash escape sequences in char classes are NYI | 10:03 | |
masak | sorear: if by 'package statement' you mean 'braceless package declaration', then I agree. I can see how it would be right for STD.pm6 to actually allow such a form, if it did enough p5. Rakudo, in its present form, should probably disallow it. | 10:04 | |
moritz_: I could probably implement those. but not before the Yapsi release. :) | |||
moritz_ | masak: in nqp-rx? that would be awesome | 10:05 | |
masak | I've done it before in Perl 6, so... :) | ||
moritz_ | it's currently the biggest source of workarounds in JSON::Tiny | ||
it also rates high in the often-discussed bugs on p6c | 10:07 | ||
jnthn | masak: We can make package an error, or a "is this Perl 5" kinda message, quite easily if that's the Right Thing to do. | 10:10 | |
mberends | std: package Foo; | 10:12 | |
p6eval | std 31022: OUTPUT«ok 00:01 114m» | ||
masak | alpha: say ?(chr(9) ~~ /<[\t]>/) # is this meant to work? | 10:14 | |
p6eval | alpha 30e0ed: OUTPUT«1» | ||
masak | oh, it does :) | ||
rakudo: say ?(chr(9) ~~ /<[\t]>/) | |||
p6eval | rakudo 5c0977: OUTPUT«0» | ||
moritz_ | rakudo: say ord("\t") | ||
p6eval | rakudo 5c0977: OUTPUT«9» | ||
moritz_ | rakudo: say ?('\\' ~ /<[\t]>/) | 10:15 | |
p6eval | rakudo 5c0977: OUTPUT«1» | ||
moritz_ | rakudo: say ?('t' ~ /<[\t]>/) | ||
p6eval | rakudo 5c0977: OUTPUT«1» | ||
masak notices with embarrassment that GGE doesn't implement this at all | |||
mathw | moritz_: no char classes in Form's grammar | 10:16 | |
masak: Yes. What I need is a grammar engine that tells me what it's doing :) | |||
masak | gnnnn. I really really need to write that GGE debugger. | 10:17 | |
mathw | heh | ||
masak | maybe I should convince someone to help me do it? it's really LHF at this point. | ||
mathw | I'll probably take another look at it later | ||
see if I can figure it out | |||
right now I need to have some breakfast | |||
moritz_ | rakudo: '12 abc ' ~~ /<?DEBUG(1)> <alpha>+/ | 10:18 | |
p6eval | rakudo 5c0977: OUTPUT«3/1: PASS at pos=6» | ||
moritz_ | not perfect, but better than nothing | 10:19 | |
mathw | could be just the key | ||
okay I'll look at it now | |||
and then I'll have breakfast | |||
okay now I'm confused | 10:22 | ||
the same field that's failing... passes if I run just that | |||
but doesn't run inside the test file itself | 10:23 | ||
so maybe it's not the grammar | |||
10:24
whiteknight joined
10:25
colomon joined
|
|||
mathw | oh | 10:26 | |
no my mistake | |||
it is the parsing | |||
bbkr | rakudo: my Rat $a; $a += 0.1 for ^10 # chcking if 74626 is fixed | 10:28 | |
p6eval | rakudo 5c0977: ( no output ) | ||
10:28
ejs left
|
|||
masak | well, it's resolved... | 10:28 | |
mathw | rakudo: grammar A { regex B { a } }; "a" ~~ A::B; | 10:29 | |
p6eval | rakudo 5c0977: OUTPUT«Can not find sub A::B in main program body at line 1» | ||
mathw | pah | ||
masak | mathw: that's a bug. it was submitted yesterday. | ||
mathw | it's enormously unhelpful | 10:30 | |
masak | mathw: workaround: rename the regex A::B | ||
jnthn | er | ||
huh | |||
How is that a bug? | |||
regexes are has scoped by default | 10:31 | ||
masak | oh. | ||
of course. | |||
jnthn | They're methods. | ||
masak | need to learn to think this new way. | ||
mathw | rakudo: grammar A { regex B { a } }; "a" ~~ A.B; | ||
p6eval | rakudo 5c0977: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!pos in 'A::B' at line 11:/tmp/CT2pH7kqHL in main program body at line 11:/tmp/CT2pH7kqHL» | ||
masak | mathw: that's calling the regex. | ||
not referring to it. | |||
jnthn | /<A::B>/ | ||
Or our regex and than &A::B | 10:32 | ||
masak | rakudo: grammar A { regex B { a } }; A.B | ||
10:32
tylerni7 left
|
|||
p6eval | rakudo 5c0977: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!pos in 'A::B' at line 11:/tmp/ydvRI0xwHf in main program body at line 11:/tmp/ydvRI0xwHf» | 10:32 | |
masak | slightly unhelpful error message there. | ||
mathw | rakudo: grammar A { regex B { a } }; "a" ~~ /<A::B>/; | ||
p6eval | rakudo 5c0977: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 11, near "::B>/;"» | ||
masak | would it be possible to get something like "oh, you tried to call me as a method, don't do that" | ||
? | |||
10:33
ejs joined
|
|||
masak | mathw: I don't think /<A::B>/ is implemented yet... :( | 10:33 | |
colomon | jnthn: seem to have a solid patch this morning.... | ||
jnthn | masak: gah, now *that* is annoying (<A::B> NYI) | ||
mathw | any chance it's LHF? | ||
masak | jnthn: glad we agree :) | ||
jnthn | mathw: Well, probably if you're pmichaud | 10:34 | |
mathw: Maybe even if you're not. :-) | |||
colomon: yay! | |||
mathw | because figuring out this Form thing without being able to call individual regexes in the grammar for testing is going to be a pain in the arse | ||
it's going to be a pain anyway, but... | |||
10:34
BrowserUk joined
|
|||
jnthn | masak: On the error, not quite sure what the best way to be more helpful would be. | 10:35 | |
masak: Perhaps though if it emits a signature with the invocant as :D when the binder supports that... | |||
...then at least the dispatch fails if you try and call the regex on the type object. | |||
masak | hm, yes. | ||
but until then, maybe we could have a check inside the regex method? | 10:36 | ||
jnthn | moze byt. | ||
masak likes how 'may be' and 'moze byt' are built from the same components | 10:37 | ||
10:37
atomicstack left,
zamolxes left
|
|||
jnthn | masak: Well, it's more literally "can be" | 10:37 | |
masak | and 'may' means...? :) | 10:38 | |
it comes from a proto-Germanic root *mag-, which indicates ability. | 10:40 | ||
jnthn | heh | ||
Nice | |||
Perhaps that's proto-indo european; Russian "I can" is могу for example. :-) | 10:41 | ||
masak | from proto-Indo-European *mogh/*megh meaning 'power', from Sanskrit mahan, 'great'. it's related to 'might'. | ||
yes, they're probably related. | |||
I never thought of that. | 10:42 | ||
jnthn | Cute. | ||
Su-Shee | "to understand the meaning of perl 6 modules, please refer to Linguistics 0.1 for beginners and consult a Sanskrit grammar of your choice. Knowledge in attic greek and japanese is helpful." | 10:43 | |
10:43
Lorn joined
|
|||
masak | even the etymology for the month May flows out of that same river. | 10:43 | |
jnthn | Grr. If validating XML, helps to actually load the document you're planning to validate into the reader before calling .Validate(). | ||
On the upside, the first XML schema I ever wrote in my life...works straight off. | |||
Su-Shee | masak: I thought may comes from mars actually? | 10:44 | |
10:44
JimmyZ left
|
|||
jnthn | It's "Mars" the word for May in...some romance language? | 10:44 | |
Su-Shee | yes. | 10:45 | |
jnthn is very rusty on romance | |||
*romance languages | |||
:) | |||
masak | Su-Shee: no, it seems to come from the greek goddess Maja/Maia, whose name has to do with might and power. | 10:46 | |
Su-Shee | no, I'm wrong and confusing it with march ;) | ||
just looked it up. :) | |||
jnthn | Oh! | ||
:-) | |||
Su-Shee | jnthn: *HAHAHAHA* :) | ||
masak | Swedish for Match is 'mars' :) | ||
jnthn | masak: Match or March? :-) | 10:47 |