Next Previous Contents

The Binding Generator C->Haskell

Manuel M. T. Chakravarty, chak@cse.unsw.edu.au

v0.22, 12 December 2005
C->Haskell is an interface generator that simplifies the development of Haskell bindings to C libraries. The tool processes existing C header files that determine data layout and function signatures on the C side in conjunction with Haskell modules that specify Haskell-side type signatures and marshaling details. Hooks embedded in the Haskell code signal access to C structures and functions -- they are expanded by the interfacing tool in dependence on information from the corresponding C header file. Another noteworthy property is the lightweight nature of the approach. More background information is available in a research paper discussing C->Haskell, which is at http://www.cse.unsw.edu.au/~chak/papers/papers.html#c2hs. However, this paper does not cover the more recent advanced features such as function hooks and conditional compilation.

Copyright & Distribution

Copyright (c) [1999..2005] by Manuel M. T. Chakravarty. The manual is distributed under the terms GNU Free Documentation License available from http://www.fsf.org/copyleft/fdl.html.

The master copy of this document is at http://www.cse.unsw.edu.au/~chak/haskell/c2hs/; the source is in SGML, which allows you to produce a selection of standard formats, including HTML and Postscript.

Contributions

If you have any comments, suggestions, or contributions, please send them to chak@cse.unsw.edu.au.

1. Installation

2. Implementation of Haskell Binding Modules

3. The Haskell FFI Marshalling Library

4. Bug Reports and Suggestions

5. Copyright

6. GNU Free Documentation License

7. Release Notes


Next Previous Contents