MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Plugging Haskell In (2004) [13 citations — 3 self]

by André Pang ,  Don Stewart ,  Sean Seefried ,  Manuel M. T. Chakravarty
In Proceedings of the ACM SIGPLAN Workshop on Haskell
Add To MetaCart

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, and that it can support 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.

Citations

3853 Design Patterns: Elements of Reusable Object-Oriented Software – Gamma, Helm, et al. - 1995
202 Scripting: Higher level programming for the 21st century – Ousterhout - 1998
111 EMACS the extensible, customizable selfdocumenting display editor – Stallman - 1981
52 A lightweight implementation of generics and dynamics. Pages 90–104 of: Haskell ’02 – Cheney, Hinze - 2002
47 XML: Generic combinators or type-based translation – Haskell - 1999
37 Safe and flexible dynamic linking of native code – Hicks, Weirich, et al. - 2000
25 Type classes with existential types – Läufer - 1996
22 Dynamic ML Without Dynamic Types – Gilmore, Kirli, et al. - 1997
21 Dynamic typing for distributed programming in polymorphic languages – Duggan - 1999
15 Type-safe linking with recursive DLL and shared libraries – Duggan - 2002
13 The Yampa arcade – Courtney, Nilsson, et al. - 2003
11 Alice in the land of Oz - an interoperability-based implementation of a functional language on top of a relational language – KORNSTAEDT - 2001
8 Combining type classes and existential types – Laufer - 1994
7 Sigbjørn Finne, and Oege de Moore. Compiling embedded languages – Elliott - 2000
6 Functional automatic differentiation with dirac impulses – Nilsson - 2003
4 Dynamic types have existential type – Duggan - 1994
3 hi — hmake interactive — compiler or interpreter – Wallace - 2000
2 Functional Image Synthesis – Elliott - 2001
2 Distributed computing based on clean dynamics – Hegedus, Horvath - 2004
2 Liang and Gilad Bracha. Dynamic class loading in the java virtual machine – Sheng - 1998
1 Chakravarty et al. A Primitive Foreign Function Interface – Manuel - 2004
1 22] Rinus Plasmeijer and Marko van Eekelen. Concurrent clean language report version 2.1 – Seefried, Chakravarty, et al. - 2002