Applications and libraries/Compilers and interpreters
(Added Chameleon, Data Field Haskell, Eden, Generic Haskell, PolyP, Helium, and Epigram)
Revision as of 20:52, 30 October 2006
Haskell, with its support for pattern matching on data structures, generic structure traversals, and expressive type system, is popular for implementing compilers and intepreters. Here's a selection of languages implemented in Haskell.
1 Large languages
- GHC, The Glasgow Haskell Compiler, is written in Haskell
- Yhc, The York Haskell Compiler, is written in Haskell
- Jhc is a Haskell compiler which aims to produce the most efficient programs possible via whole program analysis
- A compiler for Haskell 98, written in Haskell
- A parallel version of Haskell from MIT.
- Pugs is an implementation of Perl 6, written in Haskell. It aims to implement the full Perl6 specification.
- RType is a Ruby interpreter written in Haskell
- Write Yourself a Scheme in 48 Hours
- A Haskell Tutorial.
1.5 Emacs Lisp
- The beginnings of an Emacs lisp compiler/interpreter.
- Epigram is a prototype dependently typed functional programming language
- The Münster Curry Compiler
- A native code compiler for the declarative multi-paradigm language Curry, written in Haskell
- A compiler for a hardware description language translating a Haskell-like (but with System Verilog syntax these days) language to Verilog.
- A compiler for a Haskell-like language with depedent types.
- A Cayenne-like programming language and proof assistant.
- A Haskell-style language which implements the ideas described in a ``A Theory of Overloading``
1.12 Data Field Haskell
- Data Field Haskell
- A dialect of the functional programming language Haskell that provides an instance of data fields
- A Haskell dialect for parallel programming
1.14 Generic Haskell
- Generic Haskell
- An extension of Haskell that supports generic programming
- A polytypic programming language
- A Haskell subset for educational purposes
2 Small languages
- An interpreter for a small functional programming language. Supports strict and non-strict evaluation, and type inference. Useful for teaching purposes.
- An implementation of unlambda in Haskell
- An implementation of BF in Haskell
2.4 Untyped lambda calculus
- An implementation of the untyped lambda calculus
- A dependently typed programming language and an interactive programming environment
This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.