Monthly Downloads: 210
Programming language: Haskell
License: GNU General Public License v3.0 or later
Tags: Development    

c2hs alternatives and similar packages

Based on the "Development" category.
Alternatively, view c2hs alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of c2hs or a related project?

Add another 'Development' Package


Build Status

c2hs is a interfacing tool that eases Haskell access to C libraries. The tool gets information about the C data type definitions and function signatures by analysing the C header files of the library. It uses this information to compute the missing details in the template of a Haskell module — called the binding file — that implements a Haskell binding to the C library. Hooks embedded in the binding file signal where, which, and how C objects are accessed from Haskell. The Haskell code in the binding file determines Haskell types signatures and marshaling details.

Further information is on the wiki. Also see the user guide (also available in the doc directory of the repository).


To install c2hs from Hackage:

cabal install c2hs

If you like to build from the GitHub repository, see the file INSTALL. See the REGRESSION-SUITE file for a description of how to run the regression suite for checking C2HS performance against existing Haskell packages that use it.


All code generated by c2hs is under a BSD licence. Hence, c2hs is useful for both open and closed source projects.

The tool itself is released under the GPLv2. This is the same situation as for the GNU C Compiler. For details, see the file COPYING.

*Note that all licence references and agreements mentioned in the c2hs README section above are relevant to that project's source code only.