Michael Edgar wrote: > I've just finished a write-up on an interesting problem: using Ruby's Regexp engine > to search arbitrary sequences of potentially heterogenous objects. It's based on the > more specific instance used in Ripper in 1.9. I've packaged it into a gem though it is > a bit rough around the edges. > > The post can be found here: http://carboni.ca/blog/p/Regex-Search-on-Arbitrary-Sequences > > And the gem can be found here: https://github.com/michaeledgar/object_regex This is pretty cool. I never understood why pretty much every language except Erlang artificially restricts Regexps to text. (Erlang also allows regular-expression-like pattern matching on bit strings.) Functional languages and increasingly also modern OO languages (e.g. Newspeak) have structural pattern matching over arbitrary types, but without the parsing feature of Regexps (alternation, repetition, ...). Scripting languages have Regexps but only over text strings, not arbitrary types. What I *really* would like to see is the union of pattern matching and Regexps, ranging over arbitrary types. Unfortunately, I don't have the slightest idea what that would like. jwm