[Haskell] Re: Global Variables and IO initializers
David Sabel
sabel at ki.informatik.uni-frankfurt.de
Sat Nov 6 08:57:05 EST 2004
Keean Schupke wrote:
> David Sabel wrote:
>
>> The main reason is: Nobody asks for it.
>
>
> Actually I think Simon Marlow has talked in the past about wanting
> to make GHC only do safe optimisations on unsafePerformIO.
>
>>
>> I conjecture, a problem is:
>> if you use FUNDIO as a semantics for Haskell, you have to give up
>> referential transparency in the strong sense. FUNDIO-programs are
>> only referential transparent with respect to the defined contextual
>> equivalence.
>>
>> David
>
>
> Surely all programs are only referentialy transparent with regards to
> the defined contextual equivalence? (just there is only one notion of
> equivalence used so far)... What would the problem be with intoducing
> other notions of equivalence to cope with things like unique naming...
Perhaps something like this is possible, I don't know.
> After all you would only change the definition of equality for
> unsafePerformIO and not for any other function.
There's a problem: Other functions can call functions which make use of
unsafePerformIO. Maybe a dependency
analysis could a solution to split the parts of the program into one
part which is 'unsafe' and needs a special treatment and the other
'pure' part.
David
>
> Keean.
> _______________________________________________
> Haskell mailing list
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
More information about the Haskell
mailing list