SCM5d2 Released 
Author Message
 SCM5d2 Released

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
        * 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
        * Makefile ( 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
        (rec_prinset): Checks arity of argument procedure.
        * sys.c (sfputc): (sfwrite): (sfgetc): Use scm_cvapply instead of
        (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
        * 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
        * 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
        * 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.


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.

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:

              http://www.*-*-*.com/ ~jaffer/SCM.html

SCM source is available from:
  http://www.*-*-*.com/ (FTP instructions follow)

SLIB is a portable Scheme library which SCM uses:

JACAL is a symbolic math system written in Scheme:

HOBBIT is a compiler for SCM code:

SLIB-PSD is a portable de{*filter*} for Scheme (requires emacs editor):

SMG-SCM is an SMG interface package which works with SCM on VMS.
A VMS version of Unzip is available by anonymous FTP from[ANONYMOUS.MACRO32]UNZIP.EXE.

TURTLSCM is a turtle graphics package which works with SCM on MS-DOS
or X11 machines:

XSCM is a X windows interface package which works with SCM:

MacSCM is a Macintosh applications building package which works with
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.

SIMSYNCH is a digital logic simulation system written in SCM.

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
(SunOS 4.0), Sequent Symmetry (Dynix), Atari ST, and a.out Linux

SCM.EXE (265k) is a SCM executable for DOS and MS-Windows.
Note: SCM.EXE still requires slib2c7 and scm5d2 above.

#! implements "#!" (POSIX) shell-scripts for MS-DOS batch files.
  http://www.*-*-*.com/ #!.zip

Programs for printing and viewing TexInfo documentation (which SCM
has) come with GNU Emacs or can be obtained via ftp from:


  ftp (anonymous)
  cd pub/gnu/jacal

Thu, 23 May 2002 03:00:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. SCM5d2 Released

2. How do I release the SoundManager (was Release SoundManager)

3. 4tH version 3.3d, release 2 released!

4. VO Tools Release 2.050 Released to Production

5. GHC 4.08.1 released (bug-fix release)

6. New release of Linz Oberon V4 Release 2.2

7. NEW RELEASE: Linz Oberon V4, Release 2.1

8. NEW RELEASE: Oberon System 3, Release 2.2

9. NEW RELEASE: Oberon System 3, Release 2.2

10. RELEASED - StandaloneZODB 1.0 release candidate 1

11. Sybase module 0.30 (Graham Ashton release) released

12. csv-0.4 (John Machin release) released


Powered by phpBB® Forum Software