[Pl-seminar] PL seminar schedule

Aaron Turon turon at ccs.neu.edu
Mon Apr 19 12:28:38 EDT 2010


NEU Programming Languages Seminar presents

Simon Peyton Jones
Microsoft Research

Wednesday, April 21, 2010

11:45am - 1:30pm
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)

Hoopl:  A Modular, Reusable Library for Dataflow Analysis and Transformation
Simon Peyton Jones, Microsoft Research
Norman Ramsey, John Dias, Tufts University

Dataflow analysis and transformation of control-flow graphs is pervasive in
optimizing compilers, but it is typically tightly interwoven with the details
of a particular compiler. In this talk I'll tell you about Hoopl, a reusable
Haskell library that makes it unusually easy to define new analyses and
transformations for any compiler. Hoopl's interface is modular and
polymorphic, and it offers unusually strong static guarantees. The
implementation is also far from routine: it encapsulates state-of-the-art
algorithms --- interleaved analysis and rewriting, dynamic error isolation ---
and it cleanly separates their tricky elements so that they can be understood
independently.

The talk is very concrete: it's as much about how to realise the design in a
typed language as it is about the algorithms themselves. You'll see lots of
Haskell code, including GADTs and a type-level function or two. I'll
introduce the bits we need as we go, so you don't need to be a Haskell junkie
to make sense of it.

Hoopl is part of GHC, but is also a separately available Haskell package. It
is joint work with Norman Ramsey and John Dias from nearby Tufts.



More information about the pl-seminar mailing list