[PL-sem-jr] Talk tomorrow, Mon 12/14

Aaron Turon turon at ccs.neu.edu
Sun Dec 13 20:02:12 EST 2009


Last PLJR talk of the semester!

Mon 12/14, WVH164 11:30-1:30
Jesse

Interpreters in Haskell

It has been suggested that Standard ML is domain-specific languages
for writing compilers, or more piquantly, that Glasgow Haskell is a
DSL for implementing GHC.  In this talk, I argue that several features
of Haskell make it a valuable tool for writing prototype interpreters.
Beyond the obvious utility of algebraic datatypes and pattern
matching, monads provides an elegant way to extend the operational
semantics (á la Guy Steele), parser and pretty-printer combinators
make those annoying tasks easy, and type classes facilitate defining
common operations over families of metasyntax. If time permits, we may
also explore monadic type checking and the freshness monad, or using
fancy type class machinery to simplify embedding host language
operations in the object language.

This talk is structured around the code itself. After a quick tour of
one interpreter, we will attempt to extend the language with a new
feature, potentially at the suggestion of the group.  Consider it
group programming improv.  It might work and it might not, but either
way we should learn something.



More information about the Pl-sem-jr mailing list