Miranda - release two
---------------------
Miranda is a modern functional programming
language designed by
Professor David Turner of the University of Kent, with lazy evaluation,
polymorphic strong typing, and a powerful module
system. A program
written in Miranda is typically 10
to 20 times shorter than the
corresponding program in PASCAL or C. The main features of Miranda
are:
* purely functional - no
side effects
* higher order - supports
functional data
* lazy - supports non strict
functions and infinite data objects
* list comprehensions
* polymorphic strong typing
* abstract data types and
modules
The built in types of the language are numbers (unbounded size
integers
and double precision floating point), characters,
lists, tuples, and
functions. User defined types with arbitrary
substructure can be
introduced by writing type equations (so called `algebraic data types').
The language also has abstract data types and a simple
but powerful
module system with full type security across module boundaries.
There is an article by David Turner giving a concise but fairly complete
overview of Miranda in the December 86 issue of SIGPLAN
Notices. (If
you do not have convenient access to this we can send you an
electronic
copy of the paper.)
By way of a very brief example of Miranda style, here is a definition
of
the list of all prime numbers (an infinite
data structure) using the
sieve of Eratosthenes
primes = sieve [2..]
where
sieve (p:x) = p : sieve [n | n<-x ; n mod p > 0]
The expression in square brackets is called a `list comprehension' -
it
means "list of all n such that n drawn from x and n mod p > 0".
An excellent textbook recommended for use with Miranda is
``Introduction to Functional
Programming''
- by Richard Bird and Philip
Wadler
- Prentice Hall
Computer Science Series, March 1988.
ISBN 13-484189-1
(cloth)
ISBN 13-484197-2
(paper)
This book is based on teaching experience at Oxford University, England,
where students are taught functional programming in their first
course.
The notation used in the book is closely based on Miranda.
Other Miranda text books are
Ian Holyer ``Functional Programming
with Miranda'', Pitman 1991
(ISBN 0-273-03453-7).
Clack, Myers & Poon ``Programming with Miranda'',
Prentice Hall, Oct
1994 (ISBN 013 192 592X).
S.J.Thompson ``Miranda: The Craft
of Functional Programming'',
Addison Wesley, May 1995 (ISBN 0 201 42279 4).
Miranda was awarded a medal for Technical Achievement by
the British
Computer Society (BCS Awards, 1990).
The Miranda system provides a self-contained interactive
programming
environment, running under UNIX.
The Miranda compiler works in
conjunction with a screen editor (which can be vi or any editor
of the
user's choice). The type system enables a high proportion
of semantic
errors to be detected at compile time.
There is an online reference manual which documents all aspects
of the
Miranda system, and a built in `make' feature which automatically
keeps
object code files up-to-date with their sources. The current
version of
the compiler generates an intermediate code based on combinatory
logic,
which is executed by a fast interpreter.
Release Information
-------------------
The Miranda system has been developed by Research
Software Ltd, of
Canterbury, England, a company formed to develop
advanced functional
programming systems. The Miranda system has been extensively
tested and
is running at 600 sites including 250 universities.
The system is distributed in object code form and is available
for the
following machines under UNIX - VAX,
SUN 3, SUN 4/Sparc, SUN 386i,
DECstation, MIPS, Apollo, Sequent Symmetry, Sequent
Balance, Silicon
Graphics, Encore Multimax, IBM RS6000,
HP 9000 series, Mac II under
A/UX, NeXT, Dec Alpha. Ports to other UNIX systems are negotiable.
The distribution tape includes the online manual (from which a
printed
manual can be created if required) and a collection of example programs.
Educational license fees (excluding value added tax) are: 460 pounds
for
one cpu, 800 pounds for a network license for up to eight cpu's
of same
type, 1600 pounds for unlimited cpu's of one type.
(Different prices
apply in USA: $399 for one cpu, $1360 for unlimited cpu's of one type.)
Please enquire for commercial license fees.
|----------------------------------------------------------------------
| There is also a version of Miranda for Linux. This has different
| pricing including a special student price of 49 uk or 75 usa -
| please ask for details.
|----------------------------------------------------------------------
To obtain further information and/or license forms please send a message
including your postal address to the email address
mira-request@ukc.ac.uk
or write to
Research Software Limited
23 St Augustines Road
Canterbury
Kent CT1 1XP
ENGLAND
telephone: +44 1227 471844 (callers in UK should dial 0 instead of 44)
fax: +44 1227 454458