[C2hs] help a newbie?
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Thu Feb 22 15:57:07 EST 2007
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
More information about the C2hs
mailing list