Foreign Function Interface: Difference between revisions
(Added a link to fficxx and added category FFI) |
(Created (sub)sections, added link to "Dealing with fragile C libraries (e.g. MySQL) from Haskell") |
||
Line 1: | Line 1: | ||
== Introduction == | |||
The Foreign Function Interface (FFI) allows you to link Haskell programs to programs written in another language. | The Foreign Function Interface (FFI) allows you to link Haskell programs to programs written in another language. | ||
== Links == | |||
Select one of the following links for more information: | Select one of the following links for more information: | ||
Line 10: | Line 15: | ||
* [http://research.microsoft.com/~simonpj/papers/marktoberdorf/ Tackling the awkward squad] | * [http://research.microsoft.com/~simonpj/papers/marktoberdorf/ Tackling the awkward squad] | ||
* [https://github.com/wavewave/fficxx fficxx], a Haskell-C++ Foreign Function Interface Generator | * [https://github.com/wavewave/fficxx fficxx], a Haskell-C++ Foreign Function Interface Generator | ||
* [[Applications and libraries/Interfacing other languages]] | * [[Applications and libraries/Interfacing other languages]] | ||
* [http://rosettacode.org/wiki/Use_another_language_to_call_a_function#Haskell Use another language to call a function; Haskell] | * [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 | * [https://code.google.com/p/tabi/ TABI] a typeful tagged cross-language calling convention | ||
=== Blog articles === | |||
* [http://www.serpentine.com/blog/2010/09/04/dealing-with-fragile-c-libraries-e-g-mysql-from-haskell/ Dealing with fragile C libraries (e.g. MySQL) from Haskell] | |||
* [http://blog.danieroux.com/2007/01/01/simple-demonstration-of-haskell-ffi/ Simple demonstration of Haskell FFI] | |||
* [http://therning.org/magnus/archives/238 C and Haskell sitting in a tree…] | |||
* [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 | |||
* [http://blog.ezyang.com/2010/07/safety-first-ffi-and-threading/ Safety first: FFI and threading] | |||
[[Category:FFI]] | [[Category:FFI]] |
Revision as of 22:39, 25 September 2014
Introduction
The Foreign Function Interface (FFI) allows you to link Haskell programs to programs written in another language.
Links
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
- fficxx, a Haskell-C++ Foreign Function Interface Generator
- Applications and libraries/Interfacing other languages
- Use another language to call a function; Haskell
- TABI a typeful tagged cross-language calling convention