ANN: C->Haskell 0.8.1

Manuel M. T. Chakravarty chak@cse.unsw.edu.au
Mon, 19 Feb 2001 15:53:41 +1100


qrczak@knm.org.pl (Marcin 'Qrczak' Kowalczyk) wrote,

> Fri, 16 Feb 2001 18:42:08 +1100, Manuel M. T. Chakravarty <chak@cse.unsw.edu.au> pisze:
> 
> > I thought that I had fixed all this for Gtk+HS.  (In fact,
> > all Gtk+HS examples are running fine with GHC 4.08 on my
> > machine.)  Have a look at the file gtk+hs/gtk/ghcRtsAux.c.
> > It defines rts_mkPtr in a somewhat nasty way, but it works :-)
> 
> I've seen the hack, but on another box freshly installed ghc-4.08.2,
> c2hs from tarball and gtk+hs from tarball did not work (linker can't
> find rts_mkPtr). I must see if ghcRtsAux.c is compied at all there.

Strange - meanwhile, I have put release 0.10.4 out.  Among
other things, it finally has an `install' target.

> > PS: With the current Gtk+HS source in CVS, all Gtk+HS
> >     examples as well as the iHaskell library and its three
> >     examples should now all work again.  I tested it all on
> >     my machine.
> 
> ghc version check fails on 4.11 (it should be lexicographic comparison
> of version number components, not conjunction of independent
> comparisons).
> 
> Checking for buggy readXXXOffAddr (for ghc-4.03..4.06) is now
> unnecessary as gtk+hs requires ghc-4.08.1 anyway.

Ok, I fixed these.

> > PS: With the current Gtk+HS source in CVS, all Gtk+HS
> >     examples as well as the iHaskell library and its three
> >     examples should now all work again.
> 
> They compile but they don't run correctly on ghc-4.11. It's because
> GMarsh.writeCharOffAddr does not simulate Addr.writeCharOffAddr when
> Char is wide, because instance Storable Char treats Char as wide.
> You need to cast to CChar, Word8, or Int8 (be careful with sign
> extension).

`castCCharToChar' and `castCharToCChar' should be sufficient
here, right?  I have added them in the 0.10.4 release.

Thanks,
Manuel