Pros, Cons and Future Work

next up previous
Next: Conclusion Up: libscheme: Scheme as a Previous: Memory Allocation/Garbage Collection

Pros, Cons and Future Work

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.

Brent Benson
Mon Sep 19 16:03:14 EDT 1994