Libporty provides a higher level API for some commonly used library functions such as sockets, date/time, file system access, background processes, and asynchronous DNS resolving. Libporty is configured using scconfig and the API is guaranteed to work the same way on all supported systems. An application that exclusively uses the libporty API will not require autotools/scconfig for porting. Libporty has been tested on Linux, Windows, Mac OS X, multiple BSD variants, Minix, OpenSolaris, and some ancient Unix systems.
plumb is a shell with focus on pipes: instead of pipelines, it can build large graphs of processes (nodes) and pipes (edges). Pipes are simple unidirectional streams without side effects. Traffic can be controlled by virtual processes (which are nodes just like real processes, but are implemented in plumb for minimal overhead). Virtual processes can split, merge, regex filter/alter, and shape the streams. Timers and starting/stopping processes or even rewiring the script on the fly are also supported. It is portable (using libporty) and behaves exactly the same way on Linux, Windows, Mac OS X, many BSD variants, and older UNIX systems.
libmawk is a fork of mawk 1.3.3 restructured for embedding. It allows you to embed awk interpreters in any application written in C or in a language that can interface C libraries. This allows the application to have plugins, configuration, run control, and AI written in awk. It extends the original feature set of mawk with modularity (C-style include), save/load of compiled bytecode, function calling by name-in-string (substitute for pointers/references), and accounting and limiting of memory and CPU use. While awk as a language does not offer OOP and complex data structures, it is still reasonably powerful. A major advantage is the short learning curve for new users.