This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I think the idea of DSLs is a good one. It allows for very expressive code
I looked at JetBrains' calculator tutorial for MPS and it seems significantly complicated for a fairly simple DSL. Granted, a lot of the work goes into making a language that can explain to you when you're not following certain rules, but still. In a language like Groovy, (J)Ruby, or even Scala you've got a lot of flexibility to craft a DSL subset of the language itself. Assuming you already know one of those languages, you don't have to learn a completely new tool just to write a DSL.