category: functional languages
-
Description:
|
Functional languages are a class of languages which have their roots
in the lambda calculus and are designed to reflect the way people think mathematically.
|
|---|
-
Language:
|
Hope
|
|---|
-
Package:
|
?
|
|---|
-
Version:
|
?
|
|---|
-
Parts:
|
?
|
|---|
-
Author:
|
?
|
|---|
-
Location:
|
ftp://brolga.cc.uq.oz.au/pub/hope/
ftp://ftp-ala.doc.ic.ac.uk/pub/papers/R.Paterson/hope.tar.gz
http://www-ala.doc.ic.ac.uk/~rap/Hope/
???
|
|---|
-
Description:
|
It's a fairly old functional language, its predecessor NPL
having grown out of Burstall and Darlington's work on program
transformation in the late 70s. Its key innovation, algebraic
data types and pattern matching, has since become a fixture in
all modern functional programming languages. When it was
created (around 1980) it had adopted the key innovation of
the language ML (also developed at Edinburgh), namely
polymorphic types, which are also now a standard feature in FPLs.
In my [rap's --ed] opinion, Hope's advantage over most other
FPLs is its small size and simplicity. I think that makes
it the ideal vehicle for learning functional programming.
I also find it handy for prototyping various ideas, and
sometimes I fiddle with the interpreter to add experimental
features.
|
|---|
-
References:
|
http://santos.doc.ic.ac.uk/~rap/Hope/
|
|---|
-
Ports:
|
Unix, Mac, PC
|
|---|
-
Contact:
|
Ross Paterson <rap@doc.ic.ac.uk>
|
|---|
-
Updated:
|
November 27th, 1992
|
|---|
-
Language:
|
ALLOY
|
|---|
-
Package:
|
ALLOY
|
|---|
-
Version:
|
2.0?
|
|---|
-
Parts:
|
interpreter, documentation, examples
|
|---|
-
Author:
|
Thanasis Mitsolides <mitsolid@cs.nyu.edu>
|
|---|
-
Location:
|
ftp://cs.nyu.edu/pub/local/alloy/*
|
|---|
-
Description:
|
ALLOY is a higher level parallel programming language
appropriate for programming massively parallel computing
systems. It is based on a combination of ideas from
functional, object oriented and logic programming languages.
The result is a language that can directly support
functional, object oriented and logic programming styles
in a unified and controlled framework. Evaluating modes
support serial or parallel execution, eager or lazy
evaluation, non-determinism or multiple solutions etc.
ALLOY is simple as it only requires 29 primitives in all
(half of which for Object Oriented Programming support).
|
|---|
-
Ports:
|
sparc, ?
|
|---|
-
Updated:
|
June 11th, 1991
|
|---|
-
Language:
|
Caml
|
|---|
-
Package:
|
CAML
|
|---|
-
Version:
|
3.1
|
|---|
-
Parts:
|
compiler, interactive development environment
|
|---|
-
Author:
|
Ascander Suarez, Pierre Weis, Michel Mauny, others (INRIA)
|
|---|
-
Location:
|
ftp://ftp.inria.fr/lang/caml/
|
|---|
-
Description:
|
Caml is a programming language from the ML/Standard ML family,
with functions as first-class values, static type inference
with polymorphic types, user-defined variant and product
types, and pattern-matching. The CAML V3.1 implementation
adds lazy and mutable data structures, a "grammar" mechanism
for interfacing with the Yacc parser generator,
pretty-printing tools, high-performance arbitrary-precision
arithmetic, and a complete library.
|
|---|
-
Bugs:
|
caml@margaux.inria.fr
|
|---|
-
Ports:
|
Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo
|
|---|
-
Portability:
|
low (built on a proprietary runtime system)
|
|---|
-
Status:
|
maintained but no longer developed
|
|---|
-
Discussion:
|
caml-list@margaux.inria.fr, comp.lang.ml
|
|---|
-
Contact:
|
Pierre Weis <Pierre.Weis@inria.fr>
|
|---|
-
Updated:
|
October 20th, 1991
|
|---|
-
Language:
|
Caml
|
|---|
-
Package:
|
Caml Light
|
|---|
-
Version:
|
0.74
|
|---|
-
Parts:
|
bytecode compiler, emacs mode, libraries, scanner generator,
parser generator, runtime, interactive development environment
|
|---|
-
Author:
|
Xavier Leroy, Damien Doligez (INRIA)
|
|---|
-
Location:
|
http://pauillac.inria.fr/caml/distrib-caml-light-eng.html
ftp://ftp.inria.fr/lang/caml-light/
|
|---|
-
Description:
|
Caml is a programming language from the ML/Standard ML family,
with functions as first-class values, static type inference
with polymorphic types, user-defined variant and product
types, and pattern-matching. The Caml Light implementation
adds a Modula-2-like module system, separate compilation,
lazy streams for parsing and printing, graphics primitives,
and an interface with C.
|
|---|
-
Features:
|
very small
|
|---|
-
Bugs:
|
caml-light@margaux.inria.fr
|
|---|
-
Ports:
|
most unix, Macintosh, MSDOS (16 and 32 bit modes), Windows, Atari ST
|
|---|
-
Portability:
|
very high
|
|---|
-
Status:
|
actively developed
|
|---|
-
Discussion:
|
caml-list@margaux.inria.fr, comp.lang.ml
|
|---|
-
Contact:
|
Xavier Leroy <Xavier.Leroy@inria.fr>
|
|---|
-
Updated:
|
December 0 1997
|
|---|
-
Language:
|
CAML, Bigloo
|
|---|
-
Package:
|
Camloo
|
|---|
-
Version:
|
1.9b
|
|---|
-
Parts:
|
?
|
|---|
-
Author:
|
Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr
|
|---|
-
Location:
|
???
http://cuiwww.unige.ch/~serrano/bigloo.html
|
|---|
-
Description:
|
An implementation of CAML in Bigloo. It can be considered as
an alternative to the regular camlc compiler. In particular,
it has successfully compiled many complex Caml Light programs,
including camlc and the Coq system (the ``calculus of
constructions'', a proof assistant).
|
|---|
-
Conformance:
|
Full compliance with Caml Light 0.6 and Caml Light Libraries
(including camlyacc and camllex).
|
|---|
-
Requires:
|
Bigloo1.6c (available from same address).
|
|---|
-
Contact:
|
Manuel.Serrano@inria.fr, Pierre.Weis@inria.fr.
|
|---|
-
Updated:
|
July 10th, 1997
|
|---|
-
Language:
|
Haskell
|
|---|
-
Package:
|
Chalmers Haskell (aka Haskell B.)
|
|---|
-
Version:
|
0.999.5
|
|---|
-
Parts:
|
compiler, interpreter, library, documentation, examples
|
|---|
-
Author:
|
Lennart Augustsson <augustss@cs.chalmers.se>
|
|---|
-
Location:
|
|
|---|
-
Description:
|
Full-featured implementation of Haskell 1.2,
with quite a few "Haskell B" extensions
|
|---|
-
Requires:
|
LML
|
|---|
-
Ports:
|
many, including Sun, DEC, Sequent, PC, Symmetry
(unsupported versions for NS32000, RT/PC, CRAY, SUN3, VAX,
ARM, and RS6000.)
|
|---|
-
Discussion:
|
-
|
haskell-request@cs.yale.edu
|
|---|
-
europe:
|
haskell-request@dcs.glasgow.ac.uk
|
|---|
|
|---|
-
Contact:
|
hbc@cs.chalmers.se
|
|---|
-
Updated:
|
August 2nd, 1993
|
|---|
-
Language:
|
Concurrent ML
|
|---|
-
Package:
|
Concurrent ML
|
|---|
-
Version:
|
0.9.8
|
|---|
-
Parts:
|
extension
|
|---|
-
Author:
|
?
|
|---|
-
Location:
|
ftp://ftp.cs.cornell.edu/pub/CML* or get SML/NJ
|
|---|
-
Description:
|
Concurrent ML is a concurrent extension of SML/NJ, supporting
dynamic thread creation, synchronous message passing on
synchronous channels, and first-class synchronous operations.
First-class synchronous operations allow users to tailor their
synchronization abstractions for their application. CML also
supports both stream I/O and low-level I/O in an integrated
fashion.
|
|---|
-
Bugs:
|
sml-bugs@research.att.com
|
|---|
-
Requires:
|
SML/NJ 0.75 (or later)
|
|---|
-
Updated:
|
Febuary 18th, 1993
|
|---|
-
Language:
|
es (a functional shell)
|
|---|
-
Package:
|
es
|
|---|
-
Version:
|
0.84
|
|---|
-
Parts:
|
interpreter
|
|---|
-
Author:
|
Byron Rakitzis <byron@netapp.com>, Paul Haahr <haahr@adobe.com>
|
|---|
-
Location:
|
ftp://ftp.sys.utoronto.ca/pub/es/es-0.84.tar.Z
|
|---|
-
Description:
|
shell with higher order functions
- builtin features implemented as redefineable functions
|
|---|
-
Updated:
|
April 30th, 1993
|
|---|
-
Language:
|
FP
|
|---|
-
Package:
|
funcproglang
|
|---|
-
Version:
|
1.0
|
|---|
-
Parts:
|
translator(C)
|
|---|
-
Author:
|
E. S. Biagioni
|
|---|
-
Location:
|
comp.sources.unix archive volume 13
|
|---|
-
Description:
|
Backus FP languag
|
|---|
-
Updated:
|
1987
|
|---|
-
Language:
|
Haskell
|
|---|
-
Package:
|
Glasgow Haskell Compiler (GHC)
|
|---|
-
Version:
|
4.06
|
|---|
-
Parts:
|
translator (C, SPARC), profiler
|
|---|
-
Author:
|
Simon Peyton Jones <simonpj@microsoft.com>
|
|---|
-
Location:
|
|
|---|
-
Description:
|
The Glasgow Haskell Compiler is a robust, fully-featured,
optimising compiler for Haskell 98. GHC compiles Haskell to either
native code or C. It implements numerous experimental language
extensions to Haskell 98; for example: concurrency, a foreign
language interface, multi-parameter type classes, scoped type
variables, existential and universal quantification, unboxed types,
exceptions, weak pointers, and so on. GHC comes with a generational
garbage collector, and a space and time profiler. Haskell 98 is
a superset of Haskell 1.4
|
|---|
-
Conformance:
|
|
|---|
-
Reference:
|
Papers at ftp.dcs.glasgow.ac.uk (only) in pub/glasgow-fp,
"Imperative functional programming",
Peyton Jones & Wadler, POPL '93
"Unboxed data types as first-class citizens",
Peyton Jones & Launchbury, FPCA '91
"Profiling lazy functional languages",
Sansom & Peyton Jones, Glasgow workshop '92
"Implementing lazy functional languages on stock hardware",
Peyton Jones, Journal of Functional Programming, Apr 1992
|
|---|
-
Features:
|
- An extensible I/O system is provided, based on a "monad"
- Extensive Optimisation
- Built-in Profiling
- In-line C code
- Fully fledged unboxed data types
- Incrementally-updatable arrays
- Mutable reference types
- Concurrent Haskell
- Generational garbage collector
|
|---|
-
Bugs:
|
<glasgow-haskell-bugs@dcs.glasgow.ac.uk>
|
|---|
-
Requires:
|
GNU C 2.1+, perl
|
|---|
-
Ports:
|
solid: Sun4, Solaris2, Linux, FreeBSD, NetBSD, Windows 9X/NT, HP-UX 9 & 10
|
|---|
-
Portability:
|
should be high
|
|---|
-
Contact:
|
<glasgow-haskell-request@dcs.glasgow.ac.uk>
|
|---|
-
Updated:
|
2000/01/28
|
|---|
-
Language:
|
Gofer (Haskell derivative)
|
|---|
-
Package:
|
Gofer
|
|---|
-
Version:
|
2.30
|
|---|
-
Parts:
|
interpreter, compiler(->C), documentation, examples
|
|---|
-
Author:
|
Mark Jones <jones-mark@cs.yale.edu>
|
|---|
-
Location:
|
|
|---|
-
Description:
|
Gofer is based quite closely on the Haskell programming
language, version 1.2. It supports lazy evaluation, higher
order functions, pattern matching, polymorphism, overloading
etc and runs on a wide range of machines.
|
|---|
-
Conformance:
|
Gofer does not implement all of Haskell, although it is
very close.
|
|---|
-
Ports:
|
many, including Sun, PC, Mac, Atari, Amiga, FreeBSD
|
|---|
-
Status:
|
maintained but not developed (for a while anyway)
|
|---|
-
Updated:
|
June 10th, 1994
|
|---|
-
Language:
|
IFP (Illinois Functional Programming)
|
|---|
-
Package:
|
ifp
|
|---|
-
Version:
|
0.5
|
|---|
-
Parts:
|
interpreter
|
|---|
-
Author:
|
Arch D. Robison <robison@shell.com>
|
|---|
-
Location:
|
comp.sources.unix archive volume 10
|
|---|
-
Description:
|
A variant of Backus' "Functional Programming" language
with a syntax reminiscent of Modula-2. The interpreter
is written in portable C.
|
|---|
-
Reference:
|
Arch D. Robison, "Illinois Functional Programming: A
Tutorial," BYTE, (February 1987), pp. 115--125.
Arch D. Robison, "The Illinois Functional
Programming Interpreter," Proceedings of 1987 SIGPLAN
Conference on Interpreters and Interpretive Techniques,
(June 1987), pp. 64-73
|
|---|
-
Ports:
|
Unix, MS-DOS, CTSS (Cray)
|
|---|
-
Updated:
|
?
|
|---|
-
Language:
|
ML
|
|---|
-
Package:
|
LML
|
|---|
-
Version:
|
?
|
|---|
-
Parts:
|
compiler(?), interactive environment
|
|---|
-
Author:
|
?
|
|---|
-
Location:
|
ftp://animal.cs.chalmers.se/pup/haskell/chalmers/*
|
|---|
-
Description:
|
lazy, completely functional variant of ML.
|
|---|
-
Ports:
|
?
|
|---|
-
Contact:
|
?
|
|---|
-
Updated:
|
July 6th, 1992
|
|---|
-
Language:
|
Standard ML
|
|---|
-
Package:
|
Moscow ML
|
|---|
-
Version:
|
1.30
|
|---|
-
Parts:
|
bytecode compiler, runtime, libraries, documentation
|
|---|
-
Author:
|
Sergei Romanenko <sergei-romanenko@refal.msk.su>
|
|---|
-
Location:
|
ftp://ftp.dina.kvl.dk/pub/mosml/
|
|---|
-
Description:
|
Moscow SML provides a light-weight implementation of the
Standard ML Core language, a strict functional language widely
used in teaching and research.
Moscow SML is particularly suitable for teaching and
experimentation, where fast compilation and modest storage
consumption are more important than fast program execution.
Thanks to the efficient run-time system of Caml Light, Moscow
SML compiles fast and uses little memory. Typically it uses
5-10 times less memory than SML/NJ and 2-3 times less than
Edinburgh ML. Yet the bytecode is only 3 to 12 times slower
than SML/NJ 0.93 compiled native code (fast on PCs, slower on
RISCs).
Moscow SML implements arithmetic exceptions, and thus deals
with the entire Core language.
|
|---|
-
Requires:
|
Caml Light 0.61
|
|---|
-
Ports:
|
anything Caml Light supports
|
|---|
-
Updated:
|
September 30th, 1994
|
|---|
-
Language:
|
BNF (yacc), Standard ML
|
|---|
-
Package:
|
New SML-Yacc and SML-Lex
|
|---|
-
Version:
|
??
|
|---|
-
Parts:
|
??
|
|---|
-
Author:
|
Andrew Appel <appel@tyrolia.princeton.edu>
|
|---|
-
Location:
|
princeton.edu/pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
|
|---|
-
Description:
|
??
|
|---|
-
Updated:
|
May 23rd, 1994
|
|---|
-
Language:
|
OPAL
|
|---|
-
Package:
|
ocs
|
|---|
-
Version:
|
2.1e
|
|---|
-
Parts:
|
compiler(->C), interpreter, translator,
library, documentation, examples,
tutorial, run-time.
|
|---|
-
Author:
|
The OPAL Group at Technical Univ. of Berlin.
<opal@cs.tu-berlin.de>
|
|---|
-
Location:
|
|
|---|
-
Description:
|
The language OPAL has been designed as a testbed
for the development of functional programs. Opal
molds concepts from Algebraic Specification and
Functional Programming, which shall favor the
(formal) development of (large) production-quality
software that is written in a purely functional
style.
The core of OPAL is a strongly typed, higher-order,
strict applicative language which belongs to the
tradition of HOPE and ML. The algebraic flavour of
OPAL shows up in the syntactical appearance and
the preference of parameterization to polymorphism.
|
|---|
-
Reference:
|
ftp://ftp.tu-berlin.de:/pub/local/uebb/papers/DesignImplOpal.ps.gz
|
|---|
-
Features:
|
In the latest "pseudoknot" benchmark, its performance falls
in the top group of the functional languages tested. Orders
of magnitude faster than the interpreted fps.
|
|---|
-
Bugs:
|
Report bugs to opal-bugs@cs.tu-berlin.de
|
|---|
-
Restriction:
|
Constructors cannot have more then 24 components.
|
|---|
-
Requires:
|
gcc 2.x + gnu make 3.64 or better.
|
|---|
-
Ports:
|
Most unix( SPARCs, DECstations, NeXTs, PC-Linux,
HP7xx).
|
|---|
-
Portability:
|
Very portable,one just needs to find out which compiler
switches are needed.
|
|---|
-
Status:
|
active, supported.
|
|---|
-
Discussion:
|
opal-discussion@cs.tu-berlin.de
|
|---|
-
Help:
|
opal@cs.tu-berlin.de
|
|---|
-
Support:
|
opal@cs.tu-berlin.de
opal-bugs@cs.tu-berlin.de
|
|---|
-
Announcements:
|
opal-announce@cs.tu-berlin.de
|
|---|
-
Contact:
|
opal@cs.tu-berlin.de
|
|---|
-
Updated:
|
August 1st, 1995
|
|---|
-
Language:
|
PFL (Persistant Functional Language)
|
|---|
-
Package:
|
pfl
|
|---|
-
Version:
|
0.1
|
|---|
-
Parts:
|
?, documentation, libraries
|
|---|
-
Author:
|
Carol Small <carol@dcs.bbk.ac.uk>
|
|---|
-
Location:
|
ftp://ftp.demon.co.uk/pub/linux/?
|
|---|
-
Description:
|
PFL is a computationally complete database environment
|
|---|
-
Restriction:
|
GNU General Public License
|
|---|
-
Requires:
|
GNU C++
|
|---|
-
Contact:
|
Tim Holmes <timh@psammead.demon.co.uk>
|
|---|
-
Updated:
|
June 1st, 1994
|
|---|
-
Language:
|
BNF ?, Gofer
|
|---|
-
Package:
|
Ratatosk (?)
|
|---|
-
Version:
|
?
|
|---|
-
Parts:
|
parser generatr (Gofer)
|
|---|
-
Author:
|
Torben AEgidius Mogensen <torbenm@diku.dk>
|
|---|
-
Location:
|
ftp://ftp.diku.dk/pub/diku/dists/Ratatosk.tar.Z
|
|---|
-
Description:
|
Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
that generates purely functional parsers (also in Gofer). Even
though the sematic value of a production is a function of the
attributes of its right-hand side (and thus apparently purely
synthesized), inherited attributes are easily simulated by
using higher order functions.
|
|---|
-
Ports:
|
?
|
|---|
-
Updated:
|
?
|
|---|
-
Language:
|
SAOL, SASL (the MPEG-4 Structured Audio Orchestra Language and Structured Audio Score Language)
|
|---|
-
Package:
|
saolc
|
|---|
-
Version:
|
0.5
|
|---|
-
Parts:
|
parser, interpreter, grammar, core opcode implementation
|
|---|
-
Author:
|
Eric Scheirer, MIT Media Laboratory
|
|---|
-
Location:
|
http://sound.media.mit.edu/~eds/mpeg4
|
|---|
-
Description:
|
SAOL is an audio processing and digital synthesis and effects
language. It is part of the MPEG-4 standard, and allows the
flexible description of synthesizers and effects-processing
algorithms within than toolset.
SAOL is historically related to Csound and other "Music N"
languages, but is more flexible and easy to use than these.
While maintaining features such as the instrument/score
distinction and dual-rate processing, it adds user-defined
opcodes, more well-defined rate semantics, more lexical
flexibility, and an improved syntax.
|
|---|
-
References:
|
forthcoming
|
|---|
-
Conformance:
|
This implementation is being developed as the official
Reference Software for the Structured Audio component of
ISO 14496 (MPEG-4).
|
|---|
-
Features:
|
- -
non-real time performance (unless your machine is much faster than my SGI Octane)
- +
implements user-defined opcodes as macro expansion
- +
standalone mode as well as bitstream processing
|
|---|
-
Bugs:
|
many known and being worked on.
|
|---|
-
Restrictions:
|
source code is released to the public domain
|
|---|
-
Requires:
|
C compiler only; lex/yacc to rebuild parser
not much fun without audio capability
|
|---|
-
Ports:
|
At least SGI, Alpha, NT, Win95, Linux, and SunOS systems
|
|---|
-
Portability:
|
Word length and byte-order independent
|
|---|
-
Status:
|
Under active development
|
|---|
-
Discussion:
|
saol-dev-request@media.mit.edu to be added to the SAOL developers' mailing list
|
|---|
-
Help:
|
Eric Scheirer <eds@media.mit.edu>
|
|---|
-
Support:
|
Eric Scheirer <eds@media.mit.edu>
|
|---|
-
Announcements:
|
http://sound.media.mit.edu/~eds/mpeg4 and the mailing list
|
|---|
-
Contact:
|
Eric Scheirer <eds@media.mit.edu>
|
|---|
-
Updated:
|
07/1997
|
|---|
-
Language:
|
Standard ML
|
|---|
-
Package:
|
SML/NJ (Standard ML of New Jersey)
|
|---|
-
Version:
|
0.93
|
|---|
-
Parts:
|
compiler, libraries, extensions, interfaces, documentation,
build facility
|
|---|
-
Author:
|
D. B. MacQueen <dbm@research.att.com>, Lal George
<george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>,
A. W. Appel <appel@princeton.edu>
|
|---|
-
Location:
|
ftp://research.att.com/dist/ml/*
|
|---|
-
Description:
|
Standard ML is a modern, polymorphically typed, (impure)
functional language with a module system that supports flexible
yet secure large-scale programming. Standard ML of New Jersey
is an optimizing native-code compiler for Standard ML that is
written in Standard ML. It runs on a wide range of
architectures. The distribution also contains:
- an extensive library - The Standard ML of New Jersey Library,
including detailed documentation.
- CML - Concurrent ML
- eXene - an elegant interface to X11 (based on CML)
- SourceGroup - a separate compilation and "make" facility
CML, eXene and SourceGroup not in the Macintosh port, but the
Mac port has a built-in editor.
|
|---|
-
Ports:
|
M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh, OS/2
|
|---|
-
Updated:
|
Febuary 18th, 1993
|
|---|
-
Language:
|
Standard ML
|
|---|
-
Package:
|
sml2c
|
|---|
-
Version:
|
?
|
|---|
-
Parts:
|
compiler(->C), documentation, tests
|
|---|
-
Author:
|
School of Computer Science, Carnegie Mellon University
|
|---|
-
Location:
|
|
|---|
-
Description:
|
sml2c is a Standard ML to C compiler. sml2c is a batch
compiler and compiles only module-level declarations,
i.e. signatures, structures and functors. It provides
the same pervasive environment for the compilation of
these programs as SML/NJ. As a result, module-level
programs that run on SML/NJ can be compiled by sml2c
without any changes. Based on SML/NJ version 0.67 and shares
front end and most of its runtime system, but does not support
SML/NJ style debugging and profiling.
|
|---|
-
Conformance:
|
superset
- first-class continuations,
- asynchronous signal handling
- separate compilation
- freeze and restart programs
|
|---|
-
Ports:
|
IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
|
|---|
-
Portability:
|
easy, easier than SML/NJ
|
|---|
-
Contact:
|
david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu
peter.lee@cs.cmu.edu
|
|---|
-
Updated:
|
June 27th, 1991
|
|---|
-
Language:
|
Concurrent Clean
|
|---|
-
Package:
|
The Concurrent Clean System
|
|---|
-
Version:
|
1.3.1
|
|---|
-
Parts:
|
development environment, documentation, compiler(byte-code),
compiler(native), interpreter(byte-code), examples
|
|---|
-
Author:
|
Research Group on Functional Languages,
Research Institute for Declarative Systems,
University of Nijmegen
|
|---|
-
Location:
|
http://www.cs.kun.nl/~clean/
http://www.stw.nl/projecten/N/nif3059.html
|
|---|
-
Description:
|
The Concurrent Clean system is a programming environment for
the lazy functional language Concurrent Clean, developed at the
University of Nijmegen, The Netherlands. The system is one of
the fastest implementations of functional languages available
at the moment. Its I/O libraries make it possible to do modern,
yet purely functional I/O (including windows, menus, dialogs
etc.). Concurrent Clean is now a commercial product but it is
still free for non-commercial use.
- lazy and purely functional
- partial strict data types
- strongly typed - based on Milner/Mycroft scheme
- existential types
- uniqueness types
- type classes and type constructor classes
- record types
- module structure
- modern I/O
- programmer-infulenced evaluation order by annotations
- parallel and distributed evaluation
|
|---|
-
Ports:
|
Macintosh, PowerMac (native), Sun-4, Linux, OS2
|
|---|
-
Contact:
|
clean@cs.kun.nl
|
|---|
-
Updated:
|
January 3rd, 1999
|
|---|
-
Language:
|
Standard ML
|
|---|
-
Package:
|
The ML Kit
|
|---|
-
Version:
|
1
|
|---|
-
Parts:
|
interprter, documentation
|
|---|
-
Author:
|
Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>,
and Lars Birkedal at Edinburgh and Copenhagen Universities.
|
|---|
-
Location:
|
|
|---|
-
Description:
|
The ML Kit is a straight translation of the Definition of
Standard ML into a collection of Standard ML modules. For
example, every inference rule in the Definition is translated
into a small piece of Standard ML code which implements it. The
translation has been done with as little originality as
possible - even variable conventions from the Definition are
carried straight over to the Kit. The Kit is intended as a
tool box for those people in the programming language community
who may want a self-contained parser or type checker for full
Standard ML but do not want to understand the clever bits of a
high-performance compiler. We have tried to write simple code
and modular interfaces.
|
|---|
-
Updated:
|
March 12th, 1993
|
|---|
-
Language:
|
SISAL 1.2
|
|---|
-
Package:
|
The Optimizing SISAL Compiler
|
|---|
-
Version:
|
12.9+
|
|---|
-
Parts:
|
compiler, manuals, documentation, examples, debugger,
user support
|
|---|
-
Author:
|
Thomas M. DeBoni <deboni@sisal.llnl.gov>
|
|---|
-
Location:
|
ftp://sisal.llnl.gov/pub/sisal
|
|---|
-
Description:
|
Sisal is a functional language aimed at parallel numerical and
scientific programming. It provides Fortran-like performance
(or better), automatic parallelism, and excellent portability.
It is an easy language to learn and use; Sisal programs tend
to be easier to read and understand than those in other
functional or parallel languages. The Optimizing Sisal
Compiler, OSC, allows efficient use of machine resources
during serial or parallel execution, and guarantees
determinate results under any execution environment.
|
|---|
-
Ports:
|
Unix, Cray-2 Y-MP & C-90 and Convex Sequent and SGI,
Sun/Sparc, Vax, HP, PC, Mac
|
|---|
-
Portability:
|
Can run on many Unix machines, shared-memory machines,
workstations or personal computers.
|
|---|
-
Reference:
|
http://www.llnl.gov/sisal
|
|---|
-
Updated:
|
July 15th, 1994
|
|---|
-
Language:
|
Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
|
|---|
-
Package:
|
Tim Budd's C++ implementation of Kamin's interpreters
|
|---|
-
Version:
|
?
|
|---|
-
Parts:
|
interpretors, documentation
|
|---|
-
Author:
|
Tim Budd <budd@cs.orst.edu>
|
|---|
-
Location:
|
? ftp://cs.orst.edu/pub/budd/kamin/*.shar
|
|---|
-
Description:
|
a set of interpretors written as subclasses based on
"Programming Languages, An Interpreter-Based Approach",
by Samuel Kamin.
|
|---|
-
Requires:
|
C++
|
|---|
-
Status:
|
?
|
|---|
-
Contact:
|
Tim Budd <budd@fog.cs.orst.edu>
|
|---|
-
Updated:
|
September 12th, 1991
|
|---|
-
Language:
|
LIFE (Logic, Inheritance, Functions, and Equations)
|
|---|
-
Package:
|
Wild_LIFE
|
|---|
-
Version:
|
first-release
|
|---|
-
Parts:
|
interpreter, manual, tests, libraries, examples
|
|---|
-
Author:
|
Paradise Project, DEC Paris Research Laboratory.
|
|---|
-
Location:
|
ftp://gatekeeper.dec.com/pub/plan/Life.tar.Z
|
|---|
-
Description:
|
LIFE is an experimental programming language with a
powerful facility for structured type inheritance. It
reconciles styles from functional programming, logic
programming, and object-oriented programming. LIFE
implements a constraint logic programming language with
equality (unification) and entailment (matching)
constraints over order-sorted feature terms. The
Wild_LIFE interpreter has a comfortable user interface
with incremental query extension ability. It contains
an extensive set of built-in operations as well as an X
Windows interface.
|
|---|
-
Conformance:
|
semantic superset of LOGIN and LeFun. Syntax is similar
to prolog.
|
|---|
-
Bugs:
|
life-bugs@prl.dec.com
|
|---|
-
Ports:
|
MIPS-Ultrix
|
|---|
-
Portability:
|
good in theory
|
|---|
-
Discussion:
|
life-request@prl.dec.com
|
|---|
-
Contact:
|
Peter Van Roy <vanroy@prl.dec.com>
|
|---|
-
Updated:
|
December 14th, 1992
|
|---|
-
Language:
|
Haskell
|
|---|
-
Package:
|
Yale Haskell
|
|---|
-
Version:
|
2.1
|
|---|
-
Parts:
|
compiler, documentation, reference manual (dvi format)
|
|---|
-
Author:
|
Yale Haskell project <haskell-request@cs.yale.edu>
|
|---|
-
Location:
|
|
|---|
-
Description:
|
?
|
|---|
-
Features:
|
X-window interface, available at the Haskell level too.
|
|---|
-
Requires:
|
CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or
Harlequin LispWorks
|
|---|
-
Ports:
|
SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3
|
|---|
-
Discussion:
|
-
|
haskell-request@cs.yale.edu
|
|---|
-
europe:
|
haskell-request@dcs.glasgow.ac.uk
|
|---|
|
|---|
-
Contact:
|
haskell-request@cs.yale.edu
|
|---|
-
Updated:
|
July 29th, 1994
|
|---|
|
|