Knit is a new component definition and linking language that can be used with C and assembly code. Knit supports component definitions that require little or no modification to existing code. It automatically schedules component initializers and finalizers and provides an extensible constraint system to detect subtle errors in component composition. Knit provides cross-module inlining that largely eliminates the overheads of componentization, supports component hierarchies, and supports cyclic component dependencies. Knit can be used for any C program, but is especially well suited for use in systems that have many separate components, multiple implementations of the same component, intricate initialization requirements, complex component interdependencies, low-level code and embedded systems, or code that is used in radically different configurations.
|Tags||Software Development Compilers Code Generators|
|Licenses||BSD Original BSD Revised|
Release Notes: This release is a combination of a bugfix release, an update to compile on more recent compilers, and some small improvements to the language. The 'flattening' optimization described in the OSDI 2000 paper is now available via the separate tool CMI.
Release Notes: Initial release.