C->HaskellC->Haskell is an interface generator that simplifies the development of Haskell bindings to C libraries. | |
Download |
C->Haskell Ranking & Summary
Advertisement
- License:
- GPL
- Price:
- FREE
- Publisher Name:
- Manuel M T Chakravarty
- Publisher web site:
- http://www.cse.unsw.edu.au/~chak/haskell/c2hs/
C->Haskell Tags
C->Haskell Description
C->Haskell is an interface generator that simplifies the development of Haskell bindings to C libraries. C->Haskell is an interface generator that simplifies the development of Haskell bindings to C libraries. It 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. The idea for the tool was developed during the implementation of Gtk+HS, a Haskell binding for the GUI toolkit GTK+. The latter is no longer under active development, but its successor, Gtk2Hs, also uses C->Haskell.The generator is implemented using the Compiler Toolkit and in particular the self-optimising lexer and parser combinators of the toolkit. The use of the toolkit simplified the implementation of C->Haskell considerably.Requirements:· The Glasgow Haskell CompilerInstallation: % tar -xzf < package >.tar.gz # unpack the sources % cd < package > # change to the toplevel directory % runghc Setup.hs configure # configure the build system % runghc Setup.hs build # build everything % runghc Setup.hs install # install c2hsIf you are installing from darcs, please read the corresponding section belowfirst.What's New in This Release:· This release builds with GHC 6.4 through to 6.8 and also properly supports OpenBSD and Windows. Moreover, the documentation has been updated.
C->Haskell Related Software