In my previous post I alluded to the common tendency to confuse a fluent interface with a DSL. Here are few fantastic posts that explain the differences:
Fowler’s discussion of of DSLs mentions FluentInterface as a form of DSL, but says that in some languages (LISP, smalltalk) it goes far beyond this. From Scott Bellware comes Fluent Interfaces and DSL’s and Disambiguating Fluent Interface. Jimmy Bogard succintly puts it
using extension methods, fluent interfaces, etc. [is] all a poor man’s substitute for the clearer syntax that Ruby inherently provides.
. Jimmy also reaches the same conclusion as I - once IronRuby ships there won’t be much point in trying to achieve these DSLs in C# anymore, indeed IronRuby will be a poweful tool in the .NET developer’s toolbox.