ANN: H98 FFI Addendum 1.0, Release Candidate 7
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Sun Sep 22 00:54:44 EDT 2002
Ross Paterson <ross at soi.city.ac.uk> wrote,
> Alastair Reid <alastair at reid-consulting-uk.ltd.uk> wrote:
> > I guess the issue is that if someone wanted to use MarshalAlloc.free
> > as a finalizer they would not be able to do so. Since we don't
> > guarantee that MarshalAlloc.malloc is "stdio.h malloc", they couldn't
> > portably cons up a compatible &free.
> Yes, you're trying to recover something that was lost with the change
> to newForeignPtr. Formerly one could allocate something with malloc
> or mallocArray and add a finalizer that called free. Now you can't,
> except in the canned special case of mallocForeignPtr. But there's
> nothing similar for arrays, as required e.g. in Data.Array.Storable.
I think SimonM and Ross have a point here. There isn't
really anything gained from linking `MarshalAlloc.malloc' up
with a C version of `MarshalAlloc.free'. So, I think we
should leave it as it is.
More information about the FFI