Random numbers

Richard Lobb richard@cs.auckland.ac.nz
Fri, 15 Dec 1995 10:37:55 +1200


At 10:09 pm 12/14/95, Simon B Jones wrote:
>Ref transp guarantees that such changes [optimizations and transformations]
>do not alter program behaviour - in
>software engineering considerations, I would say that that is a property we
>must not sacrifice!

I appreciate the beauty of referential transparency, but as I explained in an
earlier posting, it can be a real nuisance in practical contexts. Is it not
possible to have controlled loss of referential transparency? Can you not
provide facilities in functional languages that let me use non-ref transp
functions if I really want to, on the understanding that by doing so I will
significantly reduce the range of optimisations that the compiler can
perform? [I assume it's possible for the compiler to propagate the non
ref transp property, and disable optimisations that are not legitimate
in the abence of referential transparency.]


-- Richard
----------------------------------------------------------
Richard Lobb
Senior Lecturer, Department of Computer Science
University of Auckland
e:mail: richard@cs.auckland.ac.nz  or r.lobb@cs.auckland.ac.nz
www: http://www.cs.auckland.ac.nz/~richard
----------------------------------------------------------