[Pl-seminar] 6/4: Scott Kilpatrick, Backpack: Retrofitting Haskell with Interfaces

Vincent St-Amour stamourv at ccs.neu.edu
Thu May 23 11:27:49 EDT 2013

NEU Programming Languages Seminar presents

Scott Kilpatrick

Tuesday, 6/4
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)

Backpack: Retrofitting Haskell with Interfaces

Module systems like that of Haskell permit only a limited form of
modularity in which module implementations directly depend on other
implementations and must be processed in dependency order.  Module
systems like that of ML, on the other hand, permit a stronger form of
modularity in which explicit interfaces express assumptions about
dependencies, and each module can be typechecked and reasoned about
independently.  Though the stronger modularity is more beneficial to
developers, it requires a language (and implementation) of module
linking -- a concept which does not exist in languages like Haskell.

In this talk I present a design for a typed language of packages for
the Haskell programming language, called Backpack, based on the module
system design of mixins.  Primarily due to the addition of typed
module interfaces, Backpack enjoys the stronger, ML-style modularity,
but because this functionality is provided at the "package" (rather
than the "module") level, it does not require any real change to the
existing Haskell module system infrastructure.  In particular we give
a clean elaboration from Backpack expressions to sets of Haskell
module files, thus showing how Backpack maintains interoperability
with the existing Haskell module system.

More information about the pl-seminar mailing list