Applications and libraries/Compilers and interpreters
From HaskellWiki
(Difference between revisions)
m (typo) |
(a lisp interpreter) |
||
| Line 36: | Line 36: | ||
;[http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html Write Yourself a Scheme in 48 Hours] | ;[http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html Write Yourself a Scheme in 48 Hours] | ||
| - | :A | + | :A small Scheme interpreter |
| + | |||
| + | ==Lisp== | ||
| + | |||
| + | ;[http://www.defmacro.org/ramblings/lisp-in-haskell.html A Lisp Interpreter In Haskell] | ||
| + | :A small lisp interpreter written in Haskell | ||
== Emacs Lisp == | == Emacs Lisp == | ||
Revision as of 08:43, 31 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 interpreters. Here's a selection of languages implemented in Haskell.
Contents |
1 Large languages
1.1 Haskell
- GHC
- GHC, The Glasgow Haskell Compiler, is written in Haskell
- Yhc
- Yhc, The York Haskell Compiler, is written in Haskell
- Jhc
- Jhc is a Haskell compiler which aims to produce the most efficient programs possible via whole program analysis
- nhc98
- A compiler for Haskell 98, written in Haskell
- pH
- A parallel version of Haskell from MIT.
1.2 Perl
- Pugs
- Pugs is an implementation of Perl 6, written in Haskell. It aims to implement the full Perl6 specification.
1.3 Ruby
- RType
- RType is a Ruby interpreter written in Haskell
1.4 Scheme
- Write Yourself a Scheme in 48 Hours
- A small Scheme interpreter
1.5 Lisp
- A Lisp Interpreter In Haskell
- A small lisp interpreter written in Haskell
1.6 Emacs Lisp
- Helisp
- The beginnings of an Emacs lisp compiler/interpreter.
1.7 Epigram
- Epigram
- Epigram is a prototype dependently typed functional programming language
1.8 Curry
- The Münster Curry Compiler
- A native code compiler for the declarative multi-paradigm language Curry, written in Haskell
1.9 Bluespec
- Bluespec
- A compiler for a hardware description language translating a Haskell-like (but with System Verilog syntax these days) language to Verilog.
1.10 Cayenne
- Cayenne
- A compiler for a Haskell-like language with depedent types.
1.11 Agda
- Agda
- A Cayenne-like programming language and proof assistant.
1.12 Chameleon
- Chameleon
- A Haskell-style language which implements the ideas described in a ``A Theory of Overloading``
1.13 Data Field Haskell
- Data Field Haskell
- A dialect of the functional programming language Haskell that provides an instance of data fields
1.14 Eden
- Eden
- A Haskell dialect for parallel programming
1.15 Generic Haskell
- Generic Haskell
- An extension of Haskell that supports generic programming
1.16 PolyP
- PolyP
- A polytypic programming language
1.17 Helium
- Helium
- A Haskell subset for educational purposes
2 Small languages
2.1 Baskell
- Baskell
- An interpreter for a small functional programming language. Supports strict and non-strict evaluation, and type inference. Useful for teaching purposes.
2.2 Unlambda
- Unlambda.hs
- An implementation of unlambda in Haskell
2.3 BF
- BF.hs
- An implementation of BF in Haskell
2.4 Untyped lambda calculus
- LMEngine
- An implementation of the untyped lambda calculus
This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Libraries and tools.
