summaryrefslogtreecommitdiffstats
path: root/ANNOUNCE
diff options
context:
space:
mode:
Diffstat (limited to 'ANNOUNCE')
-rw-r--r--ANNOUNCE218
1 files changed, 61 insertions, 157 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 176bf90..062f2da 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,137 +1,31 @@
-This message announces the availability of Scheme release scm5d2.
-
-New in scm5d2:
-
- * Makefile (install): Make sure $(libscmdir)require.scm exists.
- (libscmdir): Use instead of IMPLPATH.
- * repl.c (scm_top_level): Corrected error test on exit in case 0
- is not success.
- (repl): Return MAKINUM(EXIT_SUCCESS) when exiting an interactive
- session on EOF, this should not be an error.
- * build.scm (define-compile-commands): Added.
- (defcommand): Added.
- (platform): formatted; simplified names.
- * Makefile (features.txi): Added.
- * scm.texi (Build Options): take feature documentation from
- "features.txi".
- * build (make-features-txi): Creates documentation of build
- features from 'features table.
- * build.scm (build:define-feature): Added. Feature definitions
- moved to top level.
- * Init5d1.scm (comment): Added.
- (read:sharp): Added `#;' comment syntax, *feature* SHARP:SEMI.
- * sys.c (scm_env_v2lst): Made tolerant to argc of zero,
- since ecache_evalx may call it thus for DO loops binding
- no values.
- * eval.c (debug_env_save): Function for use in ENV_SAVE when the
- CAREFUL_INTS paranoid debugging flag is #defined.
- (ecache_eval_args): Now calls ecache_evalx(), which
- evaluates a list of expressions and returns a list allocated on
- the ecache in scm_env_tmp.
- (m_do): (m_letrec1): (ceval_1): LET, LETREC, and DO now call
- ecache_evalx instead of using inline loops, this seems to improve
- speed by 5% - 10% for jacal and for simsynch simulation. C stack
- usage will increase somewhat for large env frames.
- (lookupcar): Added support for constant bindings, to be created by
- LET, LETREC, LET*.
- * scl.c (dbl_prec): Use dbl_mant_dig in preference of potentially
- undefined DBL_MANT_DIG.
- * gmalloc.c: include "getpagesize.h" conditionalized on __svr4__.
- * build.scm (batch:chop-to-fit-system): Removed. Use new
- batch:try-chopped-command instead.
- (mysql): Added to features.
- (build:build): Added comments describing stages and errors.
- * Makefile: Added platform.txi dependency where dependent on
- scm.texi.
- * Makefile (scm.info require.scm): "cp -p" more portable than "cp -a"?
- * sys.c (mode_bits): Fix for null output string case.
- * unif.c (make_sh_array): Reduced consing by using scm_cvapply
- instead of apply.
- *sys.c (mode_bits): Now takes an optional buffer which, on exit,
- will hold a mode string suitable to pass to fopen(), without any
- SCM extension characters.
- * r4rstest.scm (float-print-test): stop after first error.
- * sys.c (try_open_file): Insure that only 'r', 'w', 'b', or '+'
- may be included in mode strings passed to fopen.
- * repl.c (scm_freshline): Added FRESHLINE.
- * sys.c (init_storage): Make def_outp tracked, so freshline will
- work with it.
- * ramap.c (cind): Now takes C vector of indices, which may be
- allocated on the C stack, rather than a uve.
- (ramapc): (ramap): (ramap_cxr): (array_imap): (array_for_each): (rafe):
- Use scm_cvapply instead of apply, allocate index and argument vectors
- on the C stack for array ranks < 5.
- * record.c (makrectyp): (recprin1): Use scm_cvapply instead of
- apply.
- (rec_prinset): Checks arity of argument procedure.
- * sys.c (sfputc): (sfwrite): (sfgetc): Use scm_cvapply instead of
- apply.
- (mksfpt): Checks arities of soft port procedures when the port is made.
- * eval.c (scm_cvapply): (scm_arity_check): Exported.
- (makacro): (makmacro): (makmmacro): Call scm_cvapply rather than
- consing up argument lists. Check arity of macro transformers
- once, when syntax is defined.
- * subr.c (make_vector): Fixed broken length argument test.
- * sys.c (scm_env_v2lst): Now takes list tail in scm_env_tmp, so
- tail can be allocated on ecache.
- * repl.c (scm_top_level): Print out supplied program arguments for
- failure exits to simplify debugging scripts.
- * eval.c (varcheck): Fixed for RECKLESS case.
- * eval.c (scm_arity_check): (macroexp1): Argument number checking
- in macroexp1 abstracted as scm_arity_check, for use in map,
- for-each ...
- (scm_cvapply): Apply a function to a C vector of arguments, used by
- map and for-each.
- (scm_v2lst): Added for use in scm_cvapply.
- (map): (for_each): Speed considerably improved: No longer allocate
- Scheme vector temporaries for up to 5 list arguments. No longer
- allocate unnecessary argument lists, allocate on ecache if
- possible.
- * repl.c (iprin1): Print out first elt of cclo environment --
- makes record procedures more identifiable.
- * sys.c (scm_env_v2lst): Now takes last cdr of list as argument.
- * sys.c (scm_port_entry): Make 16-bit safe.
- * Tscript.scm: File added to implement transcript-on,
- transcript-off without burdening normal i/o.
- * Init5d1.scm (transcript-on): (transcript-off): Now autoloads
- from SCM/Tscript.scm
- (_TRACKED): Added.
- * socket.c (l_socket): (l_connect): (l_listen): Modified to use
- port table.
- (l_shutdown): (l_getpeername): (l_getsockname): Test for OPFPORTP, not
- just OPPORTP.
- * posix.c (l_pipe): Modified to use port table.
- (prinpipe): Removed.
- * ioext.c (reopen_file): (l_dup): (l_dup2): Modified to use port
- table.
- * crs.c (prinwindow): Removed.
- (mkwindow): Uses scm_port_entry.
- * repl.c (iprin1): Uses "name" field for printing ports.
- (input_waiting): (wait_for_input):
- (trans_on): (trans_off): Removed in favor of soft-port implementation.
- (lputc): (lgetc): (lputs): (lfwrite): (lungetc): Removed check for
- transcript, added line and column number support. Unread char now
- kept in port table rather than CAR.
- (lreadpr): (line_num): Removed line counting for load port, now done
- using general line and column counting.
- (scm_port_line): (scm_port_column): (scm_port_filename): Added.
- (err_head): Now prints out multiple filenames for nested loads.
- Tries to recover from recursive errors if current-error-port is a
- soft-port.
- * unif.c (uve_read): Removed ungetc call, if there is an unread
- character, just call lgetc repeatedly for the first elt.
- * sys.c (must_malloc): (must_realloc): Now check whether the heap
- is initialized or not, so may be called earlier.
- (scm_init_gra): (scm_grow_gra): Use above feature.
- (scm_port_entry): Added, allocates entry in a port table used to store
- unread characters, file names, line & column numbers, &c.
- (mark_port_table): (sweep_port_table): Gc support for port table.
- ptobfuns now has a "name" element, used for printing.
- (prinfport): (prinstpt): (prinsfpt): Removed.
-
- From David Yeh:
- * scl.c (makdbl): Mods to compile using MSVC.
- * scmfig.h: Don't #define SINGLES for MSC.
+This message announces the availability of Scheme release scm5d6.
+
+New in scm5d6:
+
+From Aubrey Jaffer:
+
+ + Tanel Tammet's Hobbit compiler is now integrated into the SCM
+ distribution.
+
+ + hobbit.scm modified for (symbol) GC changes in SCM. Use of
+ scm_gc_protect() instead of lists of protected objects means code
+ produced by Hobbit is smaller and more readable.
+
+ + Converted the hobbit documentation to texinfo format.
+ http://swissnet.ai.mit.edu/~jaffer/hobbit_toc.html
+
+From George Bronnikov:
+
+ + Ported SCM to the PLAN9 operating-system.
+
+From Martin Lafaix
+
+ + scm.c (l_raise, l_sleep):
+ + script.c (dld_find_executable):
+ + scmmain.c, scmfig.h: Ported to OS/2, IBM VisualAge C++ v3.
+
+Plus improvements and bug fixes too numerous to include here (see
+scm/ChangeLog).
-=-=-
@@ -147,51 +41,66 @@ 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/scm5d2.zip
- ftp.gnu.org:pub/gnu/jacal/scm5d2.zip (FTP instructions follow)
+ http://swissnet.ai.mit.edu/ftpdir/scm/scm5d6.zip
+ swissnet.ai.mit.edu:/pub/scm/scm5d6.zip
+ http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d6-1.src.rpm
+ swissnet.ai.mit.edu:/pub/scm/scm-5d6-1.src.rpm
+Also available as i386 binary RPM:
+ http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d6-1.i386.rpm
+ swissnet.ai.mit.edu:/pub/scm/scm-5d6-1.i386.rpm
SLIB is a portable Scheme library which SCM uses:
- http://swissnet.ai.mit.edu/ftpdir/scm/slib2c7.zip
- ftp.gnu.org:pub/gnu/jacal/slib2c7.zip
+ http://swissnet.ai.mit.edu/ftpdir/scm/slib2d4.zip
+ swissnet.ai.mit.edu:/pub/scm/slib2d4.zip
+Also available as RPM:
+ http://swissnet.ai.mit.edu/ftpdir/scm/slib-2d4-1.noarch.rpm
+ swissnet.ai.mit.edu:/pub/scm/slib-2d4-1.noarch.rpm
JACAL is a symbolic math system written in Scheme:
- http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b0.zip
- ftp.gnu.org:pub/gnu/jacal/jacal1b0.zip
+ http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b2.zip
+ swissnet.ai.mit.edu:/pub/scm/jacal1b2.zip
HOBBIT is a compiler for SCM code:
http://swissnet.ai.mit.edu/ftpdir/scm/hobbit5x.tar.gz
- ftp.gnu.org:pub/gnu/jacal/hobbit5x.tar.gz
+ swissnet.ai.mit.edu:/pub/scm/hobbit5x.tar.gz
SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz
- ftp.gnu.org:pub/gnu/jacal/slib-psd1-3.tar.gz
+ swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz
SMG-SCM is an SMG interface package which works with SCM on VMS.
http://swissnet.ai.mit.edu/ftpdir/scm/smg-scm2a1.zip
- ftp.gnu.org:pub/gnu/jacal/smg-scm2a1.zip
+ swissnet.ai.mit.edu:/pub/scm/smg-scm2a1.zip
A VMS version of Unzip is available by anonymous FTP from
ftp.spc.edu:[ANONYMOUS.MACRO32]UNZIP.EXE.
TURTLSCM is a turtle graphics package which works with SCM on MS-DOS
or X11 machines:
http://swissnet.ai.mit.edu/ftpdir/scm/turtlegr.tar.gz
- ftp.gnu.org:pub/gnu/jacal/turtlegr.tar.gz
+ swissnet.ai.mit.edu:/pub/scm/turtlegr.tar.gz
XSCM is a X windows interface package which works with SCM:
http://swissnet.ai.mit.edu/ftpdir/scm/xscm-2.01.tar.gz
- ftp.gnu.org:pub/gnu/jacal/xscm-2.01.tar.gz
+ swissnet.ai.mit.edu:/pub/scm/xscm-2.01.tar.gz
MacSCM is a Macintosh applications building package which works with
SCM (similar to XSCM).
http://swissnet.ai.mit.edu/ftpdir/scm/macscm.tar.Z
+ swissnet.ai.mit.edu:/pub/scm/macscm.tar.Z
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/wb1a2.tar.gz
+ http://swissnet.ai.mit.edu/ftpdir/scm/wb1a7.zip
+ swissnet.ai.mit.edu:/pub/scm/wb1a7.zip
+ http://swissnet.ai.mit.edu/ftpdir/scm/wb-1a7-1.src.rpm
+ swissnet.ai.mit.edu:/pub/scm/wb-1a7-1.src.rpm
+Also available as i386 binary RPM:
+ http://swissnet.ai.mit.edu/ftpdir/scm/wb-1a7-1.i386.rpm
+ swissnet.ai.mit.edu:/pub/scm/wb-1a7-1.i386.rpm
SIMSYNCH is a digital logic simulation system written in SCM.
http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip
- ftp.gnu.org:pub/gnu/jacal/synch1b0.zip
+ swissnet.ai.mit.edu:/pub/scm/synch1b0.zip
DLD is a C library package allowing SCM to dynamically load object
files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation
@@ -199,22 +108,17 @@ 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 (265k) is a SCM executable for DOS and MS-Windows.
-Note: SCM.EXE still requires slib2c7 and scm5d2 above.
+SCM.EXE (282k) is a SCM executable for DOS and MS-Windows.
+Note: SCM.EXE still requires slib2d4 and scm5d6 above.
http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe
+ swissnet.ai.mit.edu:/pub/scm/scm.exe
#! implements "#!" (POSIX) shell-scripts for MS-DOS batch files.
http://swissnet.ai.mit.edu/ftpdir/scm/sharpbang.zip
+ swissnet.ai.mit.edu:/pub/scm/sharpbang.zip
http://swissnet.ai.mit.edu/ftpdir/scm/#!.zip
+ swissnet.ai.mit.edu:/pub/scm/#!.zip
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 (anonymous)
- bin
- cd pub/gnu/jacal
- get slib2c7.zip
- get scm5d2.zip