Published June 28, 2007 | Version v1
Journal article Open

C APIs in Extension and Extensible Languages

  • 1. Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO), Brazil
  • 2. PUC-Rio, Rio de Janeiro, Brazil

Description

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.

Files

jucs_article_28812.pdf

Files (140.5 kB)

Name Size Download all
md5:a563b1bbcebed0051935af0632daedd1
140.5 kB Preview Download