Abstract
This paper describes a document-centered environment for Haskell that is aimed at making the language accessible to a broad range of end users. In this environment (named Vital), Haskell modules are presented as documents with the values they define displayed in place textually or graphically (as ‘views’). An end user, who may have only a superficial knowledge of Haskell, is able to edit a program (for example, manipulating literal values of complex, user-defined ADTs) by interacting with these views. The representation of an ADT and the range of interactions possible with it (that is, its ‘look and feel’) are open-ended and are defined (by an expert user) in terms of Haskell type classes and implemented by a mechanism that employs a specialised form of reflection.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burnett, M., et al.: Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm. J. Functional Programming 11(2), 155–260 (2001)
Callanan, M.: Type-safe clipboard operations for document-centered functional programs. In: 21st British Colloquium for Theoretical Computer Science, Nottingham (2005)
Dami, L., Vallet, D.: Higher-order functional composition in visual form. In: Tsichritzis, D. (ed.) Object Applications, Univ. of Geneva, pp. 139–154 (1996)
Davie, T., Hammond, K., Quintela, J.: Efficient persistent Haskell. Technical report, Univ. St. Andrews (2000)
de Hoon, W.A.C.A.J., Rutten, L.M.W.J., van Eekelen, M.C.J.D.: Implementing a functional spreadsheet in Clean. J. Functional Programming 5(3), 383–414 (1995)
Elliott, C.: Functional images. In: Gibbons, J., de Moor, O. (eds.) The fun of programming, Palgrave. Macmillan, Palgrave (2003)
Gottfried, H.J., Burnett, M.: Graphical definitions: making spreadsheets visual through direct manipulation and gestures. In: Proc. VL 1997, Capri, Italy. IEEE, Los Alamitos (1997)
Hanna, K.: Interactive visual functional programming. In: Proc. Seventh ACM SIGPLAN Intnl. Conf. on Functional Programming, pp. 145–156. ACM, New York (2002)
Hanna, K.: Vital: a document-centered implementation of Haskell. University of Kent, Includes tutorial, reference manual and download (2005), Available from: http://www.cs.kent.ac.uk/projects/vital/
Kelso, J.: Visual representation for functional programs. Technical Report CS-95-01, Dept. of Comp. Sc., Murdoch University (1995)
Lisper, B., Malmstrom, J.: Haxcel: a spreadsheet interface to Haskell. In: 14th Int. Workshop on Impl. of Functional Languages, pp. 206–222 (2002)
Pang, A., Stewart, D., Seefried, S., Chakravarty, M.M.T.: Plugging Haskell in. In: Proc ACM SIGPLAN workshop on Haskell, Snowbird, USA, pp. 10–21. ACM Press, New York (2004)
Reekie, H.J.: Visual Haskell: a first attempt. Technical Report 94.5, Centre for Adv. Comp. Sc., Univ. of Tech., Sydney (1994)
Shneiderman, B.: Direct Manipulation: a step beyond programming languages. IEEE Computer 16(8), 57–67 (1983)
Thompson, S.: A functional reactive animation of a lift using Fran. J. Functional Programming 10, 245–268 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hanna, K. (2006). A Document-Centered Environment for Haskell. In: Butterfield, A., Grelck, C., Huch, F. (eds) Implementation and Application of Functional Languages. IFL 2005. Lecture Notes in Computer Science, vol 4015. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11964681_12
Download citation
DOI: https://doi.org/10.1007/11964681_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69174-7
Online ISBN: 978-3-540-69175-4
eBook Packages: Computer ScienceComputer Science (R0)