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)