Projects : gscm : gscm_usrbin

gscm/README

Dir - Raw

1About
2-----
3
4This is Gales Scheme: a Scheme interpreter for Unix striving for simplicity, soundness, minimal artificial restrictions, and R5RS compliance with strict error checking.
5
6Written by Jacob Welsh for JWRD Computing.
7
8Prerequisites
9-------------
10
11gcc, targetting an x86_64 POSIX environment. Linux and OpenBSD are known to work. Other ISAs are supportable in principle but there's presently some assembly math code lacking portable equivalent.
12
13Installation
14------------
15
16This software ignores some historical Unix conventions in favor of a simplified variant of Bernstein's /package scheme ( http://cr.yp.to/slashpackage.html ). Installation paths and command names are not configurable, which amounts to a global namespace claim, such that people and programs can count on finding components at known paths if they are to be found at all. User commands are symlinked into /usr/bin and will replace prior files in case of conflict; see "package/commands" for the list.
17
18You will need root privileges to install.
19
201. Create the top-level /package directory if necessary and place the tree at its fully version-qualified path:
21
22 mkdir -p /package
23 cp -r /YOUR/PATH/TO/gscm /package/gscm-0.40.6
24
252. Run the install script from the above directory:
26
27 cd /package/gscm-0.40.6
28 sh package/install
29
303. Run the test suite if you like:
31
32 sh package/check
33
34Known failures at present include, from tests/numbers.scm:
35
36 (fail inexact-read-precision) : float formatting and parsing algorithms are imprecise.
37 (fail 1 1 expt13) : (expt 1 -1) returns an inexact (float) result when it could be exact.
38
39From tests/semantic-bad.scm:
40
41 (fail unary-add-type bad-type)
42 (fail unary-mul-type bad-type) : the single-argument passthrough base case for + and * doesn't bother checking for numbers.
43
44To revert to this version after installing a different one, simply repeat step 2.
45
46Usage notes
47-----------
48
49See "gscm -h" for CLI options.
50
51The main shortfalls with respect to R5RS are the macro language and advanced numeric types (rational and complex). Arbitrary precision (bignum) integer arithmetic is supported.
52
53A number of extensions are provided including system interface, sockets, and fixnum arithmetic; see doc/extensions.txt for (incomplete) details.
54
55Error recovery, debugging, and concurrency support are known weaknesses (no help from the standard here).