This message announces the availability of Scheme release scm5e3. SCM conforms to Revised^5 Report on the Algorithmic Language Scheme and the IEEE P1178 specification. SCM is written in C and runs under Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Windows, Unix, and similar systems. SCM is free software. It is released under the GNU Public License (GPL) with an exception allowing it to be linked with non-GPL programs (see http://swiss.csail.mit.edu/~jaffer/SCM_LICENSE). Documentation and distributions in several formats are linked from SCM's home page: http://swissnet.ai.mit.edu/~jaffer/SCM.html Links to distributions of SCM and related softwares are at the end of this message. -=-=- scm5e3 news: Richard Harke ported SCM to the Linux-ia64. SRFI-94 Type-Restricted Numerical Functions. SRFI-63 uniform array type support expanded to: A:floC64b inexact 64.bit binary flonum complex A:floC32b inexact 32.bit binary flonum complex A:floC16b inexact 16.bit binary flonum complex A:floR64b inexact 64.bit binary flonum real A:floR32b inexact 32.bit binary flonum real A:floR16b inexact 16.bit binary flonum real A:fixZ32b exact 32.bit binary fixnum A:fixZ16b exact 16.bit binary fixnum A:fixZ8b exact 8.bit binary fixnum A:fixN32b exact 32.bit nonnegative binary fixnum A:fixN16b exact 16.bit nonnegative binary fixnum A:fixN8b exact 8.bit nonnegative binary fixnum A:bool boolean string char Radey Shouman has changed LETREC to behave like LETREC*: * eval.c (ceval_1): Change LETREC behavior to that of LETREC*: initializers are run in left to right order, and may use previously evaluated variables bound in the same contour. This change also applies to LETRECs resulting from internal DEFINE. * eval.c (macroexp1): Add #ifdef to switch case handling line numbers in ceval_1 so that they are safely discarded when MEMOIZE_LOCALS is not #defined. Perhaps line number generation should be disabled in that case. * scl.c: Changes to allow compilation with MinGW (gnu-win32); asinh, acosh, and atanh are not yet supported. From Aubrey Jaffer: * indexes.texi (Indexes): Give each index its own node when not in info mode. Moved index stuff here so it doesn't break texinfo-every-node-update. * scm.texi (Index): Replaced nodes under Indexes with node Index when in info mode; fixes indexing in Emacs 21.4.1. Converted to use @copying. (Indexes): Reorganized. (Data Type Representations): Corrected pattern for specfun and cclo. * byte.c (subbytes): Added. (scm_subbytes_read, scm_subbytes_write): Renamed from substring. * Makefile (dscm4, dscm5): != is string operator in shell. "mv -f" for previous scm, slibcat, and implcat. * Init5e2.scm (boot-tail): Don't load ScmInit.scm if *script*. (string-index, read-line): Defined for login->home-directory, which may be called before REQUIRE is defined. * Makefile (dscm4, dscm5): Added randomize_va_space machinations. (dvi, pdf): New tetex-3.0(-20.FC5) broke them -- fixed. (SETARCH): Workarounds allow dumping in recent Linux. * time.c (linux): defined CLKTCK to (sysconf(_SC_CLK_TCK)). * repl.c (scm_read_numbered): Don't #ifndef MEMOIZED_LOCALS. * build.scm (dont-memoize-locals): Added feature. (stack-limit): Removed feature. * scmfig.h (STACK_LIMIT): Always defined. (CHECK_STACK): Condition on scm_verbose. * sys.c (stack_check): Always present. * Makefile (docs): Added target to make all documentation files; then invoke xdvi. * ugsetjmp.s (_setjump, _longjump): For Ultrix VAX circa 1997. * subr.c (mkbig, adjbig): Improved overflow message. * mkimpcat.scm (wbtab, rwb-isam): moved to "Simple associations". (add-source): Use 'source form and check file's existence. * scl.c (scm_magnitude): Extend dynamic range by eliminating intermediate expression swell. (divide): Use "Smith's formula" to extend dynamic range; but makes an insignificant difference when compiled with -O3. (atanh, acosh, asinh): define if #ifndef HAVE_ATANH. * scmfig.h (HAVE_ATANH): Decides whether atanh, asinh, and acosh are supported. * r4rstest.scm (5 2 1): Expose Bigloo tprint redefinition bug. (test-bignum): Convert test bignums from strings. (have-bignums?): Check bignum arithmetic works. (test-inexact): Do complex tests only if non-real numbers are supported. (test-inexact): Added equal? tests. (test-inexact): Test for -0.0 lossage. (test-inexact): Check that / and magnitude work for very large and very small complex numbers (1e300; 1e-300); -=-=- SCM source is available from: http://swissnet.ai.mit.edu/ftpdir/scm/scm5e3.zip swissnet.ai.mit.edu:/pub/scm/scm5e3.zip http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e3-1.src.rpm swissnet.ai.mit.edu:/pub/scm/scm-5e3-1.src.rpm Also available as i386 binary RPM: http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e3-1.i386.rpm swissnet.ai.mit.edu:/pub/scm/scm-5e3-1.i386.rpm SLIB is a portable Scheme library which SCM uses: http://swissnet.ai.mit.edu/ftpdir/scm/slib3a4.zip swissnet.ai.mit.edu:/pub/scm/slib3a4.zip Also available as RPM: http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a4-1.noarch.rpm swissnet.ai.mit.edu:/pub/scm/slib-3a4-1.noarch.rpm JACAL is a symbolic math system written in Scheme: http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b7.zip swissnet.ai.mit.edu:/pub/scm/jacal1b7.zip SLIB-PSD is a portable debugger for Scheme (requires emacs editor): http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz SMG-SCM is an SMG interface package which works with SCM on VMS. http://swissnet.ai.mit.edu/ftpdir/scm/smg-scm2a1.zip swissnet.ai.mit.edu:/pub/scm/smg-scm2a1.zip A VMS version of Unzip is available by anonymous FTP from ftp.spc.edu:[ANONYMOUS.MACRO32]UNZIP.EXE. TURTLSCM is a turtle graphics package which works with SCM on MS-DOS or X11 machines: http://swissnet.ai.mit.edu/ftpdir/scm/turtlegr.tar.gz swissnet.ai.mit.edu:/pub/scm/turtlegr.tar.gz XSCM is a X windows interface package which works with SCM: http://swissnet.ai.mit.edu/ftpdir/scm/xscm-2.01.tar.gz swissnet.ai.mit.edu:/pub/scm/xscm-2.01.tar.gz MacSCM is a Macintosh applications building package which works with SCM (similar to XSCM). http://swissnet.ai.mit.edu/ftpdir/scm/macscm.tar.Z swissnet.ai.mit.edu:/pub/scm/macscm.tar.Z WB is a disk based, sorted associative array (B-tree) library for SCM. Using WB, large databases can be created and managed from SCM. http://swissnet.ai.mit.edu/ftpdir/scm/wb1c3.zip swissnet.ai.mit.edu:/pub/scm/wb1c3.zip http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c3-1.src.rpm swissnet.ai.mit.edu:/pub/scm/wb-1c3-1.src.rpm Also available as i386 binary RPM: http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c3-1.i386.rpm swissnet.ai.mit.edu:/pub/scm/wb-1c3-1.i386.rpm SIMSYNCH is a digital logic simulation system written in SCM. http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip swissnet.ai.mit.edu:/pub/scm/synch1b0.zip DLD is a C library package allowing SCM to dynamically load object files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation (SunOS 4.0), Sequent Symmetry (Dynix), Atari ST, and a.out Linux systems. ftp.gnu.org:pub/gnu/dld/dld-3.3.tar.gz SCM.EXE (314k) is a SCM executable for DOS and MS-Windows. Note: SCM.EXE still requires slib3a4 and scm5e3 above. http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe swissnet.ai.mit.edu:/pub/scm/scm.exe #! implements "#!" (POSIX) shell-scripts for MS-DOS batch files. http://swissnet.ai.mit.edu/ftpdir/scm/sharpbang.zip swissnet.ai.mit.edu:/pub/scm/sharpbang.zip http://swissnet.ai.mit.edu/ftpdir/scm/#!.zip swissnet.ai.mit.edu:/pub/scm/#!.zip Programs for printing and viewing TexInfo documentation (which SCM has) come with GNU Emacs or can be obtained via ftp from: ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-4.8.tar.gz