⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

[[Foreign function interface]], or FFI, is a common name for a facility in a programming language (especially a high-level one that does not usually work in terms of pointers, raw structure layout, etc.) to invoke functions and access data structures defined using another one (especially [[C]]).

The term is commonly used in [[Common Lisp]] and [[Haskell]].

==Relevant tasks==


  • [[Call foreign language function]] ** [[Call function in shared library]] (a special case)
  • [[Use another language to call a function]]

Data structures/memory access

  • [[Address Operations]]
  • Data Representation ** [[Data Representation - Controlling Fields in a Structure|Controlling Fields in a Structure]] ** [[Data Representation - Getting the Size|Getting the Size]] ** [[Data Representation - Specifying Minimum Size|Specifying Minimum Size]]
  • [[Host Introspection]]

==See also==

  • [[wp:Foreign function interface|“Foreign function interface” at Wikipedia]]