Web Home
Ehc
News
20090418 The first release of UHC is
announced!
20081124 Begin of update of documentation framework, over coming time more doc will appear.
20081023 Started adding
shuffle documentation and a
description? of how to use the variants and aspects of EHC for experimentation.
What is UHC? And EHC?
UHC stands for
Utrecht Haskell Compiler.
EHC stands for Essential Haskell Compiler, a series of compilers, of which the last one is UHC.
UHC/EHC as a combination aims to be
- A full Haskell98 compiler with extensions
- A platform for experimentation with Haskell and type systems
EHC is not just a single compiler, but a whole series of compilers. Each compiler in this series adds some Haskell features or extensions to the previous compiler. It is specified as a delta to its predecessor.
The last compiler in this sequence is branded as UHC.
Status of EHC/UHC
See
FirstRelease for an extensive overview of the work still to be done before we can release a beta version UHC for the first time,
and
LanguageFeatures for an overview what is and is not implemented in general.
A brief summary of where we are follows:
- [20090415] UHC
- We are almost reaching the first release!
Platforms
EHC compiles and runs on MacOS X Intel, WinXP and some Linux versions.
Feedback
Although we currently guarantee nothing (remember we have not yet released UHC), you can certainly help us by trying out EHC and
tell us what went wrong (or right!).
Download, build, run and install EHC/UHC
Download, build, install, run
See the
ehc manual (under construction) for
installation and
troubleshooting.
Experiment and play
Ehc allows itself to be built in different configurations. Ehc is constructed as a sequence of steps, but independently of this various aspects of the full compiler can be omitted so as to allow experimentation. Ehc.Shuffle is used to configure this. As part of the
documentation an explanation on how to experiment and play with the system is available.
Reading about EHC
See
documentation
Participate in the development of EHC
- Obtain the source code available on the subversion repository: https://subversion.cs.uu.nl/repos/project.UHC.pub/. Contact the repository owner to get write access.
- Depending on the type of development, choose either the trunk or create a branch:
- The trunk: bugfixes, main development
- Branching: student projects
Cooperation, Projects
Cooperation projects
Local (at UU) projects
Completed projects
- [2009] Mart Kolthof, designing an editor in Proxima for Shuffle, Master thesis.
- [2007] Type Systems projects are based on EHC.
- [2007] John van Schie, Using LLVM as a back-end for EHC, Master thesis.
- [2007] Gerrit van den Geest, Use of Constraints for Type Class Extensions, Master thesis.
- [2006] Some EIFL (Efficient Implementation of Functional Languages) seminar projects use EHC as a frontend.
- [2006] Thesis project by WouterSwierstra to incorporate Attribute Grammar fragments in EHC.
- [2005] Christof Douma, Exceptions in GRIN, Master thesis .
--
AtzeDijkstra - 10 Sep 2009