Building Domain-specific Language in Ruby

Neal Ford, Application Architect, ThoughtWorks Inc

Track: Ruby
Date: Thursday, July 27
Time: 1:45pm - 2:30pm
Location: F151

Experienced developers in dynamic languages tend to model problems not by building object hierarchies but by building domain specific languages. This session discusses building DSLs in Ruby. Several well-known examples (namely, Ruby on Rails and Rake) demonstrate this technique.

The session describes how Ruby facilitates this style of development, using method_missing, const_missing, and other meta-programming constructs in Ruby. It shows how to build a simple DSL, for what problems this technique is suitable, and how the dynamic nature of Ruby makes this possible, and includes lots of code examples.