CLEAN: A language for functional graph rewriting
Proc. of a conference on Functional programming languages and computer architecture
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
PARLE '91 Proceedings on Parallel architectures and languages Europe : volume II: parallel languages: volume II: parallel languages
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Imperative functional programming
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FUDGETS: a graphical user interface in a lazy functional language
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Calling hell from heaven and heaven from hell
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Lightweight GUIs for Functional Programming
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Gadgets: Lazy Functional Components for Graphical User Interfaces
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
The Design of a Functional GUI Library Using Constructor Classes
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Communicating Functional Agents and Their Application to Graphical User Interfaces
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Guaranteeing Safe Destructive Updates Through a Type System with Uniqueness Information for Graphs
Proceedings of the International Workshop on Graph Transformations in Computer Science
High Level Specification of I/O in Functional Languages
Proceedings of the 1992 Glasgow Workshop on Functional Programming
Interactive Functional Objects in Clean
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
The Implementation of Interactive Local State Transition Systems in Clean
IFL '99 Selected Papers from the 11th International Workshop on Implementation of Functional Languages
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
The feasibility of interactively probing quiescent properties of GUI applications
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Generic graphical user interfaces
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
GEC: a toolkit for generic rapid prototyping of type safe interactive applications
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Hi-index | 0.00 |
Pure, functional programming languages offer several solutions to construct Graphical User Interfaces (GUIs). In this paper we report on a project in which we port the Clean Object I/O library to Haskell. The Clean Object I/O library uses an explicit environment passing scheme, based on the uniqueness type system of Clean. It supports many standard GUI features suchas windows, dialogues, controls, and menus. Applications can have timing behaviour. In addition, there is support for interactive processes and message passing. The standard functional programming language Haskell uses a monadic framework for I/O. We discuss how the Object I/O library can be put in a monadic framework without loosing its essential features. We give an implementation of an essential fragment of the Object I/O library to demonstrate the feasibility. We take especial consideration for the relevant design choices. One particular design choice, how to handle state, results in two versions.