SCM is a Scheme implementation
conforming
to Revised5 Report on the
Algorithmic Language Scheme and the IEEE P1178
specification*.
Scm is written in C and runs under Amiga, Atari-ST, GNU/Linux, MacOS,
MS-DOS, MS-Vista, MS-Windows, OS/2, NOS/VE, Unicos, VMS, Unix and
similar systems.
SCM includes Hobbit, the Scheme-to-C compiler originally written by
Tanel Tammet. Hobbit generates C files whose binaries can be
dynamically or statically linked with a SCM executable. SCM includes
linkable modules for sequence-comparison, arrays, records, and
byte-number conversions; and modules for POSIX system calls and
network-sockets, readline, ncurses, and Xlib.
On some platforms SCM supports unexec (developed for Emacs and bash),
which dumps a executable image from a running SCM. This results in
very low latency (12.ms) startup for SCM.
SCM requires the SLIB Scheme Library.
Both SCM and SLIB are
GNU packages.
News
scm-5f2 improves the speed of floating-point I/O. Details at
http://cvs.savannah.gnu.org/viewvc/*checkout*/scm/scm/ChangeLog.
- scl.c (int2dbl, pmantexp2dbl): Recycle temporary bignums.
(pmantexp2dbl): Handle exponents smaller than -324.
(pmantexp2dbl): Optimized. Added bigrecy(quo).
(pmantexp2dbl): call int2dbl() instead of num2dbl().
(pdbl2str, pmantexp2dbl): Use powers-of-5 table instead of powers-of-10.
(strrecy, pdbl2str): Recycle temporary string used in number->string
conversion.
(scm_intexpt): Call bigrecy only when #ifdef BIGDIG.
(bigrecy): Added procedure to recycle bignums.
(int2dbl, scm_intexpt, divide, difference, big2str)
(pdbl2str, mantexp2dbl, pmantexp2dbl, int2dbl): Recycle temporary bignums.
(pdbl2str): Replaced call to int2dbl() with scm_intlength().
- r4rstest.scm (test-bignum): Added tests for GCD and LCM.
- sys.c (sysptob): Added sysflush (for sys_errp). Fixed exit when
verbose > 3.
- subr.c (scm_bitwise_bit_count, scm_logcount, scm_intlength)
(big2inum): Recycle temporary bignums.
- scm.c (process_signals): Reenabled lfflush(sys_errp).
- scm.texi: TeXinfo-5 now disallows text between @defunx lines.
(Internal State): Added "(gc #t)".
From: Marc Espie
- time.c: OpenBSD is phasing out old interfaces such as ftime and
the timeb data structure. This change should allow things to work
in a saner way on any system that uses gettimeofday().
Quick Start
- x86 MS-Windows
-
Obtain slib-3b5-1.exe (1.1.MB) and run.
Obtain scm-5f2-1.exe (475.kB) and run.
Release Notes:
- i686 GNU/Linux with RPM
-
Obtain slib-3b5-1.noarch.rpm (760.kB)
and scm-5f2-1.i686.rpm (960.kB)
and install.
- x86_64 GNU/Linux with RPM
-
Obtain slib-3b5-1.noarch.rpm (760.kB)
and scm-5f2-1.x86_64.rpm (1.2.MB)
and install.
Build From Source
Documentation
SCM Development
Related Sites and Software
Miscellany
Copyright © 1999, 2000, 2001, 2002, 2003, 2005, 2006,
2007, 2008, 2009, 2010, 2011, 2013, 2015 Aubrey Jaffer
I am a guest and not a member of the MIT Computer Science and Artificial Intelligence Laboratory.
My actions and comments do not reflect in any way on MIT.
|
| agj @ alum.mit.edu
| Go Figure!
|