[comp.lang.functional] Miranda FTP sites

jwp@cacs.usl.edu (Jason W. Pritchard) (01/10/91)

	Are there any public domain versions of Miranda???
If so, what are the ftp sites???

	We have Sun, Vax and Pyramid Technolgies machines running
Berkley Unix 4.3 (and a few other versions).  Any help would be 
appreciated.

-Jason

torbenm@diku.dk (Torben [gidius Mogensen) (01/10/91)

jwp@cacs.usl.edu (Jason W. Pritchard) writes:


>	Are there any public domain versions of Miranda???

There most definitely is not. Miranda(TM) is a product from Research
Software Limited (or is that Limited Research Software? :-) and they
will happily sue anyone else selling a language with that name.

Orwell is virtually identical to Miranda. I don't know if it is public
domain, but it is definitely cheaper and faster than Miranda(TM).

A Miranda like language called RUFL was recently announced available
(on diskettes and soon by FTP) by cspw@quagga.ru.ac.za in this group.

Here at DIKU we have a compiler for a large subset of a Miranda like
language that compiles into Scheme. The compiler is based on partial
evaluation of an interpreter written in Scheme. It has, as yet, no
really good user interface.

	Torben Mogensen (torbenm@diku.dk)

kinnersley@kuhub.cc.ukans.edu (Bill Kinnersley) (01/11/91)

In article <1991Jan10.111559.12440@odin.diku.dk>, torbenm@diku.dk 
   (Torben [gidius Mogensen) writes:
:
[mentions several Miranda-like languages]
:
I've had exposure to some other functional languages (like ML) but not Miranda.
Other than being lazily evaluated, what sets it apart?

What makes a language Miranda-like?

-- 
--Bill Kinnersley

sestoft@diku.dk (Peter Sestoft) (01/11/91)

kinnersley@kuhub.cc.ukans.edu (Bill Kinnersley) writes:

>What makes a language Miranda-like?

The main difference between Miranda (TM) and Lazy ML is the syntax.
In Miranda the program lay-out has semantics: the off-side rule
determines where an expression ends, whereas (Lazy) ML has more
Pascal-like conventions, using semicolons similar punctuation.  (The
off-side rule was suggested by Peter Landin in the sixties).  This,
and the "list comprehension" notation makes (small) Miranda programs
very beautiful.  On the other hand, Miranda lacks the modules
(structures) and functors of Standard ML.  Also, Miranda is
implemented by compilation to a fixed set of combinators which are
then interpreted, and therefore execution is very slow.  But the
compiler gives much better (more comprehensible) type error messages
than the Chalmers Lazy ML compiler.

The off-side rule determines that the definition of g is a local to f in

	f x = g z
	      where z = 5
		    g y = 7

but global in

	f x = g z
	      where z = 5
	g y = 7

List comprehensions allow one to write concisely things that would
have to be expressed with combinations of map, filter, and concat,
otherwise.  Thus 
	[f x | xs <- xss; x <- xs; p x]
corresponds to
	concat (map ((map f) . (filter p)) xss)
which is less comprehensible (to me, at least).

Peter

-- 
Peter Sestoft  *  sestoft@diku.dk   *   DIKU,  Department of Computer Science
University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen O, Denmark
Tel: +45 31 39 64 66  *  Direct: +45 31 39 33 11/406  *  Fax: +45 31 39 02 21

lambert@spectrum.cs.unsw.oz.au (Tim Lambert) (01/12/91)

>>>>> On 11 Jan 91 10:00:48 GMT, sestoft@diku.dk (Peter Sestoft) said:

>  But the [Miranda]
> compiler gives much better (more comprehensible) type error messages
> than the Chalmers Lazy ML compiler.

My God!  What must Chalmers error messages be like!

Miranda abs -3
type error in expression
cannot unify num->num with num

Tim

rst@cs.hull.ac.uk (Rob Turner) (01/14/91)

Bill Kinnersley writes (about Miranda (TM :-)):

>Other than being lazily evaluated, what sets it apart?

Good question. I would assume you believe there are some wonderful
facilities in Miranda which just *cannot* be obtained in any of the
public domain functional languages. Never having used Miranda (TM),
but after reading lots about it in various books, I conclude that
there is nothing to set Miranda (TM) apart from languages such as SML
and Haskell. The people at Research Software Ltd *must* believe that
they have a unique language, there is no other explanation for their
reason to charge people for it. Maybe it runs a lot faster than SML
and Haskell, although I find this hard to believe as it has lazy
semantics.

Of course there is the argument of support and maintenance, which is
better provided for in commercial products. But are there really lots
of people using Miranda for large scale projects which depend
critically on a first class support (and who can't program their way
around any bugs :-))?

I would like to discover just how many copies of Miranda (TM) have
been sold. It would make interesting reading. Better still, what are
the figures for the number of users of all "modern" functional
languages, e.g. SML, Haskell, Miranda (TM), Hope, Orwell.

Rob