sigscheme /

Filename Size Date modified Message
bench
doc
experimental
include
lib
m4
src
test
test-c
tools
171 B
234 B
12.4 KB
1.5 KB
15.2 KB
67.0 KB
3.2 KB
1.8 KB
3.8 KB
139 B
149 B
34.3 KB
243 B
534 B
1.3 KB
152 B
305 B
849 B
166 B
2.1 KB
What's SigScheme
----------------

SigScheme is a R5RS Scheme interpreter for embedded use.

  Homepage:
    http://code.google.com/p/sigscheme/

  Anonymous svn repository:
    http://uim.googlecode.com/svn/sigscheme-trunk/


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/)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.