summaryrefslogtreecommitdiffstats
path: root/ANNOUNCE
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:34 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:34 -0800
commit50eb784bfcf15ee3c6b0b53d747db92673395040 (patch)
tree60f039bb5aa27bc58d92ab0c7bab0d82dbfe7686 /ANNOUNCE
parentae2b295c7deaf2d7c18ad1ed9b6050970e56bae7 (diff)
downloadscm-upstream/5e3.tar.gz
scm-upstream/5e3.zip
Import Upstream version 5e3upstream/5e3
Diffstat (limited to 'ANNOUNCE')
-rw-r--r--ANNOUNCE237
1 files changed, 125 insertions, 112 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 2146f92..de05441 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-This message announces the availability of Scheme release scm5e2.
+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
@@ -18,119 +18,132 @@ Links to distributions of SCM and related softwares are at the end of
this message.
-=-=-
-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.
+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/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
+ 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-5e2-1.i386.rpm
- swissnet.ai.mit.edu:/pub/scm/scm-5e2-1.i386.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/slib3a3.zip
- swissnet.ai.mit.edu:/pub/scm/slib3a3.zip
+ 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-3a3-1.noarch.rpm
- swissnet.ai.mit.edu:/pub/scm/slib-3a3-1.noarch.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/jacal1b6.zip
- swissnet.ai.mit.edu:/pub/scm/jacal1b6.zip
+ 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
@@ -158,13 +171,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/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
+ 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-1c2-1.i386.rpm
- swissnet.ai.mit.edu:/pub/scm/wb-1c2-1.i386.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
@@ -177,7 +190,7 @@ 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 slib3a3 and scm5e2 above.
+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
@@ -189,4 +202,4 @@ Note: SCM.EXE still requires slib3a3 and scm5e2 above.
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
+ ftp://ftp.gnu.org/pub/gnu/texinfo/texinfo-4.8.tar.gz