SigScheme is a R5RS Scheme interpreter for embedded use.
Anonymous svn repository:
See following files for further information.
- doc/spec.txt: specifications of SigScheme
- QALog: quality assurance state
Please report us if you find a problem. And if you have a time, run
'make-report.sh' and send us the result regardless of PASSed or FAILed. It
greatly helps the development, especially for non-PC platforms.
- Conforms to R5RS basically (not fully)
- R5RS hygienic macros (experimental)
- Supports Following SRFIs
- SRFI-0 : Feature-based conditional expansion construct
- SRFI-1 : List Library
- SRFI-2 : AND-LET*: an AND with local bindings, a guarded LET* special form
- SRFI-6 : Basic String Ports
- SRFI-8 : receive: Binding to multiple values
- SRFI-9 : Defining Record Types
- SRFI-22 : Running Scheme Scripts on Unix (partial)
- SRFI-23 : Error Reporting Mechanism
- SRFI-28 : Basic Format Strings
- SRFI-34 : Exception Handling for Programs
- SRFI-38 : External Representation for Data with Shared Structure (partial)
- SRFI-43 : Vector library
- SRFI-48 : Intermediate Format Strings
- SRFI-55 : require-extension
- SRFI-60 : Integer as Bits (partial)
- SRFI-69 : Basic hash tables
- SRFI-95 : Sorting and Merging
- R6RS: R6RS characters (partial and preliminary)
- Multibyte character encodings support
- let-optionals* for optional argument processing
- Partial SIOD compatibility
See doc/spec.txt and doc/design.txt for furtuer information.
How to build
GNU make is requied to build.
Run ./configure with some options at the top directory.
$ ./configure [--enable-conf=CONF] [--enable-default-encoding=ENCODING]
This specifies a base configuration set. Select one from the list below
suitable for your purpose.
- full: compile with full features but broken ones
- regular: (default) compile with typically needed features
- small: compile with primary features only
- r5rs: compile with strict R5RS conformances
- siod: emulate some SIOD features and bugs
- dev: developer-friendly configuration
- uim: configure for uim
SigScheme normally selects UTF-8 as default encoding. You can change it by
this option as follows.
$ ./configure --enable-default-encoding=eucjp
Following encodings can be specified.
In addition to (2), you can enable other optional and switchable character
$ ./configure --enable-default-encoding=eucjp --enable-eucjp --enable-sjis
Then type 'make' at the top directory.
$ make check
$ make install
How to use
To run SigScheme in interactive mode, type as follows.
To execute a Scheme script, specify it as argument.
$ sscm <filename>
Some parts of this software had been funded by IPA (http://www.ipa.go.jp/)