From: Boris Smilga
Subject: Re: please tell me the design faults of CL & Scheme
Date: 
Message-ID: <kfk865qrqw.fsf@rome.bhasha.com>
Well, more sort of "missing feature" than "misdesign". In [Report]
Scheme, there is such a thing as promises, but no predicate to test an
object for promise nature. The reason for that is, probably, that RnRS
authors had in mind an implementation that implements promises as some
other object type (most likely, procedures), but sometimes the
impossibility to say (promise? obj) annoys me.

Another one would be a standard line-oriented reader or, at least,
some predicate eol-object? which returns true if and only if its
argument is a character or sequence of characters which signifies an
end of line. Without that, granted that Unices, MacOS and Windows all
have different conventions of eol, text-processing becomes somewhat
more difficult to port between platforms. Well, eol-object? would not
be kosher, because in Windows (ah, those Windows again) an end-of-line
is not one character but a two-character sequence, so that eol-object? 
will be hardly compatible with read-char and peek-char. Something like
(read-line _port_) / (read-line) would look more proper.

What else? Perhaps, a separate numeric type for natural numbers (i.e.
non-negative integers)? Not sure about that.

 -BSm