-*-text-*-

SPS NEWS:  Changes since previous versions

Tue Jul  6 10:03:37 1993

Satish Venkatesan has contributed patches to support SPS under MIT Scheme
7.1.3 .  These are in the directory mit-scheme .


****************************************************************

Version 1.6.01 (25 March 1993)

Under Chez Scheme 4.1b, define-unchecked would continue to do a set! of the
function name, even though the typecheck failed.  An errant '() was replaced
by #f .

Now prints a version number at load time.

****************************************************************

Bug report:

1.  The LL(1) parser generator does not work properly in the presence of
productions with empty right-hand sides.  We hope to remedy this in a future
version.  [Mon May 20 11:27:40 1991]

****************************************************************

Changes in SPS version 1.6 (April, 1989)

1.  type literal is now type symbol.  symbols are created by expressions of
the form (quote <symbol>), and by reading the non-terminal symbol in the
parser generator.

2. (heterogeneous) is now called (unchecked).  Values of type unchecked are
produced by the the special form (unchecked ....), which takes an arbitrary
argument (not processed by the checker).

3. The Scheme function (list ...) now works the way it should.

4. casefn is now called union-case.  A comment has been added to the manual
suggesting that most of the time one should use define-record-type instead.

5. Code for detecting illegal cycles of type-abbrevs has been removed.  These
are no longer detected.

6. define-record-type now calculates its own name for the case function,
instead of taking a name as an argument.

7. The syntax for define-type-constructor has changed.  The pattern is now:

(define-type-constructor
     (name type-var ...)
     rep-type
     (fn-name fn-type value) ...)

This syntax is changed slightly from old versions:  it declares the
global generics the same way as define-record-type, and individual
functions must have all their generics declared locally with
(generic (x y) ...) .

8. This version includes an LL(1) parser generator.  So some grammars which
previously worked will have to be changed.  Consequently, the top-level
entries for grammars have changed entirely.  See define-grammar in doc.txt .
Also, the format for concrete productions has changed:  the right-hand side is
now enclosed in an extra set of parens.  See doc.txt for an example.



