Jay Fields has posted a pseudo-book on building BNLs in Ruby. BNL stands for “Business Natural Language”, a rename refactoring of DSL for the sort of things he writes DSLs for.
Some linkage to Martin Fowler DSL articles:
Ruby Code & Style article on Ruby DSLs by Jim Freeze.
This ain't Ruby, so I need a title refactor - but I'm being lazy: Planning DSL in C#