-
Notifications
You must be signed in to change notification settings - Fork 9
A R5RS Scheme interpreter for embedded use
License
uim/sigscheme
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
What's SigScheme
----------------
SigScheme is a R5RS Scheme interpreter for embedded use.
Homepage:
http://code.google.com/p/sigscheme/
Git repository:
git clone https://github.com/uim/sigscheme.git
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.
Mailinglist: sigscheme-ja@googlegroups.com
Features
--------
- 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
- define-macro
- 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]
(1) --enable-conf=CONF
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
(2) --enable-default-encoding=ENCODING
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.
- utf8
- euccn
- eucjp
- euckr
- sjis
(3) --enable-ENCODING
In addition to (2), you can enable other optional and switchable character
encodings.
$ ./configure --enable-default-encoding=eucjp --enable-eucjp --enable-sjis
Then type 'make' at the top directory.
$ make
Test
----
$ make check
Installation
------------
$ make install
How to use
----------
To run SigScheme in interactive mode, type as follows.
$ sscm
To execute a Scheme script, specify it as argument.
$ sscm <filename>
How to build unreleased version
-------------------------------
$ git clone --recursive https://github.com/uim/sigscheme.git
$ cd sigscheme
$ ./setup.sh
$ ./autogen.sh
$ ./configure --enable-maintainer-mode <YOUR_BUILD_OPTIONS>
$ make -j$(nproc)
Acknowledgements
----------------
Some parts of this software had been funded by IPA (http://www.ipa.go.jp/)
About
A R5RS Scheme interpreter for embedded use
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published