c2hs: C->Haskell Interface Generator

[ development, gpl, program ] [ Propose Tags ]

C->Haskell assists in the development of Haskell bindings to C libraries. It extracts C interface information from vanilla header files and generates marshaling and signature code in Haskell.

[Skip to Readme]


Automatic Flags

Choose the new smaller, split-up base package.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.15.0, 0.15.1, 0.16.0, 0.16.2, 0.16.3, 0.16.4, 0.16.5, 0.16.6, 0.17.1, 0.17.2, 0.18.1, 0.18.2, 0.19.1, 0.20.1, 0.21.1, 0.22.1, 0.23.1, 0.24.1, 0.25.1, 0.25.2, 0.26.1, 0.26.2, 0.27.1, 0.28.1, 0.28.2, 0.28.3, 0.28.4, 0.28.5, 0.28.6, 0.28.7, 0.28.8 (info)
Dependencies array, base (<4.3), containers, directory, filepath, pretty, process [details]
License LicenseRef-GPL
Copyright Copyright (c) [1999..2007] Manuel M T Chakravarty
Author Manuel M T Chakravarty
Maintainer chak@cse.unsw.edu.au, duncan@haskell.org
Revised Revision 1 made by HerbertValerioRiedel at 2017-01-15T21:00:25Z
Category Development
Home page http://www.cse.unsw.edu.au/~chak/haskell/c2hs/
Uploaded by DuncanCoutts at 2007-11-23T16:56:52Z
Distributions Arch:0.28.8, Debian:0.28.8, FreeBSD:0.26.1, LTSHaskell:0.28.8, NixOS:0.28.8, Stackage:0.28.8, openSUSE:0.28.8
Reverse Dependencies 1 direct, 0 indirect [details]
Executables c2hs
Downloads 61901 total (144 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-01-04 [all 8 reports]

Readme for c2hs-0.15.1

[back to package description]
	       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


Also see the tutorial in `doc/c2hs/'.


  AUTHORS	-- Author information
  COPYING	-- GNU General Public License (GPL)
  ChangeLog	-- Change history
  INSTALL	-- Help on installing this package
  Makefile      -- Package makefile
  README	-- This file
  Setup.hs	-- Cabal build script
  TODO		-- Open problems, bugs, and ideas for future extensions
  aclocal.m4	-- Autoconf macros
  base		-- Compiler Toolkit sources
  c		-- Frontend for parsing and analying C header files
  c2hs		-- Main program sources
  c2hs.cabal	-- Cabal package specification
  c2hs.spec	-- RPM build specification
  chs		-- Frontend for parsing and analying Haskell binding modules
  configure	-- Platform-independent configuration file
  configure.in	-- Autoconf input used to produce `configure'
  doc		-- Documentation
  gen		-- Routines for the Haskell interface generation
  install-sh	-- Auxiliary shell script required by `configure'
  lib		-- Library used by generated bindings
  state		-- State management
  test		-- Small test cases
  toplevel	-- Compilation driver

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 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

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

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CREDITS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

See the file `AUTHORS'.