Overview of Sagittarius

Sagittarius is a Scheme script engine; it reads Scheme programs, compiles it on-the-fly and executes it on a virtual machine. Sagittarius conforms the language standard "Revised^6 Report on the Algorithmic Language Scheme" (R6RS), "Revised^7 Report on the Algorithmic Language Scheme" (R7RS), and supports various common libraries defined in "Scheme Requests for Implementation" (SRFI)s.

There are a lot of Scheme implementations and they have different strong and weak points. Sagittarius focuses on "Flexibility" and "Easy to Use". R6RS specifies strict requirements, but sometimes you may think this is too much. For that purpose, Sagittarius has less strictness. There are invocation options that make Sagittarius run on strict RnRS mode.

To avoid to lose portability or write miss-working code, you may want to know what are the non conformed points.

Reader

Basically reader has 3 modes. One is R6RS mode, one is R7RS mode and the last one is compatible mode. Although, user can modify reader with reader macro. These modes can be switched via #!r6rs, #!r7rs or #!compatible. For more details, see Predefined reader macros.

Miscellaneous

Redefinition of exported values are allowed on script file. This can be restricted by -r6 option to run the script strict R6RS mode. Multiple import of the same identifier is allowed. The value which imported at the last will be used.