Programming Languages Lunch - Alex Loh, UTCS, "Build your own language with Ensō"

Contact Name: 
John Thywissen
GDC 6.302
Apr 22, 2013 12:00pm - 1:00pm

Talk Audience: UTCS Faculty and Graduate Students

Talk Abstract: Ensō is an external language workbench with both graphical and textual editing capabilities. Each language is defined by a schema, or the model of its internal representation, which can be rendered either textually via a grammar or graphically via the diagramming DSL, stencil. Behavioral semantics in  Ensō are defined using model interpreters written in the Ruby programming language.

Ensō executes on top of itself: internally, the various components of the workbench, including the schema, grammar and stencil languages, are implemented as a stack of self-describing Ensō DSLs. This conceptually elegant self-reflection also has the practical advantage of allowing application developers, toolsmiths, and even  Ensō extension builders to share the same toolchain.

The other key strength of Ensō is strong support for language reuse across domains. DSLs can be composed, extended or wrapped via inheritance, either directly or in a cross-cutting manner, enabling powerful reuse of its language library. Generic template languages, such as the command language, are routinely extended to served as the backbone for a family of languages.

Speaker Bio: Alex is a Ph.D. student in the Department of Computer Science at the University of Texas at Austin. His advisor is Dr William Cook.

His main research area is domain-specific languages and model-driven engineering. He is particularly interested in the problem of composing DSLs (and models) to create a reusable library of languages. He has also worked extensively on program differencing and dynamic program analysis.