Implementation of EusLisp
- Pointer coding and object structure
- Class Inheritance Hierarchy and Type Discrimination
- Memory Management
- Fibonacci Buddy
- Free Lisp Management
- Thread Local Heap Management
- Fast Type Discrimination in Type Tree
Classes are numbered according to the segmented tree configuration.
When a new class is defined, renumbering occurs and the heap is scanned
to change the class-id field of all the objects. By this cos at the
loading time, type discrimination of any object can be performed by
a constant time, namely two comparisons of short integers,
regardless to the structure or the depth of the inheritance tree.
- Dynamic Loading
Compiled code or any object modules are loaded by the dynamic loading
library, e.g. dl_open and dl_sym.
- Interpreter
- Compiler
EusLisp compiles source programs into C intermediate programs,
which are transferred to standard C compiler.
- Foreign Function Interface