[comp.lang.misc] Pointers & Aliases: What about Euclid?

icsu8209@attila.cs.montana.edu (Glassy) (10/16/90)

The recent discussion on living with or without pointers has
been very informative.  My thanks go to all contributors.

Even so, I'm a bit puzzled.  I thought the problems of pointers 
and aliasing had been addressed (and beat into submission) years
ago, by the designers of Euclid.

In Euclid, aliasing is forbidden.  Pointers do exist, in the form of
'collections'.  All aliasing must be detected at compile-time, or, for
the situations where this cannot be guaranteed, the compiler must
generate 'legality assertions' which an automated verifier will test...

(I dimly remember there being a case where 'unspeakable assertions' ---
unprovable assertions --- would be generated; it seemed to me, though,
that inclusion of Algol-68's 'conformity clause' (suitably modified
to work with variant records, instead of Algol's unions) might have
tamed even these.)

Perhaps I've grossly misinterpreted the intent of the  designers of
Euclid, but it seems that rather than try to incorporate -all- language
features of -any- (much,some,little) utility, the designers chose to 
to keep -only- those features that -didn't- blatantly  hinder the goal
of program correctness and verifiability.  Pointers, in a tamed form,
were kept; aliasing was not.  Does this mean Euclid was (is) incapable
of doing some tasks gracefully?  Probably it does... still, as an
experiment in trying to make software more correct (and hopefully,
cheaper to maintain), Euclid looked to me like a splendid experiment.

Question:  what happened to Euclid?  I heard there was a later
development (Concurrent Euclid) (Euclid + processes), and then a
language called Turing...  Could one or more of the gentlefolk at 
the University of Toronto comment?

thanks,

Lou Glassy (icsu8209@caesar.cs.montana.edu)
----------------------------------------------------------------------
p.s. my opinions/observations may safely be taken with a grain of salt,
since i'm a c.s. undergrad (and not terribly wise on many things)...
----------------------------------------------------------------------