Title of article :
C APIs in Extension and Extensible Languages
Author/Authors :
Muhammad, Hisham Pontifıcia Universidade Catolica do Rio de Janeiro (PUC-RIO), Brazil , Ierusalimschy, Roberto Pontifical Catholic University of Rio de Janeiro (PUC–Rio), Brazil
Abstract :
Scripting languages are used in conjuction with C code in two ways: as extension languages, where the interpreter is embedded as a library into an application; or as extensible languages, where the interpreter loads C code as add-on modules. These two scenarios share many similarities, as in both of them two-way communication of code and data needs to take place. However, the differences between them impose design tradeoffs that affect the C API that bridges the two languages, often making a scripting language more suitable for extending than embedding, or vice-versa. This paper discusses how these tradeoffs are handled in the APIs of popular scripting languages, and the impact on their use as embedded or extensible languages.
Keywords :
programming languages , application programming interfaces
Journal title :
Journal of J.UCS (Journal of Universal Computer Science)
Journal title :
Journal of J.UCS (Journal of Universal Computer Science)