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.