A R5RS Scheme interpreter for embedded use
License
uim/sigscheme
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
- Open with GitHub Desktop
- Download ZIP
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
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> 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