Projects : gscm : gscm_glibc_build_fix
1 | About |
2 | ----- |
3 | |
4 | This is Gales Scheme: a Scheme interpreter for Unix striving for simplicity, soundness, minimal artificial restrictions, and R5RS compliance with strict error checking. |
5 | |
6 | Written by Jacob Welsh for JWRD Computing. |
7 | |
8 | Prerequisites |
9 | ------------- |
10 | |
11 | gcc, 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 | |
13 | Installation |
14 | ------------ |
15 | |
16 | This 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 | |
18 | You will need root privileges to install. |
19 | |
20 | 1. 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.7 |
24 | |
25 | 2. Run the install script from the above directory: |
26 | |
27 | cd /package/gscm-0.40.7 |
28 | sh package/install |
29 | |
30 | 3. Run the test suite if you like: |
31 | |
32 | sh package/check |
33 | |
34 | Known 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 | |
39 | From 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 | |
44 | To revert to this version after installing a different one, simply repeat step 2. |
45 | |
46 | Usage notes |
47 | ----------- |
48 | |
49 | See "gscm -h" for CLI options. |
50 | |
51 | The 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 | |
53 | A number of extensions are provided including system interface, sockets, and fixnum arithmetic; see doc/extensions.txt for (incomplete) details. |
54 | |
55 | Error recovery, debugging, and concurrency support are known weaknesses (no help from the standard here). |