Go home now Header Background Image
Submission Procedure
share: |
Follow us
Volume 13 / Issue 6

available in:   HTML (44 kB) PDF (137 kB) PS (122 kB)
Similar Docs BibTeX   Write a comment
Links into Future
DOI:   10.3217/jucs-013-06-0839


C APIs in Extension and Extensible Languages

Hisham Muhammad (Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO), Brazil)

Roberto Ierusalimschy (Pontifícia Universidade Católica do 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: application programming interfaces, programming languages

Categories: D.3.2, D.3.4