|
|
Dynamic Applications From the Ground Up
|
Accepted for the Haskell Workshop, 2005.
|
Some Lisp programs such as Emacs, but also the Linux kernel (when fully modularised) are mostly dynamic; i.e., apart from a small static core, the significant functionality is dynamically loaded. In this paper, we explore fully dynamic applications in Haskell where the static core is minimal and code is hot swappable. We demonstrate the feasibility of this architecture by two applications: Yi, an extensible editor, and Lambdabot, a plugin-based IRC robot. Benefits of the approach include hot swappable code and sophisticated application configuration and extension via embedded DSLs. We illustrate both benefits in detail at the example of a novel embedded DSL for editor interfaces. |
The full text of the paper can be downloaded: (ps.gz ,pdf)
The source code for Yi and Lambdabot, referenced in the paper can be downloaded from:
http://www.cse.unsw.edu.au/~dons/yi.html
http://www.cse.unsw.edu.au/~dons/lambdabot.html
@inproceedings{SC05,
author = {Don Stewart and Manuel M. T. Chakravarty},
title = {Dynamic Applications From the Ground Up},
booktitle = {Proceedings of the ACM SIGPLAN Workshop on Haskell},
year = 2005,
month = sep,
location = {Tallinn, Estonia},
publisher = {ACM Press},
notes = "To appear"
}