Difference between revisions of "Applications and libraries/Compilers and interpreters"
Jump to navigation
Jump to search
DonStewart (talk | contribs) m (→Haskell) |
DonStewart (talk | contribs) (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.