<TimToady> rn: say 1001110011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ /
<camelia> niecza v24-48-g1d127e4: OUTPUT«「1001110011」␤ 0 => 「10011」␤␤»
<camelia> ..rakudo bfd850: OUTPUT«No such method 'comb' for invocant of 
type 'Any'␤  in regex  at /tmp/OHj0MG5jaw:1␤  in method ACCEPTS at 
src/gen/CORE.setting:10370␤  in method ACCEPTS at 
src/gen/CORE.setting:683␤  in block  at /tmp/OHj0MG5jaw:1␤␤»
* TimToady thinks rakudo is running the innards of @() too soon
* masak submits TimToady's rakudobug
<jnthn> TimToady, masak: I doubt it's about "too early" so much as $/ 
not being up to date enough.
<TimToady> (btw, that's a short implementatoin of <*$0> there...)
<TimToady> probably not very speedy, but still
<jnthn> To test that hypothesis, but a {} before the @(...)
<TimToady> rn: say 1110111011 ~~ /^ (.+) $0+ {} @([\~] $0.comb)? $ /
<camelia> rakudo bfd850, niecza v24-48-g1d127e4: OUTPUT«「1110111011」␤ 0 
=> 「1110」␤␤»
<jnthn> Yup, it's that.
<TimToady> huh
<jnthn> masak: There's already an RT ticket about $/ stuff.
<jnthn> masak: So may want to add it (or ref it)
<jnthn> TimToady: I think it's just that @foo only used to interpolate 
and not have the chance to run code.
<masak> jnthn: ok, gotcha.
<jnthn> TimToady: In Rakudo, Match is constructed from the stack of 
captures Cursor collects.
<TimToady> then how does the first $0 work, if $/ is delayed?
<jnthn> TimToady: iirc, $0 is parsed explicitly as a back-reference and 
handled separately.
<masak> jnthn: can't find such an RT ticket.
<jnthn> masak: I think the title of the ticked used the word "published" 
and "match variables", maybe not $/
<TimToady> well, the main point of reversing the meaning of $foo in 
regex was so that $0 could be treated like a normal variable, and vice 
versa...
<jnthn> TimToady: May still be performant to treat them separately.
<jnthn> TimToady: Certainly is in the Rakudo engine, anyway.
<TimToady> :)
<masak> found the RT ticket. jnthn++ :)
* masak adds today's musings

Reply via email to