C->Haskell assists in the development of Haskell bindings to C
libraries. It extracts interface information from C header
files and generates Haskell code with foreign imports and
marshaling. Unlike writing foreign imports by hand (or using
hsch2s), this ensures that C functions are imported with the
correct Haskell types.

Maintainer's Corner

Readme for c2hs-0.16.4

C->Haskell - Haskell Interface Generator -*-text-*-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C->Haskell 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 at
http://www.cse.unsw.edu.au/~chak/haskell/c2hs/
Also see the tutorial in `doc/c2hs/'.
Contents:
AUTHORS -- Author information
COPYING -- GNU General Public License (GPL)
INSTALL -- Help on installing this package
README -- This file
Setup.hs -- Cabal build script
TODO -- Open problems, bugs, and ideas for future extensions
c2hs.cabal -- Cabal package specification
doc -- Documentation
src -- Source code
src/C2HS -- Main program sources
src/Main.hs -- Compilation driver
tests -- Small test cases
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= INSTALLING =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
See the file `INSTALL'.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COPYLEFT -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This system is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This system is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this system; if not, write to the Free Software Foundation, Inc., 675 Mass
Ave, Cambridge, MA 02139, USA.
NOTE: HOWEVER, all code included into generated bindings is under a BSD-style
license that does not place any restrictions on the license of the
inteface produced with C->Haskell (ie, closed proprietary licenses are
possible, too). In other words, I do not care what you use C->Haskell
for or to whom you are giving C->Haskell or any interfaces generated with
C->Haskell, only if you modify or improve C->Haskell itself, you have to
contribute your changes back to the community. Nevertheless, I will of
course be particularly delighted if you choose to make your work freely
available.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CREDITS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
See the file `AUTHORS'.