aboutsummaryrefslogtreecommitdiffstats
path: root/ANNOUNCE
diff options
context:
space:
mode:
Diffstat (limited to 'ANNOUNCE')
-rw-r--r--ANNOUNCE306
1 files changed, 126 insertions, 180 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 1effd27..2146f92 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -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