Using Concurrent Haskell to Develop Views over an Active Repository

The UniForM WorkBench is an integration framework with Haskell features in support of data, control and presentation integration. Using the WorkBench, it is possible to implement the entire Software Development Environment for Haskell — using Haskell itself. The paper presents the higher order approach to event handling used within the WorkBench, as well as the persistent repository with version management support. It is then demonstrated how views over this repository are kept consistent, on the fly, in a multi-user environment using the Model-View-Controller paradigm. Interactors are set up to maintain consistency between a view and its underlying repository by coordinating database change notifications and user interactions. These events are represented as first class, composable event values.

[1]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[2]  Richard C. H. Connor,et al.  Persistent Program Construction through Browsing and User Gesture with some Typing , 1992, POS.

[3]  Philip W. Trinder,et al.  A functional database , 1989 .

[4]  Simon L. Peyton Jones,et al.  Concurrent Haskell , 1996, POPL '96.

[5]  Magnus Carlsson,et al.  Programming with Fudgets , 1995, Advanced Functional Programming.

[6]  Einar W. Karlsen Integrating Interactive Tools using Concurrent Haskell and Synchronous Events , 1997 .

[7]  Wolfgang Grieskamp,et al.  Communicating Functional Agents and Their Application to Graphical User Interfaces , 1996, Ershov Memorial Conference.

[8]  Simon L. Peyton Jones,et al.  Composing Haggis , 1995, Eurographics Workshop on Programming Paradigms in Graphics.

[9]  Thilo Schwinn,et al.  The Design of a Functional GUI Library Using Constructor Classes , 1996, Ershov Memorial Conference.

[10]  조성일 Tool for integration , 1997 .

[11]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[12]  John H. Reppy,et al.  Higher-Order Concurrency , 1992 .

[13]  Colin Runciman,et al.  Gadgets: Lazy Functional Components for Graphical User Interfaces , 1995, PLILP.

[14]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[15]  Jan A. Bergstra,et al.  The ToolBus - a component interconnection architecture , 1994 .

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

[17]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[18]  Einar W. Karlsen The UniForM Concurrency Toolkit and its Extensions to Concurrent Haskell , 1997 .

[19]  Einar W. Karlsen The UniForM WorkBench - A Higher Order Tool Integration Framework , 1998, FM-Trends.