The greencard package

[ Tags: bsd3, foreign, library, program ] [ Propose Tags ]

Green Card is a foreign function interface preprocessor for Haskell, simplifying the task of interfacing Haskell programs to external libraries (which are normally exposed via C interfaces).

To interface to an external function using Green Card, you write a small procedure specification. The specification tells Green Card what (Haskell) type you want to give the function together with details of how the arguments (and results) to the Haskell function should be marshalled to and from the data representation used by the external function. Green Card will then generate gobs of low-level boilerplate code that takes care of all the details.

For an example of a simple GreenCard module, have a look at examples/world/World.gc

Along with the greencard application binary, this package also supplies the greencard library/package, consisting of the single module Foreign.GreenCard containing the default GreenCard marshalling functions.


[Skip to Readme]

Properties

Versions 3.0.1, 3.0.1.1, 3.0.2, 3.0.3, 3.0.4, 3.0.4.1, 3.0.4.2
Dependencies array, base (<=5), containers, pretty [details]
License BSD3
Author Alastair Reid <alastair@reid-consulting-uk.ltd.uk>, Sigbjorn Finne <sof@forkIO.com>, Thomas Nordin.
Maintainer Sigbjorn Finne <sof@forkIO.com>
Category Foreign
Home page https://github.com/sof/greencard
Uploaded Sat Aug 3 09:03:56 UTC 2013 by SigbjornFinne
Distributions NixOS:3.0.4.2
Executables greencard
Downloads 2622 total (178 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for greencard-3.0.4.1

[back to package description]
This is the top-level directory for Green Card, a foreign function
interface pre-processor for Haskell.

For details of how to compile this distribution, please consult the
INSTALL file.