The libscheme
library is simple to understand and use. It
builds on the powerful semantic base of the Scheme programming
language. The library also provides several powerful extensions to
Scheme including an extensible type system and user defined structure
types.
The libscheme
interpreter is not very fast. The primary reason
is an inefficient function calling sequence that dynamically allocates
storage, creating unnecessary garbage. This issue is being addressed
and future versions should be a great deal more efficient. In any
case, libscheme
is intended primarily for interactive and
scripting use for which its performance is already adequate.
When compared to a language like Tcl, Scheme is not as well suited for interactive command processing. A possible solution is to add a syntax veneer on top of the parenthetical Scheme syntax for interactive use. On the other hand, Scheme's clean and powerful semantics provide a sizeable advantage over Tcl for writing large pieces of software. It also has the advantage of real data types rather than Tcl's lowest common denominator ``everything is a string'' approach.
The libscheme
library has already been used in many small
projects. The author plans to make libscheme
even more useful
by providing a variety of useful bindings including interfaces to the
POSIX system calls, a socket library, a regular expression package,
etc.