Japanese version of document is here.
Qfwfq Opus 1
Dedicated to the memory of ALGOL N
INUJIMA, Masaru email@example.com
rhizome/pi is a Scheme implementation (interpreter and compiler,
compiler generates program in C language) conforming to
This implementation is not aimed to solely as tools for study of
so called artificial intelligence, but intended to be used as a
general purpose developing and executing environment of applications.
It is implemented completely in continuation passing style.
Being so, it never makes recurseive call in machine labguage
level, and depth of stack is bound to finite constant (I did
not investigate the precise limit, but it must be no greater
than 1 kilobytes.)
Application of call-with-current-continuation and resulting
comtinuation object is very fast. Execution time of them is
no greater than normal procedures (such as car, cdr, cons.)
Employes syntax-case as low level macro system.
Aside from trace, there is a debugger capable of single stepping
of LISP code. This debugger itself is mostly written in LISP
code, and implementing custom debugging feature is also possible
(but, procedures for hooking evaluator are not fully documented
Handling errors and signals are possible.
There is no limitation of program which may be compiled. Execution
of compiled program is done simillary to loading, by sequential
evaluation of top level expressions.
Shared objects (DLLs in term of Win32) can be loaded dynamically
and functions in them can be called from scheme code. Moreover,
callbacks can be written in scheme code.
See doc/extfunc for details.
rhizome/kappa is a indivisual package consisting of runtime routines
of rhizome/pi, which will be useful in other symbolic processing languages.
The author tested the program under following environments and C compilers.
There should be no serious problems in porting to other
unix like operating systems.
- OpenBSD 3.7 i386
- Linux i386
- Win32 (intel) with Microsoft, Borland or lcc-win32 C compiler
- Win32 (intel) with Cygwin environment
Home of INUJIMA aka