world as value

Erik Zuurbier F.S.A.Zuurbier@inter.nl.net
Tue, 27 Jul 1999 10:59:40 +0200


Adrian Hey wrote:
>On Thu 22 Jul, Fergus Henderson wrote:
>> Yes, we really have referential transparency with world as value.
>> That is demonstated by my earlier lengthy posts explaining how you can model
>> "world as value" programs as functions from sequences of input events
>> to sequences of output events.
>
>Oh well, it seems I'm in a minority of one again. This is not an unusual
>situation for me :-)

A lot of this discussion seems to be about whether or not something is
referentially transparent. I don't have a definition handy, but my humble
opinion is that referential transparency is a property of _programming
languages_, namely that multiple references to an object yield the same
value. Clean has to do some tricks to get there. For instance, if a file
changes, in Clean terms it simply becomes a different object, even though
it occupies the same space on the hard disk. This modest scope of the term
already represents a very handy property that makes it a lot easier to
prove program properties

I think referential transparency has nothing to claim about executables, or
about the way several executables work together, or if an executable is run
several times with similar *Worlds as input, about how similar their
outputs should be.

To those who want to extend the term referential transparency to cover
these aspects also, I suggest that they coin and define a new term, so
endless yes! no! discussions can be avoided.

Regards Erik Zuurbier