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..]
                 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

or write to
 Research Software Limited
 23 St Augustines Road
 Kent CT1 1XP

telephone: +44 1227 471844 (callers in UK should dial 0 instead of 44)
fax: +44 1227 454458