
Go backward to Appendices:
Go up to Top
Go forward to References
Appendix: Changes from version 0.98
The main changes are as follows:
- BASIC-ITEMS, SORT-GEN-ITEMS:
- The abstract syntax
now reflects the grouping of basic items of the same kind (sorts,
operations, predicates, variables, axioms).
- Visibility:
- The semantics now enforces linear visibility in
lists of basic items, everywhere except within lists of datatype
declarations. Also, subsort (and isomorphic sort) declarations now
declare all the mentioned sorts.
- FREE-DATATYPE:
- This construct has been added; there are
to be some restrictions on the DATATYPE-DECLs used in it, such
that its models are the same as with a corresponding FREE-SPEC
(but these restrictions are not reflected by the grammar).
- LOCAL-VARS-AXIOMS:
- This construct for declaring
variables local to a group of axioms has been added.
- UNIT-OP-ATTR:
- The unit may now be any TERM, not
just a (constant) OP-NAME.
- ALTERNATIVE:
- There is now explicit indication of
totality/partiality of constructors and selectors.
- PRED-SYMB, OP-SYMB, SYMB:
- The grammar here
has merely been reorganized, to avoid superfluous ambiguity.
- VAR:
-
The distinction between a constant and a variable in a
term is context-dependent, in general, and no longer assumed by the
abstract syntax. A constant can be indicated using a qualified
operation name; an analogous qualification has been added for
indicating variables.
- SUBSORTS:
- More than one subsort can now be given in a
single ALTERNATIVE.
- ISO-DECL:
- This now has a single (list) component.
- TRANSLATION:
-
A construct for requiring symbols to be declared
by a (referenced) specification, without hiding the other symbols, has
been added. Required symbols are simply renamed to themselves.
- REDUCTION:
- The SPEC is now the first component, and the
revealing case has been generalized to allow translation of the
revealed symbols.
- SYMB-ITEMS, SYMB-MAP-ITEMS,
SYMB-OR-MAP-ITEMS:
- The kind of the symbols in such a list can
now also be indicated explicitly, as well as being left implicit.
- CONS-EXTN:
- Conservativeness is now allowed only
an annotation--so the semantics no longer takes account of whether an
extension is conservative.
- GEN-SPEC:
- IMPORTS have been added, and the body is now a
single SPEC.
- GEN-SPEC-INST:
- The overall symbol mapping has been
removed.
- VIEW, FIT-ARG:
-
Constructs for defining views (specification
morphisms) and using them in generic instantiations have been added,
according to the revised proposal resulting from the discussion on the
language design mailing list.
- ARCH-SPEC:
- The new grammar here corresponds closely to that
proposed in Note M-4.
- LIB-NAME:
- This replaces the URL. The LIB-NAME is
to be interpreted relative to a map from LIB-NAMEs to
physical URLs of libraries. Global LIB-IDs identify
registered libraries, whereas local LIB-IDs identify local,
perhaps unregistered, libraries. The list of SIMPLE-IDs may be
interpreted as a path in a file system. The lack of a VERSION
indicates the latest version of the library concerned. (The syntax of
VERSION has not yet been decided.)
- ITEM-NAME-OR-MAP:
- The grammar has merely been
reorganized.
CoFI
Document: CASL/AbstractSyntax --Version 0.99-- 17 February 1998.
Comments to cofi-language@brics.dk
