Skip to content

User Guide

bsammon edited this page Aug 2, 2017 · 7 revisions

Manuel Chakravarty (
November 2007

c2hs 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 c2hs, which is at However, this paper does not cover the more recent advanced features such as function hooks and conditional compilation.


c2hs is Copyright © (1999-2005) Manuel M. T. Chakravarty

You can’t perform that action at this time.