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