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.

Manuel



More information about the FFI mailing list