; 2; 1; Computing Science Department, University of Nijmegen, 1 Toernooiveld; 2; Microsoft Research Cambridge, St. George House, 1 Guildhall street, Cambridge,
SVM HeaderParse 0.2
; 6525 ED,; Nijmegen, The Netherlands; CB2 3 NH, UK
SVM HeaderParse 0.1
. Pure, functional programming languages oer 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 such as 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. 1 Intro...