
G'day all.
Quoting Graham Klyne
Separately from this thread, it has recently occurred to me that Haskell is an ideal tool for implementing "little languages" [1], particularly when they are declarative in nature.
Absolutely. This is especially true in Haskell because there's a fairly mechanical (if potentially tedious) procedure for removing a layer of interpretation from a "little language" implementation. If you're careful, you can even do this at run-time. I think I might have mentioned this previously, but here's an interesting implementation of Knuth-Morris-Pratt substring searching (which is indeed a "little language") which illustrates something or other: http://haskell.org/hawiki/RunTimeCompilation Cheers, Andrew Bromage