Institute of Software Engineering and Compiler Construction
- 1:
Teaching. - 2:
Research.- 2.1:
Topics. - 2.2:
Theses. - 2.3:
Projects.- 2.3.1:
ActiveCharts. - 2.3.2:
GLOB-CON. - 2.3.3:
Credit Point Systems. - 2.3.4:
ModKey. - 2.3.5:
NOVA. - 2.3.6:
ROARS. - 2.3.7:
RUBIKON. - 2.3.8:
Ultra.
- 2.3.1:
- 2.4:
Publications. - 2.5:
Publications of External Ph.D. Students. - 2.6:
Events.
- 2.1:
- 3:
Staff. - 4:
Contact.
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.
To install Ultra 2.2 for Windows 95/NT/XP/Vista/7 please download the package, unpack it and start ultra.bat. Skip the following detailed instructions in this case.
To install Ultra 2.2 for Linux and other operating systems, perform the following steps:
- First, install TkGofer 2.2. You can find information on the installation procedure on the TkGofer web page or in the readme file. The Windows 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.
The following persons were involved in the development of Ultra: Helmuth Partsch, Wolfram Schulte, Ton Vullinghs, Mark Dettinger, Joachim Schmid, Thorsten Quell, Tobias Häberlein, Walter Guttmann and Michael Stahl. We welcome all your comments, feedback, and suggestions, which you can send to Walter Guttmann.
