> * Someone writes a Hugs-based application that uses the
> Hugs FFI (with the help of Green Card); the application
> causes Hugs to load a shared object.
> * A user installs the said application and compiles the shared
> object with the current GreenCard.h
> * A new Hugs is released, which changes the binary interface
> of the FFI - in the process changing GreenCard.h
I may be missing something here, but the binary interface of
the FFI is defined by the calling convention in the 'foreign import'
declaration. So if my program says
foreign import stdcall "f" :: Int -> Int
then the binary interface will only change if the "stdcall" interface
changes. And stdcall (or the C interface, or Pascal, or whatever) are
not defined by us. For example, if Unix changes its calling convention
then indeed life is going to be difficult.
In short, upgrading Hugs shouldn't change the binary interface
offered by the FFI. Unless I'm missing somethign.
Simon
RE: Binary compatibility issues with Hugs FFI
Simon Peyton-Jones Thu, 26 Aug 1999 11:19:04 +0200 (MET DST)
- Binary compatibility issues with Hugs FFI Antti-Juhani Kaijanaho
- Re: Binary compatibility issues with Hugs FFI Simon Peyton-Jones
- Re: Binary compatibility issues with Hugs FFI Alastair Reid
- Re: Binary compatibility issues with Hugs FFI Antti-Juhani Kaijanaho
- Re: Binary compatibility issues with Hugs FFI Alastair Reid
- Re: Binary compatibility issues with Hugs FFI Antti-Juhani Kaijanaho
- Re: Binary compatibility issues with Hugs FFI Alastair Reid
- Re: Binary compatibility issues with Hugs FFI Antti-Juhani Kaijanaho
