diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:34 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:34 -0800 |
commit | 50eb784bfcf15ee3c6b0b53d747db92673395040 (patch) | |
tree | 60f039bb5aa27bc58d92ab0c7bab0d82dbfe7686 /ANNOUNCE | |
parent | ae2b295c7deaf2d7c18ad1ed9b6050970e56bae7 (diff) | |
download | scm-50eb784bfcf15ee3c6b0b53d747db92673395040.tar.gz scm-50eb784bfcf15ee3c6b0b53d747db92673395040.zip |
Import Upstream version 5e3upstream/5e3
Diffstat (limited to 'ANNOUNCE')
-rw-r--r-- | ANNOUNCE | 237 |
1 files changed, 125 insertions, 112 deletions
@@ -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 |