Foreign function interface: Difference between revisions
Content added Content deleted
(Created page with '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, ra…') |
(notes) |
||
Line 1: | Line 1: | ||
<!-- [[User:Kevin Reid]]: I recommend keeping this info reasonably short, as we don't need to duplicate Wikipedia's effort. There should be just enough information to help a Rosetta Code reader navigate. --> |
|||
[[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]]). |
[[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]]). |
||
Line 5: | Line 6: | ||
==Relevant tasks== |
==Relevant tasks== |
||
<!-- I don't think these tasks should be put under FFI as a main category, because they are all relevant to languages such as C itself where these operations are not "foreign". --> |
<!-- [[User:Kevin Reid]]: I don't think these tasks should be put under FFI as a main category, because they are all relevant to languages such as C itself where these operations are not "foreign". --> |
||
===Functions=== |
===Functions=== |
Revision as of 20:13, 29 July 2009
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
Functions
Data structures/memory access
- Address Operations
- Data Representation - Controlling Fields in a Structure
- Data Representation - Getting the Size
- Data Representation - Specifying Minimum Size
- Host Introspection