The language Ruby is very extendible, making the language very suitable for designing internal DSL's - custom languages for domain, or single purpose as you could call it. Togetter with a collegue I wrote on Internal DSLs in Ruby some time ago for my company's website and newsletter. Scala is also quite extensible, and type safe. How good will Scala be on the creation on Internal DSL? Bill Venners write about this subject on Artima: Comparing DSLs in Ruby and Scala.