Functional Languages and Graphical User Interfaces -- a review and a case study

At rst sight, I/O in a pure functional language is not as straightforward as in imperative languages. For some years work has been going on to alleviate these problems, and there are now a number of diierent approaches. The purpose of this report is twofold | rstly we shall review the problems encountered in performing I/O in a functional language and look at some of the ways these might be conquered, and secondly we shall look at some more recent solutions to I/O which encompass graphical interfaces.

[1]  Simon Thompson,et al.  Interactive Functional Programs: a Method and a Formal Semantics , 1987 .

[2]  Andrew Dwelly Functions and dynamic user interfaces , 1989, FPCA.

[3]  W. R. Stoye The implementation of functional languages using custom hardware , 1985 .

[4]  Kavi Arya Processes in a functional animation system , 1989, FPCA.

[5]  Marinus J. Plasmeijer,et al.  High Level Specification of I/O in Functional Languages , 1992, Functional Programming.

[6]  Marko C. J. D. van Eekelen,et al.  Functional Programming and Parallel Graph Rewriting , 1993 .

[7]  Uday S. Reddy,et al.  Imperative functional programming , 1996, CSUR.

[8]  Roger Kenton Took,et al.  Surface interaction : separating direct manipulation interfaces from their applications , 1991 .

[9]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[10]  Mats Carlsson,et al.  FUDGETS: a graphical user interface in a lazy functional language , 1993, FPCA '93.

[11]  Jeanine Weekes Schroer,et al.  The Finite String Newsletter Abstracts of Current Literature Glisp User's Manual , 2022 .

[12]  Joyce L. Vedral,et al.  Functional Programming Languages and Computer Architecture , 1989, Lecture Notes in Computer Science.

[13]  Andrew Dwelly Synchronizing the I/O Behavior of Functional Programs with Feedback , 1988, Inf. Process. Lett..

[14]  Roger Took,et al.  The Active Medium: A Conceptual and Practical Architecture for Direct Manipulation , 1992 .

[15]  Satnam Singh Using XView/X11 from Miranda , 1991, Functional Programming.

[16]  Paul Hudak Raman S. Sundaresh On the Expressiveness of Purely Functional I/O Systems , 1989 .

[17]  John T. O'Donnell,et al.  Dialogues: A basis for constructing programming environments , 1985, SLIPE '85.

[18]  Philip Wadler,et al.  The essence of functional programming , 1992, POPL '92.

[19]  Peter Henderson,et al.  Purely Functional Operating Systems , 1982 .

[20]  Michael D. Harrison,et al.  Abstract Interaction Objects , 1993, Comput. Graph. Forum.

[21]  William Stoye Message-Based Functional Operating Systems , 1986, Sci. Comput. Program..

[22]  Lee McLoughlin,et al.  Imperative Effects from a Pure Functional Language , 1989, Functional Programming.

[23]  Philip Wadler,et al.  Comprehending monads , 1990, Mathematical Structures in Computer Science.

[24]  Martin Odersky,et al.  Polymorphic type inference and abstract data types , 1994, TOPL.

[25]  Duncan C. Sinclair Graphical User Interfaces for Haskell , 1992, Functional Programming.