Search                        Top                                  Index
CHANGES TO LIB FACETS                                         R.Evans June 1982


The new LIB FACETS has now been installed - see HELP FACETS and HELP
MOREFACETS. The old version is in the LOCAL library as OLDFACETS, but will not
remain there for long!

This file describes the differences between the two versions


COMPATIBILITY
-------------

    The only changes required to a program using the old FACETS to make it
work with NEWFACETS are:

    a) change <<< to semrule and >>> to endsemrule
    b) newfacetdata, setfacets and copyfacets no longer available, but
       clearfacet,is,gives  do similar tasks (see HELP *MOREFACETS)


NEW FEATURES
------------

<<< and >>> replaced by semrule and endsemrule

Compilation of rules is faster, since semrule plants code (ie is a syntax word
rather than a macro)

Compilation of rules using defgram and deflex is MUCH faster.

Each facet now has its own property, rather than being an association list, so
running is faster in large systems.

Facets can be traced sensibly (using TRACE as normal).

Semantic rules can be traced using FTRACE - see HELP *NEWFACETS. Tracing uses
systrace so indentation etc. works.

New macro LITERAL - like CATEGORY but test produced is for the word itself,
rather than a list with the word as head (ie suitable for literal words in
list). Main use is with defgram - allows you to put literal words into rules
in the grammar (which you couldn't do in old version).

Procedure ISFACET provided for testing for facets.

Procedure CLEARFACET provided to clear down data stored for a facet
(newfacetdata no longer available).

Operators IS and GIVES provided to make rules easier to write:

    FACET is VAL;    is the same as    VAL -> FACET(self);
    CAT gives FACET; is the same as    FACET(CAT) -> FACET(self);

(setfacets and copyfacets no longer available).

PACKETS impelemented in a simple form. Brackets packet/endpacket localise
the list of semantic rules allowing grouping into smaller units (see HELP
*MOREFACETS).

Library code rationalised and sectioned (section $-facets).


All comments to ROGERE (VAX2). Ta.