Guile Tutorial
2.3 How to characterize Guile
I have already mentioned that Guile has become a kitchen sink package;
here you can see how Guile freely takes new commands and constructs from
the portable Scheme library slib, the Tk widget set, a
posix library (useful for UNIX systems programming), the regular
expression library rx, and many more ...
So Guile has many more primitive procedures available to it than those
specified in section `Standard Procedures' in Revised(5) Report on the Algorithmic Language Scheme. On top of that, Guile will interpret
almost all standard Scheme programs. The only incompatible difference
between the basic Guile language and R5RS Scheme is that Guile is case
sensitive, whereas R5RS is case insensitive. We hope that few people
have written Scheme programs that depend on case insensitivity.
Here is a possible view of the sum of the parts in Guile:
| | guile = standard Scheme (R5RS)
PLUS extensions to R5RS offered by SCM
PLUS some extra primitives offered by Guile (catch/throw)
PLUS portable Scheme library (SLIB)
PLUS embeddable Scheme interpreter library (libguile)
PLUS Tk toolkit
PLUS threads
PLUS Posix library
PLUS Regular expression library (rx)
PLUS Tcl library
|