This message announces the availability of Scheme release scm5d9. New in scm5d9: * ramap.c (array-map): Added. * byte.c: Added. Improves RANDOM speed by 32%. * subr.c (scm_logbitp, scm_ash): Prevent wraparound (1>>32==1). * ioext.c, posix.c (system->line): Defined. * scl.c (floequal): Fixed so 0/0==0/0. (eqv, eqp): Use floequal. * eval.c (init_eval): add_feature("primitive-hygiene"). * scl.c (eqp): Fixed so (let ((nan 0/0)) (= nan nan)) ==> #t. (in2ex): Infinite loop on (inexact->exact 0/0) change to err. * scl.c (iflo2str): Use negated conditional to handle 0/0. (NaN2str): Removed "#i" prefix. * scm.texi (Embedding SCM): Updated libtest example for init_user_scm indirection (which Radey added 2003-01-24). * scm.texi (MS-DOS Compatible Scripts): Added sharpbang URL. * scm.texi (Build Options): Described *.opt option files. * scm.texi (Automatic C Preprocessor Definitions): Added IA64. * scm.texi (Line Numbers): Added read-for-load. (Load Syntax): Distinguished from Read syntax; documented #?line, #?column, and #?file. (Data Type Representations): Updated port formats. * Makefile (dfiles): Added version.txi platform.txi features.txi. * Makefile (CFLAGS): Removed "-g". * Makefile (pg.opt, gdb.opt, dlls.opt): Added. Cleanup options. * Makefile (continue.o): Was missing scmfig.h and scm.h dependencies. * Makefile (uninstallinfo): Created. (uninstall): Remove libscmdir files. * Makefile (release): Make pdf(s). * Init5d8.scm (slib:eval-load): Use *load-reader*. * repl.c (scm_read_for_load): Added. (p_read_numbered, p_read_for_load, p_read): Added locatives. (lreadr): Pass appropriate read routine to load:sharp; read:sharp. (flgs): Renamed from nump to reduce interference with INUMP, etc. * Init5d8.scm (load:sharp, read:sharp): Split read:sharp. (load:sharp, read:sharp, char:sharp, read:array): Added READ arg. (char:sharp): Renamed from read:sharp-char. (read:sharp): Integrated #; into. * repl.c (scm_read): Renamed from lread(). (loc_charsharp): Renamed from loc_readsharpc. (loc_loadsharp): Added to separate LOAD-macros from READ-macros. (f_read_numbered): Removed unused variable. (repl, tryload, scm_load_string): Use scm_read_numbered(). (lreadpr): Dispatch to loc_readsharp or loc_loadsharp depending on nump. * Init5d8.scm (make-array): Alias of create-array. (read:sharp): Feature evaluation now slib:provided? * mkimpcat.scm: Added rwb-isam feature. * mkimpcat.scm (primitive-hygiene): Use feature to conditionalize macro association. * scmfig.h (CDR_DOUBLES, SHORT_INT): Added __ia64 #defines. * build.scm (build): processor-family now symbol; i8086 <- 8086. * build.scm (manifest): Added "byte.c". * build.scm (compile-c-files): Removed "-O" and "-Wall" options; use --compiler-options= instead. * build.scm: Use open-table! and open-table. * build (print-manifest, make-features-txi): Use open-table. * build, build.scm: Moved requires to top. * compile.scm, hobbit.scm: Added REQUIRE-IFs. * hobbit.texi (SLIB Logical Procedures): Removed "logical:" aliases. * bench.scm (benchmark-prng): Limit to 1000 samples if no bignums. * r4rstest.scm (inexact->exact): Added tests. (exact->inexact): check for both exact and inexact argument. * r4rstest.scm (6 5 5): Added some kawa chokers: #i, #e. Added more kawa STRING->NUMBER bait. * r4rstest.scm (test-string->number): Implementations which don't allow division by 0 can have fragile string->number. From Sam Hocevar * r4rstest.scm (test-inexact): SECTION 6.2 checks that (not (eqv? 1 1.0)). From Andy Gaynor * Makefile (Xlibscm.info, hobbit.info): Fixed / separators. * unif.c (make_sh_array): Bracket with ifndef RECKLESS. From Radey Shouman * eval.c (m_case): Check on clauses for CASE was confused by line-number annotations. -=-=- 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. ASCII and EBCDIC are supported. Documentation is included explaining the many Scheme Language extensions in scm, the internal representations, and how to extend or include SCM in other programs. Documentation is online at: http://swissnet.ai.mit.edu/~jaffer/SCM.html SCM source is available from: http://swissnet.ai.mit.edu/ftpdir/scm/scm5d9.zip swissnet.ai.mit.edu:/pub/scm/scm5d9.zip http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d9-1.src.rpm swissnet.ai.mit.edu:/pub/scm/scm-5d9-1.src.rpm Also available as i386 binary RPM: http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d9-1.i386.rpm swissnet.ai.mit.edu:/pub/scm/scm-5d9-1.i386.rpm SLIB is a portable Scheme library which SCM uses: http://swissnet.ai.mit.edu/ftpdir/scm/slib3a1.zip swissnet.ai.mit.edu:/pub/scm/slib3a1.zip Also available as RPM: http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a1-1.noarch.rpm swissnet.ai.mit.edu:/pub/scm/slib-3a1-1.noarch.rpm JACAL is a symbolic math system written in Scheme: http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b4.zip swissnet.ai.mit.edu:/pub/scm/jacal1b4.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/wb1b1.zip swissnet.ai.mit.edu:/pub/scm/wb1b1.zip http://swissnet.ai.mit.edu/ftpdir/scm/wb-1b1-1.src.rpm swissnet.ai.mit.edu:/pub/scm/wb-1b1-1.src.rpm Also available as i386 binary RPM: http://swissnet.ai.mit.edu/ftpdir/scm/wb-1b1-1.i386.rpm swissnet.ai.mit.edu:/pub/scm/wb-1b1-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 (282k) is a SCM executable for DOS and MS-Windows. Note: SCM.EXE still requires slib3a1 and scm5d9 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.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz