ANN: H98 FFI Addendum 1.0, Release Candidate 10
Ross Paterson
ross@soi.city.ac.uk
Tue, 27 May 2003 11:16:44 +0100
On Fri, May 23, 2003 at 07:33:05AM +1000, Manuel M T Chakravarty wrote:
> Dear Haskell Folks,
>
> Release Candidate 10 of the H98 FFI Addendum 1.0 is now
> available from
>
> http://www.cse.unsw.edu.au/~chak/haskell/ffi/
I have an ideological objection. I think that the inclusion of
unsafePerformIO in an Addendum sends entirely the wrong signal. I know
it's needed for marshalling for otherwise pure functions that pass their
data through pointers. Very well, but the inclusion of unsafePerformIO
allows many more uses. At a stroke it removes many of the trickiest
design problems of Haskell, and we can't have that.
I propose that the Addendum say that it permits unsafePerformIO for that
purpose only, i.e. the IO calls it contains are restricted to foreign
calls and functions from Storable and Marshal*, these may only access
Ptr's inaccessable outside the unsafePerformIO, and no other visible
side effects are permitted.