Abstract |
a
big challenge in dynamic language design is how best to interface
to c code. problems stem from type, syntax, and semantic mismatches
between languages. many solutions have been proposed through the
years. we first briefly present several c extension facilities
for python as a case study. we then introduce a simple yet powerful
c embedding facility, called alien goo, for the goo dynamic language
which
permits
direct inlining
of c inside
of goo code escaping back into goo as needed. we argue that alien
goo makes
simple
c call outs easy,
c interfaces simple and more complicated interfaces manageable. we
then show
how alien goo
can be
used in conjunction with macros adding considerably to its power.
these mechanisms can be used together to define interfaces in a declarative
manner, while avoiding excess interface layers, combining calls,
type conversions
and goo specific operations. all of these features makes alien gooan
extremely lightweight and powerful c interface mechanism. |