Page Numbers: Yes First Page: 1
Heading:
April 26, 1979 6:37 PM [IVY]<KRL>document>str-formal-rec-old
The real KRL records (short form)

(DATATYPE UNIT ((uduFlg BITS 1)
UNAME slots uNotes))
The field UNAME is used instead of unitName because unitName is defined as an access function which creates a unitName if none exists before.
(RECORD Slot (slotName sNotes slotDescriptor))
(RECORD Footnote (noteNumber noteUsedFlg . noteValue))
(RECORD NoteRef (refNumber refStruc . storeFn))
(RECORD DESCRIPTOR (dT . dBody)
dT ← (QUOTE UNDEFINED))
(RECORD Perspective (dT . dBody)
dT ← (QUOTE PERSPECTIVE)
(RECORD dBody (prototype . fillerPairs)))
(RECORD FILLERPAIR (pairName . pairFiller))
(RECORD Specification (dT . dBody)
dT ← (QUOTE SPECIFICATION)
(RECORD dBody (slotSpecifier view . targetDescription)))
(RECORD ImplicitAnd (dT . andSeq)
dT ← (QUOTE IMPAND))
(RECORD Functional (dT . dBody)
dT ← (QUOTE FUNCTIONAL)
(RECORD dBody (functionalName . functionalArgs)))
(RECORD Sequence (dT . descSeq)
dT ← (QUOTE SEQUENCE))
(RECORD Set (dT . descSeq)
dT ← (QUOTE SET))
(RECORD ImplicitAnd (dT . andSeq)
dT ← (QUOTE IMPAND))
(RECORD UnitPointer (dT . dBody)
dT ← (QUOTE UNITPOINTER))
(RECORD LispPointer (dT . dBody)
dT ← (QUOTE LISPPOINTER))
(RECORD QuotedDesc (dT . dBody)
dT ← (QUOTE QUOTEDDESC))
(RECORD Case (dT . dBody)
dT ← (QUOTE Case)
(RECORD dBody (keyDescription defaultDesc . casePairs)))
(RECORD CASEPAIR (proDesc . apoDesc))
)
B.3 Discrimination Nets
B.4 Multiple Response Sets
B.5 Caching of Active Forms