[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new function or modify read

>>>>> "Marc" == Marc Feeley <feeley@xxxxxxxxxxxxxxxx> writes:

>> And as far as precedent goes, PP (or PRETTY-PRINT) is already
>> widely disseminated through SLIB, if nothing else. There is plenty of
>> precedent for alternate names for alternative I/O operations.

>> I would *not* want all of the
>> writes within a "parameterize"d block to suddenly get
>> pretty-printed. There might be debugging messages buried in
>> there. There might be writes going on to other ports. An out-of-band
>> dynamically scoped write function (or read function) is too horrible
>> to contemplate.

Marc> But this will not happen if you code your calls to write in this style:

Marc>   (parameterize ((write-shared #t)
Marc>                  (write-radix 16)
Marc>                  (write-prettily #t))
Marc>     (write X))

Except your old code doesn't know anything about the presence of all
these flags.  In fact, every new feature controlled via these
parameters might break the old code.  And, as of this SRFI, we don't
know nearly all the features that might exist in the future.

I don't agree that all of these features are sufficiently orthogonal
to just switch them on or off and call a single procedure.  Therefore,
I agree with David on this issue.  At the very least, it's a poor
choice to tack all this functionality onto good old WRITE.

If we later do find a need for a single entry point, then it will be a
trivial matter to define it.  Until then, Bear is (as I see it) trying
to do something conceptually simple, and I'm all for letting him do

(So much for being uncontroversial---this is a bikeshed if I've ever
seen one.)

Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla