In ACM SIGPLAN 2004 Haskell Workshop, ACM Press, pages 10-21, 2004.
Abstract
Extension languages enable users to expand the functionality of an
application without touching its source code. Commonly, these languages are
dynamically typed languages, such as Lisp, Python, or domain-specific
languages, which support runtime plugins via dynamic loading of
components. We show that Haskell can be comfortably used as a statically
typed extension language for both Haskell and foreign-language applications
supported by the Haskell FFI, and that it can perform type-safe dynamic
loading of plugins using dynamic types. Moreover, we discuss how plugin
support is especially useful to applications where Haskell is used as an
embedded domain-specific language (EDSL). We explain how to realise
type-safe plugins using dynamic types, runtime compilation, and dynamic
linking, exploiting infrastructure provided by the Glasgow Haskell Compiler.
We demonstrate the practicability of our approach with several applications
that serve as running examples.
PostScript version (draft) (12 pages)
Paper web page
This page is part of Manuel Chakravarty's WWW-stuff.