forked from uim/sigscheme
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
134 lines (88 loc) · 3.22 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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: [email protected]
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/)