Department of Computer and Information Science

 

Computer Science Seminar Series

Reflexive Metaprogramming in Ruby


September 26, 3:00pm

Weir Hall, Room 235

Dr. H. Conrad Cunningham


Ruby is an interpreted, dynamically typed, object-oriented application programming language. This presentation examines Ruby with an emphasis on the language's distinctive reflexive metaprogramming facilities and techniques. These include facilities that exist in mainstream languages like Java, such as the ability to query a class to determine what its methods, instance variables, and superclasses are. These also include more exotic seeming facilities such as the ability to intercept calls to missing methods, to define new classes and methods dynamically, and to evaluate strings as Ruby code. One interesting consequence of this capability is the ability to define internal domain specific languages (DSLs).

H. Conrad Cunningham is Professor and Chair Department of Computer and Information Science University of Mississippi


[ Home | Site Map ]