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]

  • Haskell Utrecht Tools Last update: actively maintained

    Authors/Maintainers: Arie Middelkoop, Jeroen Fokker, and Alexey Rodriguez

    A collection of packages including pretty-printing combinators, error-correcting parser combinators and an attribute grammar system.

Compiler construction

  • 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)

    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.