UHC

[This page copied and requiring further editing]

What’s new and what’s going on

See the Changelog.

Work at UU currently (dec 2015) focusses on integration of various program analysis and rewrite of the type system.

What is UHC?

UHC is the Utrecht Haskell Compiler. UHC supports almost all Haskell98 features plus experimental extensions. See the current README for platforms under which UHC compiles/runs.

Features:

  • Multiple backends, including a bytecode interpreter backend and a full program analysis backend, both via C.
  • Experimental language extensions, some of which have not been implemented before.
  • Implementation via attribute grammars and other high-level tools.
  • Ease of experimentation with language variants, thanks to an aspect-oriented internal organisation.

More information…

Download

Documentation

Example usage

In particular the Javascript backend is used for building web based applications, see some Javascript backend usage examples.

Feedback

  • Bug reporting
  • UHC users: discussion and messages about the use of UHC.
  • UHC developers: discussion and messages about the development and internals of UHC. Commit notifications are sent to this list.