pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:08 pascaldamian2 joined 00:10 pascaldamian2 left
Tene So, for statements will set $_ as a formal parameter of a block if there are no other params. Do any other statements do that? 00:33
I guess I'll check the failures.
Eevee while..?
Limbic_Region map
probably the same ones as in perl 5
unless defined differently
Tene Right now pblock is setting it on every block.
Eevee oh 00:34
given
Tene Hm. I guess for now I'll just make pblock only set it on blocks that don't have anything.
Slightly less broken, but still not ideal. 00:35
Eevee gather
oh, no
Tene Then I'll post to the list.
Eevee nevermind
CATCH 00:36
what OO support does rakudo have atm? 00:46
Tene Eevee: a decent amount. Look at some of Jonathan's use.perl posts
Eevee ah, not too bad 00:48
00:48 thestarslookdown joined
Tene Oh, that didn't work. Hm. 00:48
00:49 tobeya left
Eevee pokes around t/spec/S12 and t/oo 00:50
00:53 kane_ joined 00:57 nipotan_ joined, nipotan left
Eevee how do custom accessors work? S12 says they can be written but doesn't say how, unless they're just lvalue methods that touch explicitly-declared private attributes 01:00
01:01 nipotan_ is now known as nipotan 01:04 kane___ left 01:14 kane_ left 01:24 IllvilJa joined 01:25 Ched- left, Ched- joined, yewenbin joined 01:30 do_aki joined 01:36 eternaleye left 01:41 justatheory left 01:42 cmarcelo joined
allbery_b an accessor shouldn't return an lvalue. the whole point of an accessor is to hide the internals; an lvalue would be exporting an internal representation 01:51
you must use a mutator to modify the internal state
Eevee well then what's that look like 01:54
01:58 nelogd left 01:59 do_aki left 02:00 eternaleye joined
allbery_b "accessor" is a concept, not a language construct. just write a function which does whatever. 02:00
auto-generated accessors are a language construct; the accessor is an rvalue reflection of a private variable, the mutator sets the private variable. 02:01
if you choose to write your own, you can write whatever you want.
the idea here is that if your internal replresentation chanegs somehow, your accesssor and mutator will hide the details while exporting the same interface, you just make them do whatever is necessary to produce (resp. consume) the externally visible value 02:02
trivial example: you have an object which among other things has a length expressed in inches. later on you want it to store in millimeters. 02:03
Eevee no, I grok encapsulation; I just mean is there any way for "$obj.foo = 42;" to run code I wrote (presumably some multi method set_foo(Int $foo)) 02:04
allbery_b so you replace the default accessor and mutator with versions that convert between inches and millimeters, and possibly export a new interface using millimeters if you so choose
I'm pretty sure there is (that's a mutator) but I don't know what the current details are 02:05
(any language definition types around?) 02:06
Eevee I only threw out lvalue because it's the ony way to do it in p5 and the only thing I can see in the synopses so far that would work; I know it's discouraged 02:07
02:08 kane_ joined 02:10 justatheory joined 02:18 cmarcelo is now known as cmarcelo171
allbery_b partial answer is you declare the method with the "is rw" attribute (I'd guessed that). what you do inside it doesn't seem to be specced. 02:27
(from what I've seen so far, I *think* you need to return an object with a STORE method which is invoked upon assignment.( 02:28
02:32 Limbic_Region left
allbery_b hrm. I wonder. perhaps the topic of an "is rw" is the asisgned value. 02:33
where's @Larry when you need them? :)
02:43 cmarcelo171 is now known as cmarcelo 03:01 thestarslookdown left 03:15 justatheory left 03:19 zostay joined
Tene allbery_b: the answer is in S06 03:23
allbery_b Eevee, listiening?
Tene I ran into it when looking for the answer to my "where is $_ set as a parameter" question. 03:24
Eevee buh 03:25
yes
allbery_b hm, I read therough S06 and didn't quite get beyond "is rw" --- what does that *mean*?
i.e. what does the code have to do in such a thing? I saw something about objects with FETCH and STORE methods... 03:26
in a different context
Eevee perlcabal.org/syn/S06.html#Lvalue_subroutines ?
Tene Yeah, you have to return a proxy object
lambdabot Title: S06
Eevee okay so that IS what you do
Tene Eevee: yes
allbery_b that seems rather annoying 03:27
especially compareds to ruby's def foo= ... 03:28
Eevee and/or a bit hacky
03:28 ingyfoo joined, gugod_ joined
allbery_b Eevee: it's not hacky, in fact it's a very clean way to do it. 03:33
unfortunately it's the kind of "clean" that makes you do a lot of gruntwork to *make* it cleasn
(i.e.. the proxy object) 03:34
Eevee from the perspective of the code I have to write, though, it strikes me as a bit low-level
allbery_b this is the kind of thing that makes me throw up my hands and start writing in Haskell, where if I have to do something ugly like that at least I can abstract it away into a higher order function :)
Eevee bumping up against internals rather than a cheerfully-exposed language feature 03:35
allbery_b pretty much, yes
Tene Eevee: what would you prefer?
Eevee Tene: I have no idea; I usually hope I can keep babbling long enough to figure out something better
but you interrupted me!
allbery_b actually, given what sounds a lot like a snide remark about set_foo() style mutators at the end of that section, I think either we have to strike that remark or come up with something better than explicit proxies 03:36
Eevee (sorry, PBP; apparently everyone just hates set_*/get_*) 03:39
allbery_b hm, sorry, the snide-off isn't in that section
Eevee hum. python has its property() which isn't a whole lot better
Tene Okay, this passes all the tests, but it seems even worse... 03:40
Patterner everyone hates it because nobody has a better name :) 03:42
03:43 Alias_ joined 03:44 lisppaste3 left
Eevee Tene: so does a Proxy's STORE stick the rhs of the assignment into the argument list? i.e., syntactically, "$proxy = whatever" is identical to "$proxy.STORE(whatever)" 03:45
(where 'whatever' is not necessarily a single expression; that was a terrible way to write that) 03:46
allbery_b sounds off to p6l
03:47 justatheory joined
Eevee I ask way too many questions 8) 03:47
gah, getting late and I'm being pressured to go run errands; bbl 03:48
allbery_b Eevee: I would expect it to be in the parameter list, yes, like any other method (FETCH and STORE are more or less the same as with tied scalars in perl5)
Eevee so I could do $obj.foo = 1, 2, $object_of_some_specific_type, bar => 3; ? 03:49
03:59 justatheory left 04:04 justatheory joined 04:05 mncharity joined
mncharity pmurias: re =~, yeah, regex handling is one of the few real elf bogosities at the moment. adverbial modifiers weren' 04:08
t parsing until recently, so regexen... are just being silently slid from p6 into p6. towards the top of the todo list. 04:09
*p6 into p5
04:11 ingyfoo left, ingy joined, gugod joined 04:12 gugod_ left 04:14 justatheory left 04:15 jhorwitz left
Tene Okay, this works in rakudo now: 04:27
for @a { say $^a }
In line with: "A bare closure without placeholder arguments that uses $_ (either explicitly or implicitly) is treated as though $_ were a formal parameter"
04:28 Psyche^ joined
Tene It doesn't specify what happens if $_ is used in a closure with placeholder arguments, or if things are different in non-bare blocks. 04:28
04:40 Patterner left, Psyche^ is now known as Patterner 05:04 ting__ left, ting joined 05:17 meppl joined 05:18 cmarcelo left
mncharity vixey: moritz_: So, you tried elf. Was it what you hoped it would be? 05:28
mncharity looks for feedback.
Tene perl6: my @a = <a b c d>; for @a { say $^a } 05:33
exp_evalbot kp6: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bec4)', 'APPLY', 'HASH(0x8e510c8)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824bec4)', 'APPLY', 'HASH(0x8e510c8)') ca...
..pugs: OUTPUT[a␤b␤c␤d␤]
..rakudo: OUTPUT[a␤b␤c␤d␤]
Tene perl6: my @a = <a b c d>; for @a { say $_ }
exp_evalbot kp6: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824be94)', 'APPLY', 'HASH(0x8e51fe0)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824be94)', 'APPLY', 'HASH(0x8e51fe0)') ca...
..pugs: OUTPUT[a␤b␤c␤d␤]
..rakudo: OUTPUT[a␤b␤c␤d␤]
pugs_svnbot r20432 | putter++ | [elf_f] Tweaks. 'use v6;' tolerated. PrimitivesP5.pm created. Pairs tolerated. eval('3') works. Test::is_approx added. 05:37
05:42 mncharity left 05:45 nipotan is now known as nipotaway 06:03 nipotaway is now known as nipotan 06:11 iblechbot joined 06:12 justatheory joined 06:13 justatheory left 06:22 cotto left 06:23 cotto joined 07:06 pmurias joined
pmurias allbery_b: re gruntwork, the proxy object is really easy to write in perl5 07:08
Tene perl6: say <a a b b c c d d d d d d d>.uniq
exp_evalbot kp6: OUTPUT[abcd␤]
..pugs: OUTPUT[abcd␤]
..rakudo: OUTPUT[abcd␤]
pmurias in perl5 a perl6 style accesor would be a :lvalue sub which "returns" a tied scalar 07:10
moritz_ a tied? 07:13
pmurias yes
perldoc perltie
moritz_ but the default is a non-tied, right? 07:14
for :lvalue subs, I mean
pmurias yes
07:14 iblechbot left
pmurias moritz_: i can search for my Proxy implementation if you want 07:17
moritz_ pmurias: don't bother 07:21
pmurias good, i don't know where it is and the nopaste rotted 07:24
07:32 do_aki joined 07:44 luqui joined, ruoso left
moritz_ @tell mncharity re feedback: elf is what I expected, though I find the source code hard to read (for example Match.pm uses Perl 6 syntax and p5 regexes..) 07:48
lambdabot Consider it noted.
07:58 do_aki_ joined 08:05 cognominal_ left 08:09 do_aki left 08:21 meppl left 08:23 meppl joined 08:26 donaldh joined, iblechbot joined 08:31 meppl left 08:53 ruoso joined 08:55 do_aki joined 08:56 mj41_ joined 08:58 Alias_ left 08:59 do_aki_ left 09:04 jan_ left 09:08 nipotan is now known as nipotaway 09:12 jan_ joined 09:13 jan_ is now known as jan, mj41 left 09:16 kst left, gbacon left, rafl left 09:17 penk joined, mj41__ joined, mj41__ is now known as mj41 09:18 gugod left, gugod joined, kst joined, gbacon joined, rafl joined, exp_evalbot joined, Ingmar joined, thepler joined 09:21 do_aki left 09:23 REPLeffect_ joined 09:25 REPLeffect left 09:31 mj41_ left 09:57 cognominal_ joined 10:09 elmex joined 11:13 qmole left 11:14 iblechbot left 11:16 Grrrr joined 11:17 Grrrr left, Grrrr joined 11:22 cognominal__ joined 11:32 cognominal_ left 11:38 masak joined 11:46 iblechbot joined 11:51 kanru joined 12:04 qmole joined 12:10 charsbar_ joined 12:23 iblechbot left 12:24 penk left
moritz_ pugs: say perl(hash(A => 2)) 12:47
exp_evalbot OUTPUT[{("A" => 2),}␤]
moritz_ pugs: say perl(hash('A', 2)) 12:48
exp_evalbot OUTPUT[{("A" => 2),}␤]
moritz_ rakudo: (2, 3).push(4); say 1; 12:52
exp_evalbot OUTPUT[1␤]
13:00 pmichaud joined 13:30 eternaleye left
moritz_ I'm off for the weekend 13:41
bye
13:41 jhorwitz joined 13:50 sscaffidi joined 13:54 cmarcelo joined 14:21 TJCRI joined 14:50 justatheory joined 14:57 stevan_ left, stevan_ joined 15:04 masak left 15:14 donaldh left 15:23 kyrbe joined 15:27 kyrbe left 15:35 Tene joined 15:40 fullermd left 15:45 yewenbin left 15:58 cmarcelo_ joined 16:01 cmarcelo left 16:05 cmarcelo_ is now known as cmarcelo
pmurias ruoso: 16:11
ruoso pmurias:
pmurias ;)
what 16:12
ruoso ;)
pmurias 's the best way to do io in smop?
ruoso the biggest problem about it is that there isn't much defined in Perl 6 itself about it...
but in theory...
you can write a low-level object that complies to the IO interface
and it will interoperate freely with the higher-level implementations... 16:13
but there isn't much defined regarding buffering, blocking IO... and all the API for that.. 16:14
rakudo: say IO.^methods()
exp_evalbot OUTPUT[.* method calls not yet implemented. at line 1, near ""␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6;Grammar;Actions;_block1293' pc 117878 (src/gen_actions.pir:7516)␤called from Sub 'parrot;Perl6;Grammar;Actions;dotty'
..pc 117566 (src/gen_actions.pir:7390)␤called from ...
ruoso rakudo: say IO.^subroutines()
exp_evalbot OUTPUT[.* method calls not yet implemented. at line 1, near ""␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6;Grammar;Actions;_block1293' pc 117878 (src/gen_actions.pir:7516)␤called from Sub 'parrot;Perl6;Grammar;Actions;dotty'
..pc 117566 (src/gen_actions.pir:7390)␤called from ...
ruoso pugs: say IO.^methods() 16:15
exp_evalbot OUTPUT[*** No such method in class Class: "&methods"␤ at /tmp/oaZgdZ0yTL line 1, column 5 - line 2, column 1␤]
ruoso pugs: say IO.HOW.methods()
exp_evalbot OUTPUT[*** No such method in class Class: "&methods"␤ at /tmp/JugeLmS6ot line 1, column 5 - line 2, column 1␤]
ruoso pugs: say IO.HOW.can('blocking')
exp_evalbot OUTPUT[*** No such method in class Class: "&can"␤ at /tmp/dQze16TWsJ line 1, column 5 - line 2, column 1␤]
ruoso pugs: say IO.can('blocking')
16:15 cosimo left
exp_evalbot OUTPUT[*** No such method in class IO: "&can"␤ at /tmp/KLMOMWMVjW line 1, column 5 - line 2, column 1␤] 16:15
ruoso pugs: say IO.^can('blocking')
exp_evalbot OUTPUT[*** No such method in class Class: "&can"␤ at /tmp/f8zHHVPsgu line 1, column 5 - line 2, column 1␤]
ruoso pmurias, it seems no implementation got there yet 16:16
I think it should be Ok to clone IO::Handle interface
16:17 iblechbot joined 16:18 jan left
ruoso pmurias, which would basically mean that it is ok to have a simple "write" method that "writes" to the file 16:18
16:18 jan_ joined
ruoso it's nice because write have only positional parameters... which is easy to implement in SMOP 16:18
pmurias there exists docs/Perl6/Spec/IO.pod 16:19
i used a custom object for my hello world needs, but writing an IO class might be a good idea 16:21
ruoso but understand that this class won't be *the* IO class
pmurias why? 16:22
ruoso because *the* IO class must support p6opaque
but you might implement *a* IO class without harm
SMOP is designed in a way that optimized implementations can cohexist freely...
and more importantly, pre-bootstrap implementations can be made to bootstrap the real Perl 6 types 16:24
pmurias the responder could me made an optional parameter to Node right? as it can be taken from the invocant most of the time? 16:29
ruoso nope... the responder is mandatory 16:30
the responder might take it from the invocant.. 16:31
pmurias s/me/be/
ruoso but the dispatch is made *by* the responder
the entire invocation is delegated to the responder
the invocant, otoh is optional... 16:33
although most of the time there's oen
one
but some times, the capture is not really a capture... 16:34
(this is important to avoid infinite loops)
pmurias i don't get the "responder might take it from the invocant.." part 16:35
what's the "it"? 16:36
ruoso my bad...
the invocant might be taken from the capture inside the responder
but that's not always true...
some calls doesn't have invocant...
pmurias what i'm thinking about is that $obj.foo(1,2,3) gets compiled into Node.new(capture=>\(1,2,3),identifier=>"foo",responder=>SMOP_RI($obj)) right? 16:39
the RI is object dependent? 16:40
ruoso not really...
the capture is \($obj: 1,2,3)
pmurias, yes... the RI is object dependent
pmurias sorry, my mistake
16:41 luqui left
ruoso that can be done like that because "foo" is being used statically 16:41
16:41 Ched- left
ruoso pmurias, $obj."foo" or $obj.$foo would be a entirely different story 16:41
pmurias $obj."foo" is really $obj.foo 16:42
ruoso well...
pmurias but $obj.$foo is a diffrent story
ruoso $obj."foo" could eventually be optimized to $obj.foo
but by $obj."foo" i really meant $obj."$foo"
pmurias the thing i'm asking is if Node.new dosn't receive a responder argument could it default to SMOP_RI($invocant)? 16:43
as the responder part is a pain when generating Nodes 16:44
ruoso not really... because there are no-op nodes
no-op nodes are nodes without a responder
16:44 felipe left
ruoso are you using sm0p? 16:44
it should make it really simpler
pmurias no 16:45
ruoso why not?
pmurias it's slow
ruoso heh
blame kp6 ;)
16:45 Ched- joined, felipe joined
pmurias and i'm just going from perl6(elf) Nodes to smop Nodes 16:46
ruoso that's a challenge
pmurias++ if that works it will be *wow* 16:47
pmurias i'm generating c not doing xs so it's not hard 16:49
ruoso: do no-op nodes have a capture? 16:50
ruoso no-op nodes can have anything you want 16:51
except the responder, because then they are op nodes
but most of the time, no-op nodes are used to compose captures...
for instance...
my $a = 1 + 1;
my $b = 2 + 3; 16:52
c($a, $b)
i have to first evaluate the expression "1+1"
then the expression "2+3"
[particle]
.oO(maybe they should be called no-responder nodes)
ruoso then i have to call C with the result of both
SLIME implements that by having a special object you can call
to take results from previous nodes 16:53
and set as a capture of a future node
but if you take "1 + 1"
that is a call on its own...
so you need two no-op nodes
to store those values
and at runtime, compose them into the capture of the "+" call 16:54
so you have
Node::{ result => 1 }, Node::{ result => 1 }, Node::{ capturize the last two into the next }, Node::{ call + (no capture at compose time) } 16:55
it's probably a lame design
but it was the simplest I could fin
find
dealing with register allocation was not something I was willing to do
and variable names are something that will be implemented later 16:56
using this exact same technique
pmurias if we can swap something else in the place of slime later it's ok 16:57
ruoso yeah... that's what the SMOP Interpreter thing is about 16:58
see Polymorphic Eval at the wiki
www.perlfoundation.org/perl6/index....tation_api 16:59
lambdabot Title: SMOP Interpreter Implementation API / Perl 6, tinyurl.com/yv6sur
ruoso that one is better
16:59 Ched- left, felipe left
pmurias i read almost all the stuff on the wiki 16:59
ruoso :) 17:00
pmurias smop related 17:01
17:02 Ched- joined, lisppaste3 joined
pmurias i can use either a helper function for nodes or add a second constructor what's better? 17:02
ruoso in which level? 17:03
at compose time?
ruoso keeps using that term even if that might not make any sense
a helper function to create a node seems ok... 17:04
17:04 meppl joined
pmurias in the c code which creates the nodes 17:07
ruoso a helper function is ok 17:08
17:17 felipe joined 17:29 ispy1 joined, nipotan joined, nipotan left 17:30 ispy1 is now known as ispy_ 17:31 nipotaway is now known as nipotan
pmurias ruoso: got something which can do hello world an would like to ci 17:33
ruoso: where should it live?
in elf or in smop?
17:35 tobeya joined
ruoso :) 17:36
pmurias++
you could put it in smop, because of the build depends
pmurias left it where it was, it can always be moved if mncharity objects ;) 17:41
pugs_svnbot r20433 | pmurias++ | [elf,smop] initial sketch at generating smop Nodes from perl6
ruoso pmurias, where? 17:42
pmurias misc/elf/smop 17:43
ruoso hmm... weird... I don't see it... 17:44
found
does it work? 17:45
pmurias yes 17:46
barely ;)
ruoso :)
pmurias run the generate script 17:47
ruoso ENOTIME 17:48
pmurias has got to do/learn j2me now
17:49 vixey left
pmurias ruoso: how's the grant? 17:59
ruoso no news yet...
but the deadline didn't expire... 18:00
so there should be some time before I get some reply...
I will only be able to start working about the middle of june... so not really in a hurry
pmurias i see 18:01
&
18:10 schmalbe joined 18:32 sscaffidi left 18:42 ruoso left 18:55 elmex left 19:06 tobeya left 19:35 tobeya joined 19:48 iblechbot left 19:49 sscaffidi joined 19:53 Ingmar left 20:25 thestarslookdown joined 20:28 Ched- left 20:29 armagad left, Ched- joined, thestarslookdown left 20:52 eternaleye joined 20:53 jhorwitz left 20:55 ispy_ left 20:56 vixey joined, Ched- left 20:57 Ched- joined 21:02 mncharity joined
mncharity pmurias: re elf/smop, no problem :) 21:03
lambdabot mncharity: You have 1 new message. '/msg lambdabot @messages' to read it.
mncharity moritz_: re "for example Match.pm uses Perl 6 syntax and p5 regexes..", yeah, early STD_red didn't parse adverbial modifiers, so one couldn't say :p5. that can be fixed now. 21:05
21:07 Lorn_ joined
pmurias mncharity: hi 21:08
pugs_svnbot r20434 | putter++ | [elf] Minor tweaks. And a not quite current run-tests.result . 21:12
pmurias would it be hard to have Capture support in elf? 21:13
21:16 Psyche^ joined
pmurias i mean just creating captures 21:17
mncharity hi pmurias 21:20
21:21 Lorn left
pmurias i'm using Captures to represent Captures in smop Nodes 21:21
and Capture.new(...) is awkard
mncharity the elf side should be ... oh, let's see...
mncharity tries ../elf_f -v -e '(3,4)' , finds out there isn't an ast handler for capture, adding one... 21:22
pmurias \(3:1,2,3) is more tricky 21:25
shower& 21:26
21:27 Patterner left, Psyche^ is now known as Patterner, iblechbot joined
pmurias remember showered already today 21:29
* remebered that hi
21:30 milanj joined
pmurias * he 21:30
21:36 TJCRI left 21:42 milanj left 21:47 sscaffidi left 21:49 schmalbe left 21:54 vixey left
mncharity pmurias: have some of it. still wrestling with \() (doesn't get recognized as a capture - STD.pm problem?), and \(2:) is misparsing to \(2) ... 21:55
TimToady: (n+1) Are you still collecting STD.pm issues? If so, it's not clear to me that capterm can match '\()'. 21:59
pmurias mncharity: "have some of it" means? 22:01
22:05 sscaffidi joined
mncharity currently \(2:) still misparses as \(2), but other than that, literal captures show up as Capture IR nodes (now with a new invocant field). 22:07
at least if their interior is assembled by infix:<,> and <:>. 22:08
22:08 Limbic_Region joined
mncharity that's the objective, yes? 22:08
you can then emit those IRx1::Capture's as whatever Capture.new(...) you wish. 22:09
pmurias thanks, i'll implement it when the smop Nodes wrappers mature enough to be usefull 22:11
sleep& 22:12
22:12 pmurias left
mncharity ok. good night pmurias. /me still puzzling over <statement> managing to accept '2:'... 22:17
meppl good night 22:20
22:23 meppl left 22:24 alester left 22:25 iblechbot left 22:32 mj41 left
mncharity TimToady: (n+2) Given '2:', it looks like EXPR parses the : as expect_infix, pushes it on the opstack... and then returns, forgetting it's there? /me attempting to parse '\(2:)'. 22:35
22:35 mj41 joined
mncharity @tell pmurias do you need '\(2:)' (invocant but no other args) to parse RSN? it vaguely looks like STD.pm needs a "more than trivial tweak" to handle it, and I'm trying to not get *too* far ahead of STD.pm. 22:38
lambdabot Consider it noted.
mncharity another hour of life burned in hope of finally having a "usable p6 parser". :/ 22:41
22:49 sscaffidi left
pugs_svnbot r20435 | putter++ | [elf/STD_red] Capture literals begin to parse. \(2:) misparsing as \(2). pmurias++ 23:13
23:15 rolet joined
pugs_svnbot r20436 | putter++ | [elf] A temporary file, for exploring performance issues. 23:28
mncharity Drats. Ah well, close enough. 23:29
stevan_/@Moose: misc/elf/elf_f_src/x01.pl is a hand tweaked copy of misc/elf/elf_f from r20434. I removed all the obviously excess "use Moose" and mutability changes. time ./x01.pl is still 3+ sec. Any suggestions on further improving performance? 23:31
23:33 fullermd joined
mncharity in contrast, the not quite equivalent elf_f_nomoose has a startup of 0.1 sec. 23:33
thanks. help appreciated.
'night all &
23:33 mncharity left 23:52 eternaleye left