diff options
Diffstat (limited to 'ANNOUNCE')
| -rw-r--r-- | ANNOUNCE | 306 | 
1 files changed, 126 insertions, 180 deletions
| @@ -1,190 +1,136 @@ -This message announces the availability of Scheme release scm5e1. - -New in scm5e1: - -  * r4rstest.scm: Removed tests for 0^0 in anticipation of SRFI-70. -  * r4rstest.scm (test-numeric-predicates): Raised exponent so -  intransitive 128-bit-float implementations are caught. -  * r4rstest.scm (SECTION 6 5 5): Removed tests for (EXPT 0 -255) -  so Common-Lisp compatible EXPT won't bomb. -  Test EXPT inexactness contagion of zero cases. -  * r4rstest.scm (SECTION 6 5 5): Added exact tests for EXPT. -  Inexact EXPT corner cases should return inexacts. -  * r4rstest.scm: Added URLs. - -  * Transcen.scm (limit): Check and report input errors. -  * Transcen.scm (limit): Added srfi-70 procedure. -  * Transcen.scm (expt, quotient, remainder, modulo): SRFI-70 extensions. -  * Transcen.scm (expt): Changed so (expt 0 -5) signals error. -  EXPT of zero returns zero or one matching input exactness. - -  * Link.scm (link:link): Converted to use with-load-pathname. - -  * Init5d9.scm (numerator, denominator): Check rational. -  * Init5d9.scm (numerator, denominator): Added. -  * Init5d9.scm (with-load-pathname): Moved from slib/require.scm. -  * Init5d9.scm (any-bits-set?, first-set-bit, bitwise-merge): Added -  remaining SRFI-33 aliases. -  * Init5d9.scm (read-array-type): Handle A:char. -  * Init5d9.scm (list->array, vector->array, array->vector): Added. -  * Init5d9.scm: Updated per SRFI-60. -  * Init5d9.scm (arithmetic-shift): Aliases ASH. -  * Init5d9.scm (read:array, read:sharp): Accept whole boatload of -  SRFI-58 sytnaxes. -  * Init5d9.scm (inexact->exact, exact->inexact): Identity when -  exacts-only. -  * Init5d9.scm (slib:eval-load): Converted to use (SLIB) -  with-load-pathname. -  * Init5d9.scm (slib:eval-load): Define moved to "slib/require.scm" -  * Init5d9.scm (read:array): Ignore third argument; line-numbers -  were hosing array reading. - -  * build.scm (dlll gnu-win32): Changed flag to "-DSCM_WIN_DLL". -  (dlll microsoft-c-nt): Changed flag to "-DSCM_WIN_DLL". -  * build.scm (wb): Added for source in ../wb/. -  (build:command): Assume c-files are relative to cd; don't prefix -  c-files with scm-srcdir. -  (compile-dll-c-files): Many were missing include-spec "-I" call. -  * build.scm (compile-dll-c-files): For those platforms supporting -  shared object files, generate just one combining all FILES. -  * build.scm (compile-dll-c-files): Fixed -I for netbsd, openbsd. -  (compile-dll-c-files): Added -I for svr4-gcc-sun-ld. -  (file-categories): Renamed CORE from REQUIRED. - -  * mkimpcat.scm: Support WB compiled in implementation-vicinity. -  * mkimpcat.scm: Added 'DIFF. - -  * xgen.scm, build.bat, inc2scm: Replaced %0 ... %9 with %~f0 %* - -  * scmhob.scm: Moved LOGICAL: aliases from logical.scm. - -  * Makefile (install): Added db.so. -  (uninstall): Beefed up. -  * Makfile (scm5): Added target for undumpable architectures (FC3). -  * Makefile (SETARCH): Workaround for unexec on Fedora Linux i386. -  * Makefile (mydlls): Call BUILD separately for each dll. -  * Makefile (srcdir.mk): Include after target. -  Separated shell assignments and exports. -  * Makefile: (SHOBJS): Abstracted *.sl and *.so. -  * Makefile (db.so, rwb-isam.scm, wbtab.scm): Added. -  * Makefile (differ.so): Added target. - -  * scm.spec (differ.so, Idiffer.scm): Added to %files. - -  * scm.texi (MS-DOS Compatible Scripts): Replaced %0 ... %9 with %~f0 %* -  * scm.texi (SCMDB): Added section with link. -  (Hobbit): Moved notinfo stuff after Xlib so it appears same place -  in all products. -  * scm.texi (Sequence Comparison): Added. -  * scm.texi (SIOD copyright): Put in subsection. -  (The SCM License): Parallel Guile License text. -  * scm.texi (Automatic C Preprocessor Definitions): Added "sun". - -  * scm.h (infi): Nonreal infinity added to sys_protects. -  * scm.h (SCM_WIN_DLL): renamed from SCM_DLL and DLLSCM. - -  * scmfig.h (IS_INF): Removed. - -  * scl.c (scm_complex_p): 0/0 is not complex. -  * scl.c (inf2str): Renamed from NaN2str(). -  (makdbl): Returns `infi' for unreal infinities. -  (scm_rationalp): Added (infinities not). -  * scl.c (scm_intexpt): EXPT of zero behaves like Common-Lisp. -  * scl.c (scm_intexpt): Bombed given (integer-expt 0 25). - -  * subr.c (scm_copybitfield): Changed argument order (SRFI-60). - -  * unif.c (scm_prot2type): Was not defaulting correctly. -  * unif.c (raprin1): Don't elide 1 from #1A. -  * unif.c, sys.c: Sun cc doesn't like fwrite declaration. - -  * byte.c (scm_write_byte): Was hosed for even number of bytes. -  * byte.c (scm_substring_read): Fixed off-by-one reading backwards. - -  * ramap.c (array:copy!): Renamed from array-copy!. -  (array_copy): Arguments reversed. -  * ramap.c (init_ramap): Its tc7_subr_2 not tc7_subr2! -  * ramap.c (rafe): Removed unused variables inc and base. - -  * repl.c (err_head): Fixed "loaded from" messages and formatting. -  * repl.c (iprin1): Slashify uppercase chars in symbols. -  * repl.c (read_token, iprin1, lreadr): Handle slashified symbols. -  * repl.c (handle_it): Added comments.  Call scm_fill_freelist() if -  interrupt lacks handler. -  * repl.c (scm_top_level): Default value of toplvl_fun just once. - -  * differ.c, Idiffer.scm: Linear-space O(PN) sequence comparison. - -  * eval.c (definedp): Added third (dummy) argument. - -From Radey Shouman: - -  * Init5d9.scm (read:array): Make default rank one, not zero. -  (as before). -  * Init5d9.scm (read:array): (read:sharp): (load:sharp): Use read -  argument passed to READ:SHARP only for eval, otherwise unexpected -  line numbers cause trouble.  eg #+(or) in load file. - -  * script.c (find_impl_file): Find executable path accurately -  on MS windows. - -  * scm.texi (Debugging Continuations): Added documenting -  frame-trace, frame->environment, scope-trace, frame-eval. - -  * eval.c (toplevel_define) (scm_arity_check) (ceval_1) -  (scm_cvapply) (apply):  Pass multiple arguments to captured -  continuations, eg: -  (call-with-values (lambda () (call/cc (lambda (k) 1 2))) list) -  Better error checking for multiple-value returns in repl. - -  * sys.c (scm_dynthrow): Allow passing multiple arguments -  to a continuation captured in the producer argument of -  call-with-values. - -  * subr.c (scm_logbitp): Fixed bug in range check for fixnum -  case.  Eg (logbit? 10 #xffff) now correctly returns #t. +This message announces the availability of Scheme release scm5e2. -  * eval.c (macroexp1): Catch more syntax errors: ('f . f) -  * eval.c (m_case) (definedp):  Avoid segfault in cases of syntax -  error. +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. -From Wim Lewis: +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). -  * Makefile (scmflags): Use "cmp -s" instead of "diff". -  (x.h): Use -x $CPROTO to test for cproto's existence. +Documentation and distributions in several formats are linked from +SCM's home page: -				-=-=- +	     http://swissnet.ai.mit.edu/~jaffer/SCM.html -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. +Links to distributions of SCM and related softwares are at the end of +this message. -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: +				-=-=- +scm5e2 news: + +Hinting GCC branch-predictions nets 10% speed improvement for SCM +running the JACAL symbolic mathematics system. + +  * scmfig.h (SCM_EXPECT_TRUE, SCM_EXPECT_FALSE): Added. +  (POSFIXABLE, NEGFIXABLE, UNEGFIXABLE): SCM_EXPECT_TRUE. +  * scmfig.h (__builtin_expect): Added stub for non-gcc compilers. + +  * scm.h: SCM_EXPECT_TRUE and SCM_EXPECT_FALSE replace +  __builtin_expect(). +  (ASRTER, ASRTGO): SCM_EXPECT_FALSE. +  * scm.h (INUMP, IMP, SINGP): Added __builtin_expect() netting more +  than 9% speed improvement in JACAL. + +  * Makefile (scm5.opt, udscm4.opt): Commented out +  -fno-guess-branch-probability flag. +  * Makefile (udscm4.opt, scm5.opt): Condition +  -fno-guess-branch-probability on `type gcc'. +  * Makefile (scm5.opt, udscm4.opt): -fno-guess-branch-probability +  improves benchmark speed 10% on i686. +  (hfiles): Moved to top of file so that dependencies work. + +  * byte.c, continue.c, crs.c, dynl.c, eval.c, gsubr.c, ioext.c, +  posix.c, ramap.c, record.c, repl.c, rope.c, sc2.c, scl.c, scm.c, +  scm.h, socket.c, subr.c, sys.c, time.c, unif.c, unix.c, x.c: +  Regularized `if' syntax. + +  * scm.c (l_pause): __CYGWIN__ now has pause(). +  * scmfig.h (LACK_FTIME): __CYGWIN__ now has ftime(). +  * socket.c (l_lna, l_hostinfo, l_netinfo, l_setnet): Made +  conditional on __CYGWIN__. +  * ioext.c: __CYGWIN__ has <unistd.h>. + +  * scl.c (lasinh, lacosh, latanh): Replaced by libc functions. +  * scl.c (sum, difference, divide): Added BIGDIG* cast to &z. +  * scl.c (numident): Don't bomb given bignums. +  * scl.c (makdbl): (+ -1/0 +5i) ==> -1/0; not 0/0. +  * scl.c (apx_log10): Removed unused variable. +  * scl.c (scm_magnitude): Renamed from magnitude(). +  (scm_abs): Added, real-only. +  * scl.c (safe_add_1): Replaces add1. +  (scm_truncate): Renamed from ltrunc. +  * scm.h (scm_truncate): Renamed from ltrunc. +  (scm_floor, scm_ceiling): Added. +  * subr.c (absval): Moved to scl.c. +  * rope.c (num2dbl): Handle 0/0. +  * scl.c (inf2str): Changed to "+inf.0" and "-inf.0". +  (istr2flo): Parse "+inf.0", "-inf.0", and +  COMPACT_INFINITY_NOTATION. +  (istr2flo, inf2str): COMPACT_INFINITY_NOTATION flag enables +/0 +  and -/0 infinity notations. + +  * Transcen.scm (quo, rem, mod): New names for inexact quotient, +  remainder, and modulo. +  * Init5e1.scm (abs): Is no longer synonym for magnitude. +  * Transcen.scm (exact-round, exact-floor, exact-ceiling) +  (exact-truncate): Added SRFI-70 convenience functions. +  (limit): Removed. +  * Transcen.scm (sequence->limit): Removed use of 1/0 literal. +  * Transcen.scm (expt): 0^0 ==> 1. +  * scl.c (scm_intexpt): 0^0 ==> 1. +  * Transcen.scm, Init5e1.scm (infinite?, finite?): Added. +  * scl.c (makdbl, init_scl): Don't bother with scm_narn for MSC. +  (scm_finitep): Removed to Transcen.scm and Init5e1.scm. +  * scm.h (scm_narn): Renamed from infi. + +  * r4rstest.scm (SECTION 6 5 5): Restored 0^0 test. + +  * hobbit.scm (*c-keywords*): absval --> scm_abs; magnitude --> +  scm_magnitude. + +  * rope.c, scm.c, scm.texi, scmmain.c, script.c, socket.c: Added +  const to argv. +  * scmmain.c, scm.h, scm.c, rope.c, repl.c: Added const decls. + +  * build.scm (build:command): Comment to script: [-p <platform>]. +  * Makefile (turfiles): Added turtle-graphics files. +  * Makefile (DOSCM): Abstracted DOS zip creation. + +  * unexelf.c: Imported from emacs-22.0.50 to fix FC4 build. + +  * differ.c (diff_mid_split): Unused `m' argument removed. + +  * scm.spec (slibpath, dumparch): Added. + +From: Steve VanDevender +  * scmfig.h (SHORT_INT, CDR_DOUBLES): For __x86_64 (AMD Opteron). + +From: Thomas Bushnell +  * scm.doc, scm.1: Corrected spelling errors. -	     http://swissnet.ai.mit.edu/~jaffer/SCM.html +				-=-=-  SCM source is available from: - http://swissnet.ai.mit.edu/ftpdir/scm/scm5e1.zip - swissnet.ai.mit.edu:/pub/scm/scm5e1.zip - http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.src.rpm - swissnet.ai.mit.edu:/pub/scm/scm-5e1-1.src.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/scm5e2.zip + swissnet.ai.mit.edu:/pub/scm/scm5e2.zip + http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e2-1.src.rpm + swissnet.ai.mit.edu:/pub/scm/scm-5e2-1.src.rpm  Also available as i386 binary RPM: - http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.i386.rpm - swissnet.ai.mit.edu:/pub/scm/scm-5e1-1.i386.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e2-1.i386.rpm + swissnet.ai.mit.edu:/pub/scm/scm-5e2-1.i386.rpm  SLIB is a portable Scheme library which SCM uses: - http://swissnet.ai.mit.edu/ftpdir/scm/slib3a2.zip - swissnet.ai.mit.edu:/pub/scm/slib3a2.zip + http://swissnet.ai.mit.edu/ftpdir/scm/slib3a3.zip + swissnet.ai.mit.edu:/pub/scm/slib3a3.zip  Also available as RPM: - http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a2-1.noarch.rpm - swissnet.ai.mit.edu:/pub/scm/slib-3a2-1.noarch.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a3-1.noarch.rpm + swissnet.ai.mit.edu:/pub/scm/slib-3a3-1.noarch.rpm  JACAL is a symbolic math system written in Scheme: - http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b5.zip - swissnet.ai.mit.edu:/pub/scm/jacal1b5.zip + http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b6.zip + swissnet.ai.mit.edu:/pub/scm/jacal1b6.zip  SLIB-PSD is a portable debugger for Scheme (requires emacs editor):   http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz @@ -212,13 +158,13 @@ SCM (similar to XSCM).  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/wb1c1.zip - swissnet.ai.mit.edu:/pub/scm/wb1c1.zip - http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.src.rpm - swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.src.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/wb1c2.zip + swissnet.ai.mit.edu:/pub/scm/wb1c2.zip + http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c2-1.src.rpm + swissnet.ai.mit.edu:/pub/scm/wb-1c2-1.src.rpm  Also available as i386 binary RPM: - http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.i386.rpm - swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.i386.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c2-1.i386.rpm + swissnet.ai.mit.edu:/pub/scm/wb-1c2-1.i386.rpm  SIMSYNCH is a digital logic simulation system written in SCM.   http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip @@ -230,8 +176,8 @@ files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation  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 slib3a2 and scm5e1 above. +SCM.EXE (314k) is a SCM executable for DOS and MS-Windows. +Note: SCM.EXE still requires slib3a3 and scm5e2 above.   http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe   swissnet.ai.mit.edu:/pub/scm/scm.exe | 
