[Haskell-cafe] FFI woes!
David Roundy
droundy at abridgegame.org
Wed Dec 15 06:04:37 EST 2004
On Wed, Dec 15, 2004 at 04:09:04AM +0100, Sebastian Sylvan wrote:
> FMUSIC_MODULE * F_API FMUSIC_LoadSong(
> const char *name
> );
>
> By doing this in Haskell:
>
> data MusicModule = MusicModule
>
> foreign import ccall "fmod.h FMUSIC_LoadSong" fmusic_LoadSong ::
> CString -> IO ForeignPtr MusicModule)
>
> I assume that this is how the ForeignPtr is meant to be used (with a
> dummy data type).
No, a ForeignPtr is a purely haskell object. The C function returns a
Ptr. You could create a ForeignPtr from the Ptr if you want it to be
automatically freed (calling somesort of FreeSong, presumably) when it gets
garbage collected.
--
David Roundy
http://www.darcs.net
More information about the Haskell-Cafe
mailing list