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.