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

available in:   HTML (44 kB) PDF (137 kB) PS (122 kB)
 
get:  
Similar Docs BibTeX   Write a comment
  
get:  
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