Just fire up your REPL and see for yourself how the malleable syntactic structures of the language grow in front of your eyes, alongside your program. Whether this is through Lisp macros or Ruby meta-programming or Scala control structures, the secret sauce is in the ability to implement more and more powerful abstractions within the language. But what makes one language shine more compared to another is the ability to combine abstractions leading to more powerful syntactic structures. Recently people have been talking about the Maybe monad and its myriads of implementation possibilities in Ruby. Because of its dynamic nature and powerful meta-programming facilities, Ruby allows you to write this .. @phone = Location.find(:first, ...elided... ).andand.phone Here andand is an abstraction of the Maybe monad that you can seamlessly compose with core Ruby syntax structures, effectively growing the Ruby language.
Rich Hickey is the creator of the Clojure programming language. Most recently (over the past couple of years), Rich has been putting his iconoclastic ways to work on data programmabilit
M. Atzmueller, and F. Lemmerich. International Symposium on Methodologies for Intelligent Systems (ISMIS), page 35--44. Berlin, Heidelberg, Springer Berlin Heidelberg, (2009)
H. Grosskreutz, S. Rüping, and S. Wrobel. European Conference on Machine Learning and Knowledge Discovery in Databases, page 440--456. Springer, (2008)