[Haskell-cafe] Linking and unsafePerformIO
jules at jellybean.co.uk
Tue Oct 14 17:14:40 EDT 2008
David Roundy wrote:
> On Tue, Oct 14, 2008 at 05:20:35PM +0100, Jules Bean wrote:
>> Running a program on a different interpreter or compiler had better
>> not change its denotation, otherwise it [the denotation] is not much
>> use as a basis for reasoning.
> But you're saying above that we can't change programs, right? You
> probably won't be surprised to hear that different compilers are
> different programs. And different packages are also different
> programs. Are you the only one who's allowed to fix bugs?
No. I think we must be at cross purposes.
I'm saying that we can change programs, and that changes their
denotation, and that's fine, and anyone can do that. But the denotation
of a program is supposed to be something independent of a particular
compiler or OS or MAC address or RAM size or any of the millions of
other things which probably don't change during the single run of a program.
Putting these things into the IO monad is not an abuse of the IO monad.
It is simply an acknowledgement that they are runtime things, and not
More information about the Haskell-Cafe