Work in progress, recovered from old crybaby.
[sod] / src / proto-output.lisp
index 2d62e51..1630de6 100644 (file)
    sequencer items and stores them in its table indexed by name.  Secondly,
    it gathers CONSTRAINTS, which impose an ordering on the items.  Thirdly,
    it can be instructed to invoke the items in an order compatible with the
-   established constraints.
-
-   Sequencer item names may may any kind of object which can be compared with
-   EQUAL.  In particular, symbols, integers and strings are reasonable
-   choices for atomic names, and lists work well for compound names -- so
-   it's possible to construct a hierarchy."))
+   established constraints."))
 
 (export 'ensure-sequencer-item)
 (defgeneric ensure-sequencer-item (sequencer name)
   (:documentation
    "Arrange that SEQUENCER has a sequencer-item called NAME.
 
-   Returns the corresponding SEQUENCER-ITEM object."))
+   Returns the corresponding SEQUENCER-ITEM object.
+
+   Sequencer item names may may any kind of object which can be compared with
+   EQUAL.  In particular, symbols, integers and strings are reasonable
+   choices for atomic names, and lists work well for compound names -- so
+   it's possible to construct a hierarchy."))
 
 (export 'add-sequencer-constraint)
 (defgeneric add-sequencer-constraint (sequencer constraint)
 
    The SEQUENCER is an SEQUENCER instance; the REASON will be a symbol which
    can be matched using an EQL-specializer.  In response, OBJECT should add
-   any constrains and item functions that it wishes, and pass the
+   any constraints and item functions that it wishes, and pass the
    announcement to its sub-objects.  It is not uncommon for an object to pass
    a reason to its sub-objects that is different from the REASON with which
    it was itself invoked.")
    The full syntax isn't quite as described:
 
        sequence-output (STREAMVAR SEQUENCER)
-         { :constrant CONSTRAINT }*
+         { :constraint CONSTRAINT }*
          CLAUSE*
 
        STREAMVAR ::= a symbol
 
    An ITEM-NAME may be a self-evaluating atom (in which case it stands for
    itself, clearly), a symbol (in which case the corresponding variable value
-   is used) or a list of forms (in which case the name used is the list of
+   is used), or a list of forms (in which case the name used is the list of
    the corresponding values).
 
    The behaviour is as follows.  The CONSTRAINTS, if any, are added to the