fungw - function gateway
Fungw is a tiny, portable library written in C (C89) that manages
dynamic function calls across different programming languages.
For this, fungw provides:
The main use of fungw is to provide the host application a framework where
dynamic parts of the code (e.g. plugins) can register their calls, allowing
app-plugin, plugin-app, and plugin-plugin calls.
The second main use is doing all this in a language-agnostic way: any part
of the code can be implemented in any of the numerous supported scripting
languages (such as awk or lua). The caller of a function doesn't need to know
what language the function is implemented in.
The main property of fungw is simplicity. The only API between
objects is the plain old function call mechanism.
What fungw can do
- register your named functions
- convert data types if the caller and callee don't use (or don't even support)
the same types
- embed and run scripts written in various scripting languages using
a simple, unified, function call based interface - for an application
developer this means code for scripting once and be able to use
any of the languages available now or in the future
- scripting without having to generate language-dependent wrappers
- multiple scripts can be loaded and ran in parallel without interference
What fungw can not do
- it does not offer anything else but function calls - no access to
variables or advanced features of OOP scripts
- fungw is not OOP - it manipulates flat list of objects and function calls;
there's no inheritance, friend classes or any other OOP concept
- it doesn't load, unload or manage plugins; that should be done by
a different library, e.g. puplug
Download & contact
Developer documentation