aboutsummaryrefslogtreecommitdiffstats
path: root/ANNOUNCE
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:29 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:29 -0800
commit302e3218b7d487539ec305bf23881a6ee7d5be99 (patch)
treebf1adafe552a17b3b78522048bb7c24787696dd3 /ANNOUNCE
parentc7d035ae1a729232579a0fe41ed5affa131d3623 (diff)
downloadscm-302e3218b7d487539ec305bf23881a6ee7d5be99.tar.gz
scm-302e3218b7d487539ec305bf23881a6ee7d5be99.zip
Import Upstream version 5e1upstream/5e1
Diffstat (limited to 'ANNOUNCE')
-rw-r--r--ANNOUNCE283
1 files changed, 173 insertions, 110 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index fc0f9f9..1effd27 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,94 +1,157 @@
-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.
+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.
+
+ * eval.c (macroexp1): Catch more syntax errors: ('f . f)
+ * eval.c (m_case) (definedp): Avoid segfault in cases of syntax
+ error.
+
+From Wim Lewis:
+
+ * Makefile (scmflags): Use "cmp -s" instead of "diff".
+ (x.h): Use -x $CPROTO to test for cproto's existence.
-=-=-
@@ -104,24 +167,24 @@ 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
+ 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
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
+ http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.i386.rpm
+ swissnet.ai.mit.edu:/pub/scm/scm-5e1-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
+ http://swissnet.ai.mit.edu/ftpdir/scm/slib3a2.zip
+ swissnet.ai.mit.edu:/pub/scm/slib3a2.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
+ http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a2-1.noarch.rpm
+ swissnet.ai.mit.edu:/pub/scm/slib-3a2-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
+ http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b5.zip
+ swissnet.ai.mit.edu:/pub/scm/jacal1b5.zip
SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz
@@ -149,13 +212,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/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
+ 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
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
+ http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.i386.rpm
+ swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.i386.rpm
SIMSYNCH is a digital logic simulation system written in SCM.
http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip
@@ -168,7 +231,7 @@ 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.
+Note: SCM.EXE still requires slib3a2 and scm5e1 above.
http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe
swissnet.ai.mit.edu:/pub/scm/scm.exe