"Tobias C. Rittweiler" tcr@freebits.de writes:
Ariel Badichi proposed coalescing a generator's fourth return value (indicating if the returned character is a dispatch macro character) with its first return value (indicating if the generator is exhausted.)
An example of the results returned by the generator, according to my proposal, would be:
:MACRO-DISPATCH-CHAR, ##, #<FN>, (...)
Rather than:
T, ##, #<FN>, T, (...)
I find the former more intelligible. I also find, however, that Stephen Compall has made a strong argument in support of the interface proposed in the draft. If I understand him correctly, it is that there are (and always will be) just two kinds of macro characters, dispatching and non-dispatching, and that by using a boolean to discriminate between them, we save the user the work of mapping them herself in many cases. In light of this argument, I am ready to cope with the unpleasant consequences of the draft's proposal.
Exceptional Situations ......................
Signals an error of type `program-error' if a MACRO-CHAR-TYPE is supplied that is not recognized by the implementation.
The outcome of having a non-symbol given as a generator name is not specified. Might it also be the signaling of a `program-error' condition, or should it remain unspecified?
The outcome of having a non-readtable given for iteration is not specified. Should it be the signaling of an error, or should it remain unspecified?
Ariel