Una interfaz de funciones foráneas (Foreign function interface, en inglés) es un mecanismo por el cual un programa escrito en un lenguaje de programación puede realizar llamadas a funciones o usar los servicios escritos en otro.[1]​ El término procede de la especificación de Common Lisp, aunque también se usa oficialmente en Haskell. Otros lenguajes usan otra terminología, así, el lenguaje Ada habla de "language bindings", mientras que en Java se denomina Java Native Interface, o JNI. No obstante, se suele hablar de forma genérica de Foreign function interface para referirse a estos mecanismos.

Por supuesto, a pesar de su nombre, las FFIs no se limitan a llamadas de función; muchos FFI permiten llamadas a métodos de objetos; e incluso algunos permiten el trasiego de tipos de datos no triviales y/u objetos entre distintos lenguajes.

El término foreign function interface no se suele usar para describir entornos de ejecución multilenguajes como Microsoft Common Language Runtime, donde existe un "sustrato" común que permite a cualquier lenguaje usar los servicios definidos por otro, siempre que cumplan el Common Language Specification. Además, existen muchas otras arquitecturas como Java RMI, RPC, CORBA y SOAP, que permiten usar servicios escritos en otros lenguajes; a tales arquitecturas no se les suele considerar FFIs.

Referencias

editar
  1. Heckey, Jason; Madhavapeddy, Anil; Minsky, Yaron (2013). «13». Chapter 19. Foreign Function Interface / Real World OCaml (en inglés). Archivado desde el original el 18 de julio de 2015. Consultado el 2 de enero de 2018. 

📚 Artikel Terkait di Wikipedia

Data Language/Interface

Data Language/Interface (abreviado DL/1 o DL/I) es el lenguaje de programación para acceder a las bases de datos de IMS y a su sistema de comunicación

Art & Language

Art-Language, Joseph Kosuth. El trabajo consistió en un sistema de archivo de material publicado y circulado por los miembros de Art & Language.​ Burn

OpenCL

OpenCL (Open Computing Language, en español lenguaje de computación abierto) consta de una interfaz de programación de aplicaciones y de un lenguaje de

Lenguaje de manipulación de datos

Lenguaje de Manipulación de Datos o DML (del inglés Data Manipulation Language) es un lenguaje proporcionado por los sistemas gestores de bases de datos

Idioma gayle

lingüísticas LGBT Cage, Ken (2003). Gayle: The Language of Kinks and Queens : a History and Dictionary of Gay Language in South Africa (en inglés). Jacana Media

Lenguaje de descripción de páginas

compilados. AFP {Advanced Function Presentation}. Función avanzada de presentación. CPCL {Comtec Printer Control Language} (Zebra, Comtec). Lenguaje

Edward Sapir

(1909) Language: An introduction to the study of speech (1921) (link) Nootka Texts (1939) The Function of an International Auxiliary Language (link) The

HTML5

<body> <script language="javascript"> function obtener_localizacion() { navigator.geolocation.getCurrentPosition(coordenadas); } function coordenadas(position)