[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
erasure words
Looking at the "sa" debate, it appears that people have come up with
more than one useful set of semantics for it:
* erase up to and including the previous instance of the following word
* erase up to and including the previous word of the same selma'o as
the following word
* erase until the next word can legally follow
To which I'd like to add another possibility along the same lines:
* erase up to and including the previous word that is in the same category
as the following word, using broader categories than selma'o, so that
"le broda sa la broda" preprocesses to "la broda"
And I came to the conclusion that we've got more useful erase operators
than we have words assigned to them. Perhaps some of the expanded cmavo
space should be earmarked for erase operators.
Btw, this earmarking is a protocol engineering technique, and I highly
recommend it. If a Lojban parser sees a cmavo that it doesn't know,
being able to tell at least whether it is an erase operator would be
*very* helpful. Encountering an unrecognised/unimplemented erase operator
throws the whole text into question, and should cause immediate complaint,
whereas an unrecognised non-erase cmavo (even of unknown selma'o) is
more recoverable.
I also think part of the "sa" debate is happening because people are
trying to define it in a very low-level way, operating on words without
regard for grammar. Such low-level operators are indeed useful, but
they're not sufficient for a good preprocessor. See C's preprocessor
for a demonstration of this problem, and Lisp's macros as counterpoint.
I'd like to have some higher-level erase operators that parse what
has gone before and act on that. These would be used to correct
higher-level errors: because they require grammatical text they couldn't
fix grammatical errors, but would be useful when the wrong grammatical
text has been said. Operators to think about:
* erase the sumti currently in progress or just completed
* erase the bridi currently in progress or just completed
* erase back to and including the opening delimiter matched by the
closing delimiter that follows the erase word
This is just what seems useful to me based on a couple of weeks
experience; I'd like to see the opinions of more experienced Lojbanists.
-zefram