Plugging Haskell in

14Citations
Citations of this article
24Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Pang, A., Stewart, D., Seefried, S., & Chakravarty, M. M. T. (2004). Plugging Haskell in. In Proceedings of the ACM SIGPLAN 2004 Haskell Workshop, Haskell’04 (pp. 10–21). Association for Computing Machinery. https://doi.org/10.1145/1017472.1017478

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free