dat@ukc.ac.uk (D.A.Turner) (02/01/86)
MIRANDA - PRODUCT ANNOUNCEMENT
--------------------------------
This is to inform anyone who may be interested that a UNIX
implementation of the Miranda functional programming system is now
available for the following machines: VAX (under 4.2 BSD), ORION, and
SUN workstations. It will be ported to a number of other UNIX machines
in the near future. The rest of this message contains a brief
description of the Miranda system, followed by information about how to
obtain it.
What is Miranda?
----------------
Miranda is an advanced functional programming language designed by David
Turner of the University of Kent. It is based on the earlier languages
SASL, KRC and ML. A program in Miranda is a set of equations describing
the functions and data structures which the user wishes to compute.
Programs written in Miranda are typically ten to twenty times shorter
than the equivalent programs in a conventional high level language such
as PASCAL. The main features of Miranda are:
1) Purely functional - no side effects
2) Higher order - functions can be treated as values
3) Infinite data structures can be described and used
4) Concise notation for sets and sequences ("zf expressions")
5) Polymorphic strong typing
The basic types of the language are numbers (integer and double
precision floating point), characters, booleans, lists, tuples, and
functions. In addition a rich variety of user-defined types may be
introduced by writing appropriate equations. A more detailed discussion
of the language may be found in "Miranda: a non-strict functional
language with polymorphic types", in Springer Lecture Notes in Computer
Science, vol 201.
The Miranda system is a self contained sub-system, running under UNIX.
The Miranda compiler works in conjunction with a screen editor (normally
this is `vi', but it is easy to arrange for this to be another editor if
preferred). Programs are automatically recompiled in response to source
edits and any syntax or type errors signalled immediately. The type
system enables a high proportion of semantic errors to be detected at
compile time. There is an online reference manual, which documents the
system at a level appropriate for someone already familiar with the main
ideas of functional programming (more tutorial material is in
preparation). Execution is by a fast interpreter, using an intermediate
code based on combinatory logic.
The Miranda system is a powerful tool, enabling complex applications to
be developed in a fraction of the time required in a conventional
programming system. Applications which have been developed in Miranda
include - compilers, theorem provers, and digital circuit simulation.
It is envisaged that the main uses of Miranda will be:
1) Teaching the concepts of functional programming
2) Rapid prototyping
3) As a specification language
4) For further research into functional programming
5) As a general purpose programming language
Release Information
-------------------
The Miranda system has been developed by Research Software Ltd. It is
distributed in object code form and is currently available for the
following machines - VAX (under 4.2BSD), ORION, SUN 2, SUN 3.
The license fee, per cpu, is 300 pounds for an educational license and
975 pounds for a commercial license (US prices: $450, $1450,
respectively). If you think you may be interested in obtaining a copy
of the Miranda system please send your name and (postal) address to the
following electronic mail address, and you will be sent further
information and a copy of the license form etc:
USENET: ...!mcvax!ukc!mira-request
JANET: mira-request@ukc.ac.uk
ARPANET: mira-request%ukc@ucl-cs
Or telephone Research Software on: 0227 471844 (omit the initial `0' if
calling from outside England)
If you are interested in obtaining Miranda on a different machine, or a
different version of Unix, from those listed above, it is also worth
mailing details of your situation, since future porting policy will be
largely determined by perceived demand. ((NB - UNIX systems only,
please.))
**END OF MESSAGE**