Software Distributions
Center
(Internal) For software for your Mac, see our IntraWiki.
The software on this page has been written by members and previous members of the
Software Technology Group of the
Institute
of Information and Computing Sciences of
Utrecht University.
Haskell Utrecht Tools (HUT) [UUAGC, UU.Parsing, UU.Pretty]
Compiler construction
- Syntax Macros Last update: 30-Sep-2003
Author: Joost Rommes, Doaitse Swierstra, and Arthur Baars
This library adds the possibility for a programmer to dynamically adapt both the context-free syntax and the attribute computations of compilers that have been constructed with the UtrechtParserCombinators and the Utrecht AttributeGrammarSystem.
- Helium
Contact: Jurriaan Hage
Helium is a functional programming language and a compiler designed especially for learning Haskell. It is being developed at the Software Technology group of the Institute of Information and Computing Sciences of Utrecht University in the Netherlands. Quality of the error messages has been the main concern both in the choice of the language features and in the implementation of the compiler. Our goal is to let students (or anyone) learn functional programming more quickly and with more fun.
- UHC (Utrecht Haskell Compiler) Last update: April 18, 2009
Author: Atze Dijkstra and Doaitse Swierstra
The purpose of the UHC project is to construct a Haskell compiler which is as understandable as possible so it can be used for education as well as research. Furthermore we try to generate (using UUAGC) as much of the compiler as possible from an attribute grammar based descriptions. Parts of the type system are generated form Ruler descriptions.
In order to avoid overwhelming the innocent reader, the description of the compiler is organised as a series of increasingly complex steps. Each step corresponds to a Haskell subset which itself is an extension of the previous step. The first step starts with the essentials, namely typed lambda calculus.
Each step corresponds to an actual, that is, an executable compiler.
Each of these compilers is a compiler in its own right so experimenting can be done in isolation of additional complexity introduced in later steps.
A first version of the compiler has been released on April 18, 2009
Generic programming
- Generic Haskell
Authors: Dave Clarke, Ralf
Hinze, Johan Jeuring, Andres Löh, and Jan de Wit.
Given a file with definitions of type-indexed
functions, kind-indexed kinds, or type-indexed
data types, the Generic Haskell compiler
generates Haskell code for the instances of
these functions on the data types that occur in
the input file.
- Polytypic programming
Authors: Johan Jeuring and Patrik Jansson
PolyP extends a functional language (a subset of
Haskell) with a construct for writing polytypic
functions. A polytypic function is a function
that is defined by induction on the structure of
user-defined datatypes.
Testing Tool
T2 is a fully automated unit testing tool for Java with lots of nice features. Info and download:
[
here ]
Author:
Wishnu Prasetya
No Longer maintained at Utrecht
- ActiveHaskell
Authors: Erik Meijer and Daan Leijen.
ActiveHaskell? is the collective name for all
Haskell components that allow interaction with
the COM/ActiveX framework.
- Parsec: Parser Combinators Last update: 4-Oct-2001
Author: Daan Leijen
The combinators are distrubuted as part of the GHC distribution.
- wxHaskell: Haskell GUI Library Last update: 19-Aug-2003
Author: Daan Leijen
wxHaskell is a portable and native GUI library for Haskell. The goal of the project is to provide an industrial strength GUI library for Haskell, but without the burden of developing (and maintaining) one ourselves.
- The
attribute grammar system LRC
Authors: Matthijs Kuiper, João Saraiva and DoaitseSwierstra
LRC can be used to generate efficient, incremental higher order attribute grammar evaluators.
- Stratego
Author:Eelco Visser
Stratego is a language for the specification of
program transformation systems based on the
paradigm of rewriting strategies.
- XT
Authors: Merijn de Jonge, http://www.cs.uu.nl/~visser/Eelco Visser]] and Joost Visser
XT is a bundle of program transformation tools
including Stratego, the SDF Grammar base, and
tools for grammar recovery
- Tiger in Stratego
Author: Eelco Visser
An implementation of a compiler for Andrew
Appel's Tiger language and other transformations
on Tiger programs. The implementation has been
developed as a case study in the use of
transformation techniques in compilation and is
used in teaching program
transformation.