Ultra: Interactive Transformation of Functional Programs
Welcome to the Ultra home page. Ultra is an interactive program transformation system to transform Haskell programs. The system itself is written in the functional language Gofer and uses TkGofer to implement its user interface. You can install the current version Ultra 2.2 by performing the following steps:
- First, install TkGofer 2.2. If you have already installed TkGofer, please reinstall it, older versions of TkGofer are not able to handle that many classes and types... You can find information on the installation procedure on the TkGofer web page or in the readme file. The Windows 95/NT version of TkGofer 2.2 is available here.
- Second, download the Ultra 2.2 sources, unpack and place them into some directory accesible by the TkGofer system.
Then you can start TkGofer 2.2, load the ultra.p project file, and evaluate the function main. You can also look at the following documentation regarding Ultra:
- The user's manual is available as gzipped PostScript (2.6 MB). Among other things, it provides an introduction to Ultra, sample derivations and a complete system reference.
- You can also read our paper that describes the system and discusses the transformational derivation of the Heapsort algorithm we performed using Ultra.
The new version Ultra 3.0 extends Ultra to Haskell. You can find details about this extension and its installation here. Ultra 3.0 is available in two ways:
- as a binary including several libraries; it runs on Linux/x86 with Tcl/Tk/Tix installed,
- as source code; it is possible but a bit intricate to compile it manually.
At the moment, Ultra is mainly supported by Walter Guttmann. We welcome all your comments, feedback, and suggestions.
