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) ChangeLog -- Change history Makefile -- Package makefile README -- This file TODO -- Open problems, bugs, and ideas for future extensions aclocal.m4 -- Autoconf macros c -- Frontend for parsing and analying C header files chs -- Frontend for parsing and analying Haskell binding modules configure -- Platform-independent configuration file configure.in -- Autoconf input used to produce `configure' examples -- Examples library bindings gen -- Routines for the Haskell interface generation lib -- Library used by generated bindings state -- State management test -- Small test cases toplevel -- Compilation driver mk -- Common makefiles -=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 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 runtime system code - ie, code required by the output of the interface generator - is LGPL (see the file COPYING.LIB for details). This means that generated interfaces can use any license that the author of the interface sees fit (including closed proprietary licenses). 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, but if you modify or improve C->Haskell, 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 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Manuel M. T. Chakravarty <chak@cse.unsw.edu.au> with contributions from (alphabetical order) Jens-Ulrik Petersen <juhp@01.246.ne.jp> Armin Sander <armin@mindwalker.org> Axel Simon <simona_@web.de> Michael Weber <michael.weber@Post.RWTH-Aachen.DE> Thanks for comments and suggestions to Simon Marlow <simonmar@microsoft.com> Sven Panne <Sven.Panne@informatik.uni-muenchen.de>.