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

Gratuitous incompatibilities



    Date: 17 February 1981 01:22-EST
    From: Kent M. Pitman <kmp at MIT-AI>
    To: BUG-LISP at MIT-AI, BUG-LISPM at MIT-AI
         I note that Y-OR-N-P in Maclisp takes a format arg. In LispM,
         it takes some args I didn't understand when I saw the error
	message.

	Can one or the other of us agree on a cure for this?

When I wrote MacLisp's original Y-OR-N-P (it has since been re-written
by JONL, but apparently retains the same functionality), LISPM's
Y-OR-N-P took two arguments, a stream and a string, in either order.  I
decided that the obvious improvment was that it should take its
arguments like FORMAT, while retaining the compatability check that the
LISPM people also had.  This doesn't seem to have been obvious to the
LISPM people, who shortly after I introduced Y-OR-N-P to MacLisp,
*DELETED* the STREAM STRING order, leaving only the STRING STREAM
ordering of the arguments.  I guess it's my fault for not barfing at
them at that time.  I don't see any reason they couldn't retract this
"improvement", however.

You can be compatible with the LISPM crowd by giving Y-OR-N-P one or two
arguments, with the string being first.  It is unfortunate that the
LISPM people didn't see fit to extend Y-OR-N-P in this obvious manner,
but they have since come up with a fairly winning general query facility
called FQUERY, which takes no stream argument at all (rather it always
uses QUERY-IO, which can be bound if needed), but does provide for a
number of options such as clearing input, selecting a window, providing
for more than just Y or N (or Yes and No), etc.  At some point I'll
probably steal this from them for MacLisp, at which time they will
probably change it incompatibly once again.  Such is life.