I like this presentation on DSL and its performance characteristics in Haskell.