Difference between revisions of "Foreign Function Interface"
Jump to navigation
Jump to search
(Added a link to "C and Haskell sitting in a tree…") |
(Added a link to the tabi package) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 3: | Line 3: | ||
Select one of the following links for more information: |
Select one of the following links for more information: |
||
* [[FFI Introduction]] |
* [[FFI Introduction]] |
||
+ | * GHC manual: [http://www.haskell.org/ghc/docs/latest/html/users_guide/hsc2hs.html Writing Haskell interfaces to C code: hsc2hs] |
||
− | * The official description: [http://www.cse.unsw.edu.au/~chak/haskell/ffi/ The Haskell 98 Foreign Function Interface 1.0. An Addendum to the Haskell 98 Report] |
+ | * The official description: chapters 8 and 24 to 37 of [http://www.haskell.org/onlinereport/haskell2010/#QQ2-15-159 The Haskell 2010 Language Report] (a draft: [http://www.cse.unsw.edu.au/~chak/haskell/ffi/ The Haskell 98 Foreign Function Interface 1.0. An Addendum to the Haskell 98 Report]) |
* [[FFI cook book]] |
* [[FFI cook book]] |
||
+ | * [[FFI complete examples]] |
||
* [[GHC/Using the FFI]] |
* [[GHC/Using the FFI]] |
||
* [http://research.microsoft.com/~simonpj/papers/marktoberdorf/ Tackling the awkward squad] |
* [http://research.microsoft.com/~simonpj/papers/marktoberdorf/ Tackling the awkward squad] |
||
Line 10: | Line 12: | ||
* Blog article: [http://therning.org/magnus/archives/238 C and Haskell sitting in a tree…] |
* Blog article: [http://therning.org/magnus/archives/238 C and Haskell sitting in a tree…] |
||
* [[Applications and libraries/Interfacing other languages]] |
* [[Applications and libraries/Interfacing other languages]] |
||
+ | * Blog article: [http://vis.renci.org/jeff/2009/07/10/c2hs-example-to-save-other-people-frustration/ C2HS example: To save other people frustration] |
||
+ | * [[Cxx foreign function interface]]; how to link to a C++ library |
||
+ | * Blog article: [http://blog.ezyang.com/2010/07/safety-first-ffi-and-threading/ Safety first: FFI and threading] |
||
+ | * [http://rosettacode.org/wiki/Use_another_language_to_call_a_function#Haskell Use another language to call a function; Haskell] |
||
+ | * [https://code.google.com/p/tabi/ TABI] a typeful tagged cross-language calling convention |
Revision as of 20:18, 23 May 2013
The Foreign Function Interface (FFI) allows you to link Haskell programs to programs written in another language.
Select one of the following links for more information:
- FFI Introduction
- GHC manual: Writing Haskell interfaces to C code: hsc2hs
- The official description: chapters 8 and 24 to 37 of The Haskell 2010 Language Report (a draft: The Haskell 98 Foreign Function Interface 1.0. An Addendum to the Haskell 98 Report)
- FFI cook book
- FFI complete examples
- GHC/Using the FFI
- Tackling the awkward squad
- Blog article: Simple demonstration of Haskell FFI
- Blog article: C and Haskell sitting in a tree…
- Applications and libraries/Interfacing other languages
- Blog article: C2HS example: To save other people frustration
- Cxx foreign function interface; how to link to a C++ library
- Blog article: Safety first: FFI and threading
- Use another language to call a function; Haskell
- TABI a typeful tagged cross-language calling convention