
On Tue, 2007-02-20 at 20:40 -0500, Eric Sessoms wrote:
I'm working on a problem that looks, to my eye, identical to the example in section 2.10 of the documentation http://www.cse.unsw.edu.au/~chak/haskell/c2hs/docu/c2hs-2.html#ss2.10
--- cut here --- module Test where
#c typedef struct { int dummy; } fitsfile;
int ffclos(fitsfile *fptr, int *status); #endc
{# pointer *fitsfile as FitsFile newtype #}
{# fun ffclos { `FitsFile', `Int' } -> `Int' #} --- cut here --
But running c2hs I get an error message that I haven't been able to make use of:
Test.chs:13: (column 17) [ERROR]
Missing "in" marshaller! There is no default marshaller for this combination of Haskell and C type: Haskell type: FitsFile C type : (FitsFile)
I'm not sure if c2hs is supposed to work out the default marshaler automatically, you'd have to ask Manuel, but it does work if you specify the marshaler explicitly: {# fun ffclos { withFitsFile `FitsFile', `Int' } -> `Int' #} Duncan