On this page, you can find:
The integrated software development environment is modelled as a reactive system, with events as the primitive notion. Events can come from
The subsystem interaction manager is a toolkit to encapsulate foreign tools. Its most important component is Haskell-Expect, which allows the easy encapsulation of tools with a text-based interface. The idea is to create events from regular expressions. Such an event is triggered when the tool outputs a string matching the corresponding regular expression. These events can then be combined and sequenced to allow arbitrarily complex dynamically-changing interactions between one or more tools and other parts of UniForM. Thus Haskell-Expect goes far beyond the original Unix expect program, which inspired it.
To allow the development of state-of-the-art graphical user interfaces in a functional style, the workbench provides HTk, an encapsulation of Tcl/Tk, which is based on Haskell-Expect. It combines the advantages of Tk (platform independency, abstraction) with the advantages of Haskell (type safety), bypassing the shortcomings of Tcl (untypedness, lack of structuring concepts).
In HTk, widgets are modelled as datatypes, and the different configuration options as type classes, allowing many errors which in Tcl/Tk only occur at runtime to be caught by typechecking. User inputs are modelled by events, to which the system reacts asynchronously, making HTk fully concurrent.
To compile the workbench, you need the Glasgow Haskell Compiler Version 5.02 - download it from here.
We have compiled and tested the workbench under Linux i86 and Solaris Sparc systems. Other architectures, if supported by the Glasgow Haskell Compiler (GHC), may work, but are untested due to lack of availability. You will probably need around 150MB of disk space and 128MB of main memory.
The most comprehensive description of the workbench and its design philosophy is Einar Karlsen's doctoral dissertation, Tool Integration in Functional Programming Language (Universität Bremen, 1998). It has by now been obsoleted by ongoing development, but still describes the main design ideas.
If you have any questions or feedback at all, please drop us a mail at uniform@informatik.uni-bremen.de.