Difference between revisions of "Applications and libraries/Compilers and interpreters"

From HaskellWiki
Jump to: navigation, search
m (Haskell)
(Some small languages)
Line 3: Line 3:
 
implementing compilers and intepreters. Here's a selection of languages
 
implementing compilers and intepreters. Here's a selection of languages
 
implemented in Haskell.
 
implemented in Haskell.
  +
  +
=Large languages=
   
 
==Haskell==
 
==Haskell==
Line 38: Line 40:
 
;[http://www.e-pig.org/ Epigram]
 
;[http://www.e-pig.org/ Epigram]
 
:Epigram is a prototype dependently typed functional programming language
 
:Epigram is a prototype dependently typed functional programming language
  +
  +
=Small languages=
   
 
==Baskell==
 
==Baskell==
 
;[http://www.cs.mu.oz.au/~bjpop/code.html Baskell]
 
;[http://www.cs.mu.oz.au/~bjpop/code.html Baskell]
 
:An interpreter for a small functional programming language. Supports strict and non-strict evaluation, and type inference. Useful for teaching purposes.
 
:An interpreter for a small functional programming language. Supports strict and non-strict evaluation, and type inference. Useful for teaching purposes.
  +
  +
==Unlambda==
  +
  +
;[http://www.cse.unsw.edu.au/~dons/code/lambdabot/scripts/Unlambda.hs Unlambda.hs]
  +
:An implementation of unlambda in Haskell
  +
  +
==BF==
  +
  +
;[http://www.cse.unsw.edu.au/~dons/code/lambdabot/scripts/BF.hs BF.hs]
  +
:An implementation of BF in Haskell
  +
  +
  +
==Untyped lambda calculus==
  +
  +
;[http://www.cse.unsw.edu.au/~dons/code/lambdabot/Plugin/Lambda/ LMEngine]
  +
:An implementation of the untyped lambda calculus
   
 
{{LibrariesPage}}
 
{{LibrariesPage}}

Revision as of 07:42, 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.

Large languages

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

Perl

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

Ruby

RType
RType is a Ruby interpreter written in Haskell

Scheme

Write Yourself a Scheme in 48 Hours
A Haskell Tutorial.

Emacs Lisp

Helisp
The beginnings of an Emacs lisp compiler/interpreter.

Epigram

Epigram
Epigram is a prototype dependently typed functional programming language

Small languages

Baskell

Baskell
An interpreter for a small functional programming language. Supports strict and non-strict evaluation, and type inference. Useful for teaching purposes.

Unlambda

Unlambda.hs
An implementation of unlambda in Haskell

BF

BF.hs
An implementation of BF in Haskell


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