السبت، 20 فبراير 2010

Episode 52: DSL Development in Ruby

Podcast (MP3): Download

Hosts:
Markus 



Guests:

Obie Fernandez


 



Recording venue:

JAOO 2006




In this episode, we're talking to Obie Fernandez about agile DSL development in Ruby. We started our discussion by defining what a DSL is, the difference between internal and external DSLs as well as the importance of the flexibly syntax of the host language in order to make DSLs worthwhile. We then looked at a couple of real world examples for DSLs, specifically, at Business Natural Languages. We then progressed to the main part of the discussions, which centered around the features of Ruby that are important for building DSLs. These include the flexible handling of parentheses, symbols, blocks as well as literal arrays and hashes. We then discussed Ruby's meta programming feautures and how they are important for building DSLs: instantiation, method_missing callback, class macros, top level

functions and sandboxing. Features like eval, class_eval, instance_eval and define_method are also important for DSLs in

Ruby, as well as using alias_method for simple AOP.




Links


http://bit.ly/a7a6UY

ليست هناك تعليقات:

إرسال تعليق