Random numbers

John Williams williams@almaden.ibm.com
Thu, 14 Dec 95 15:05:07 PST


Richard Lobb asks...
> ...... 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.]

  The optimizer for the (strict) functional language FL was designed to
do this....you may want to read ``Safe: A semantic technique for transforming
programs in the presence of errors''  ACM TOPLAS Vol 17, Num 1, Jan 1995.