dat%ukc.ac.uk@CS.UCL.AC.UK (02/01/86)
From: dat%ukc.ac.uk@cs.ucl.ac.uk MIRANDA 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.)) David Turner