Abstract
We present the design rationale of a constructor class-based implementation of a graphical user interface library. This library, named TkGofer, provides a convenient way to write window-oriented applications in the pure, functional programming language Gofer.
The principal contribution of the approach embodied in the library is its flexibility and its type security to specify the appearance and behaviour of individual widgets and their composition.
Preview
Unable to display preview. Download preview PDF.
References
P.M. Achten, J.H.G. van Groningen, and M.J. Plasmeijer. High-level specification of I/O in functional languages. In Glasgow Workshop on Functional Programming 1992. Springer Verlag, 1993.
M. Carlsson and Th. Hallgren. Fudgets — a graphical user interface in a lazy functional language. In Conference on Functional Programming and Computer Architecture. ACM Press, 1993.
T. Frauenstein, W. Grieskamp, P. Pepper, and M. Südholt. Functional programming of communicating agents and its application to graphical user interfaces. In Proceedings PSI'96. Springer-Verlag, 1996
M. Hermenegildo and S.D. Swierstra, editors. Programming Languages: Implementations, Logics and Programs. 7th International Symposium, PLILP '95, volume 982 of Lecture Notes in Computer Science. Springer-Verlag, September 1995.
P. Hudak, S.L. Peyton Jones, and Ph. Wadler (eds.). Report on the programming language Haskell, Version 1.2. ACM SIGPLAN Notices, 27(5), 1992.
M. Jones. Release notes for Gofer 2.28, 1993. Included as part of the standard Gofer distribution.
M.P. Jones. An introduction to Gofer (draft), 1993. Included as part of the standard Gofer distribution.
M.P. Jones. Functional programming with overloading and higher-order polymorphism, volume 925 of Lecture Notes in Computer Science, pages 97–136. Springer-Verlag, 1995.
E. Moggi. Computational lambda-calculus and monads. In Symposium on Logic in Computer Science, pages 14–23, Washington DC, 1989. IEEE.
R. Noble and C. Runciman. Gadgets: Lazy functional components for graphical user interfaces. In Hermenegildo and Swierstra [4], pages 321–340.
J.K. Ousterhout. Tcl and the Tk toolkit. Addison Wesley, 1994.
S.L. Peyton Jones and Ph. Wadler. Imperative functional programming. In Proc. 20th ACM Symposium on Principles of Programming Languages, Charlotte, North Carolina, January 1993.
T. Vullinghs, D. Tuijnman, and W. Schulte. Lightweight GUIs for functional programming. In Hermenegildo and Swierstra [4], pages 341–356.
Ph. Wadler. Comprehending monads. In Proc. 1990 ACM Conference on Lisp and Functional Programming, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vullinghs, T., Schulte, W., Schwinn, T. (1996). The design of a functional GUI library using constructor classes. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Perspectives of System Informatics. PSI 1996. Lecture Notes in Computer Science, vol 1181. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62064-8_33
Download citation
DOI: https://doi.org/10.1007/3-540-62064-8_33
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62064-8
Online ISBN: 978-3-540-49637-3
eBook Packages: Springer Book Archive