The *(term) for the means for a language to access code written in other languages (see *(Combining Languages)).

Typically, high-level language programmers try to access the wealth of code libraries painfully written in _(C|C Language) (and sometimes _(Assembly)) by the lower-level coders. For this, they need some _(FFI) that will allow to specify the way this can be done, hopefully in an automated way. However, the type declarations of low-level languages are often not enough to fully automatically deduce the nicest way (or a correct way, to begin with) to interface with high-level semantics (_(type)s, _(GC), etc.). Hence the need of quite elaborate software packages and _(FFI) databases to deal with the complexity of it all.

/("Foreign Function Interface" :attribute :topic :match :exact)
