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

FFI

puede referirse a: El videojuego Final Fantasy I. El mecanismo Foreign function interface para usar código escrito en un lenguaje de programación desde

CLISP

Object System), interfaces a/desde otros lenguajes mediante FFI (Foreign Function Interface), soporte para internacionalización y localización de aplicaciones

PyPy

heptapod.net, junto con los repositorios del proyecto CFFI (C Foreign Function Interface). También se publicaron un nuevo logotipo y un nuevo diseño del

GNU Guile

Jason; Madhavapeddy, Anil; Minsky, Yaron (2013). «13». Chapter 19. Foreign Function Interface / Real World OCaml (en inglés). Archivado desde el original el

Seguridad de tipos

FFI; (* enabling identifier for foreign function interface facility *) <*FFI="C"*> (* pragma for foreign function interface to C *) Pascal ha tenido un número

Rust (lenguaje de programación)

las funciones de las bibliotecas de GTK en C, haciendo uso de Foreign Function Interface que ofrece Rust. Biblioteca de bajo nivel que hace uso de OpenGL

Juan Asenjo

model for biofilm growth and its resolution by using the hybrid immersed interface-level set method. Computers and Mathematics with Applications, 67, 34-51

Teoría de la fuga del laboratorio del SARS-CoV-2

Didier (1 de abril de 2021). «Mink, SARS-CoV-2, and the Human-Animal Interface». Frontiers in Microbiology (Frontiers Media SA) 12: 663815. ISSN 1664-302X