ACM Home Page
Please provide us with feedback. Feedback
Dynamic applications from the ground up
Full text PdfPdf (189 KB)
Source Haskell archive
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell table of contents
Tallinn, Estonia
Pages: 27 - 38  
Year of Publication: 2005
ISBN:1-59593-071-X
Authors
Don Stewart  University of New South Wales
Manuel M. T. Chakravarty  University of New South Wales
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 47,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1088348.1088352
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Internet Relay Chat (IRC) help archive. http://www.irchelp.org/, 2005.
 
2
J. Armstrong. Erlang - a Survey of the Language and its Industrial Applications. In INAP'96 - The 9th Exhibitions and Symposium on Industrial Applications of Prolog, pages 16--18, 1996.
3
 
4
A. Baumann, G. Heiser, J. Appavoo, D. D. Silva, O. Krieger, R. W. Wisniewski, and J. Kerr. Providing dynamic update in an operating system. In Proceedings of the 2005 USENIX Technical Conference, pages 279--291. USENIX Association, 2005.
 
5
A. Baumann, J. Kerr, J. Appavoo, D. Da Silva, O. Krieger, and R. W. Wisniewski. Module hot-swapping for dynamic update and reconfiguration in K42. In Proceedings of the 6th Linux.Conf.Au, Canberra, Australia, Apr. 2005. To appear.
 
6
G. Bierman, M. Hicks, P. Sewell, and G. Stoyle. Formalizing dynamic software updating. In Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE), April 2003.
 
7
A. Bolour. Notes on the Eclipse plug-in architecture. http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin architecture.html, 2003.
 
8
Bram Moolenaar. The Vim Editor. http://www.vim.org/.
 
9
10
 
11
B. Hausman. Turbo Erlang: Approaching the speed of C. In E. Tick and G. Succi, editors, Implementations of Logic Programming Systems, pages 119--135. Kluwer, Dordrecht, 1994.
 
12
13
 
14
 
15
Hugh Mahon. The Editor 'ee'. http://mahon.cwx.net/.
 
16
R. Ierusalimschy, L. H. de Figueiredo, and W. Celes. The evolution of an extension language: A history of Lua. In M. A. Musicante and E. H. Hausler, editors, V Simposio Brasileiro de Linguagens de Programaciao, pages B-14-B-28, Curitiba, May 2001.
 
17
18
 
19
M. P. Jones and S. Peyton Jones. Lightweight extensible records for Haskell. In Proceedings of the 1999 Haskell Workshop. Published in Technical Report UU-CS-1999-28, Department of Computer Science, University of Utrecht, Sept. 1999.
20
 
21
R. Lämmel and S. Peyton Jones. Scrap your boilerplate with class: extensible generic functions. Draft, submitted to ICFP 2005. http://www.cwi.nl/ralf/syb3/, Apr. 2005.
22
 
23
Nano Core Development Team. GNU Nano Text Editor. http://www.nano-editor.org/.
24
 
25
J. Seward, S. Marlow, A. Gill, S. Finne, and S. P. Jones. Architecture of the Haskell Execution Platform (HEP). http://www.haskell.org/ghc/docs/papers/, 1999.
 
26
C. A. N. Soules, J. Appavoo, K. Hui, R. W. Wisniewski, D. D. Silva, G. R. Ganger, O. Krieger, M. Stumm, M. Auslander, M. Ostrowski, B. Rosenburg, and J. Xenidis. System support for online reconfiguration. In Proc. of the Usenix Technical Conference, 2003.
27
 
28
Sven Verdoolaege and Keith Bostic. The Berkeley Vi Editor. http://www.bostic.com/vi/.
 
29
30


Collaborative Colleagues:
Don Stewart: colleagues
Manuel M. T. Chakravarty: colleagues