SpiderApe has a plugin layer for loading new types and functions at runtime.
Unfortunately, this code doesn't work on current Windows platforms (for
very long and technical and unfortunate reasons), but if you're
lucky enough to run a Unix-like platform with GNU GCC and friends
then the plugin layer should work for you and you can extend your
SpiderApe applications at runtime.
Here is a list of the currently-available plugins, in alphabetical order:
environment provides access to the environment variables via the $ENV global JS variable.
iofile provides the InFile and OutFile classes.
KeyboardInput (formerly "readline") wraps provides an API got getting
input from the keyboard. In the back end it supports GNU Readline, BSD Editline, or
plain old stdin.
ncurses (formerly 'nc') provides a wrapper around the conventional ncurses C API, with over 150 functions.
NCurses provides an object-oriented wrapper around ncurses, incompatible with the
nc plugin. This plugins is obsolete/unmaintained, due to the newer nc plugin.
SamplePlugin is a demonstration plugin which programmers can use as a starting point for
writing their own plugin.
SQLite3 provides two different sqlite3 API bindings.
The first is a high-level object-oriented API and the other wraps over 70 functions of
the sqlite3 C API. The only significant feature
of sqlite3 which is not accessible via JS code is custom collation functions.
SystemFuncs provides several C-level functions, like chdir() and rmdir().