Re: Language design question

Robert A Duff <world!bobduff@uunet.uu.net>
25 Mar 2000 02:37:41 -0500

          From comp.compilers

Related articles
[6 earlier articles]
Re: Language design question joachim.durchholz@halstenbach.com.or.de (Joachim Durchholz) (2000-02-17)
Re: Language design question kst@cts.com (Keith Thompson) (2000-02-19)
Re: Language design question thp@roam-thp2.cs.ucr.edu (Tom Payne) (2000-02-19)
Re: Language design question Andrew.Walker@nottingham.ac.uk (Dr A. N. Walker) (2000-02-27)
Re: Language design question hannah@mamba.pond.sub.org (2000-03-21)
Re: Language design question frederic_guerin@yahoo.com (Frederic) (2000-03-25)
Re: Language design question world!bobduff@uunet.uu.net (Robert A Duff) (2000-03-25)
| List of all articles for this month |

From: Robert A Duff <world!bobduff@uunet.uu.net>
Newsgroups: comp.compilers
Date: 25 Mar 2000 02:37:41 -0500
Organization: The World Public Access UNIX, Brookline, MA
References: 00-02-065 00-02-066 00-02-140 00-03-086
Keywords: design, types

hannah@mamba.pond.sub.org (Hannah Schroeter) writes:


> But it doesn't have to be a pain in the neck. Just consider ML for
> contrast. As it's a (mostly) functional language, it has pure values
> (no mutation, thus no dereferences needed) and variables (called
> references in ML) which are initialized on creation (val ref : 'a ->
> 'a ref) and are retrieved with an explicit dereference operator (val
> (!) : 'a ref -> 'a) and written with a special assignment operator
> (val (:=) : 'a ref -> 'a -> unit). As you use references only when you
> need imperative mutation, the program is usually not very cluttered
> with dereferences/assignments.


More importantly, ML's type checking ensures that you don't
accidentally put in one too many or one too few dereferences. The
problem with Bliss is that there's no type checking.


- Bob


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.