Thanks for the thoughtful consideration. Austin's given some high-
level examples of the kind I was hoping for,
"AH>" = Austin Hastings
AH> grammar Rainbow;
AH> use Colorific; # Import C<rule color;> and C<new>, among others.
AH>
AH> What I don't know is how to recognize a color, which is to say I don't
AH> know how to write the <color> rule -- because I don't know what this is
AH> being applied to. Is this reading pixels, interpreting the results of
AH> radio telescopy, or consuming Lucky Charms breakfast cereal bits? I
AH> don't know, so I'm just going to assume that Yary can write that for me
AH> -- it's his class, after all.
Right, "encapsulation" & "public interface" are the keys- rexen don't need
to know what makes Colorific. (And yes, I am a he, unlike Yari from Tron.)
I am curious about
AH> rule color {...}; # this one's on you.
if Colorific doesn't have stringification- that's the crux: passing
non-letter atoms to the regex engine. The way it's presented and
used, it's a rule that matches a color object, and seeing it in the
same_color rule is terrific- but (via RFC93?) I want to write it thus:
rule color { (.) <( $1.isa(Colorific) )> }
$daylight = &peek_at_sky =~ /<color>/; # is something in sky Colorific?
This example could be written with grep- but then, T(always)MTOWTDI.
Bonus points for the implementation of grammar Rainbow, very cute!
Lucky strike is also clearly written, though, I was hoping to do away
with any mention of \d. I want to grab numbers as atoms and never
enter the character realm.
AH>What I think you're looking for is the fact that they're not regexes
AH>any more. They are "rexen", but in horrifying-secret-reality, what has
AH>happened is that Larry's decided to move Fortran out of core, and
AH>replace it with yacc.
Cool, I did quite like yacc when I needed it- and it does look like we
have that expressive power now! Never used Fortran but I did spend a
couple summers in RPG-2, good riddence to big iron...
-y
~~~~~
The Moon is Waxing Crescent (1% of Full)