Personal tools

Applications and libraries/Compilers and interpreters

From HaskellWiki

< Applications and libraries(Difference between revisions)
Jump to: navigation, search
(sort a bit, add Harroth)
(update link)
Line 50: Line 50:
;[ RType]
;[ RType]
:RType is a Ruby interpreter written in Haskell
:RType is a Ruby interpreter written in Haskell

Revision as of 05:35, 4 November 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.


1 Large languages

1.1 Haskell

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.

1.1.1 Helium

A Haskell subset for educational purposes

1.1.2 Generic Haskell

Generic Haskell
An extension of Haskell that supports generic programming

1.1.3 Data Field Haskell

Data Field Haskell
A dialect of the functional programming language Haskell that provides an instance of data fields

1.1.4 Eden

A Haskell dialect for parallel programming

1.1.5 Chameleon

A Haskell-style language which implements the ideas described in a ``A Theory of Overloading``

1.2 Perl

Pugs is an implementation of Perl 6, written in Haskell. It aims to implement the full Perl6 specification.

1.3 Ruby

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

The beginnings of an Emacs lisp compiler/interpreter.

1.7 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

A compiler for a hardware description language translating a Haskell-like (but with System Verilog syntax these days) language to Verilog.

1.10 Cayenne

A compiler for a Haskell-like language with depedent types.

1.11 Agda

A Cayenne-like programming language and proof assistant.

1.12 PolyP

A polytypic programming language

1.13 Forth

Harrorth, a Forth interpreter

2 Small languages

2.1 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

An implementation of unlambda in Haskell

2.3 BF

An implementation of BF in Haskell

2.4 Untyped lambda calculus

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 Applications and libraries.