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

cleanup status

    Date: Wed, 6 Jan 88 12:51:10 PST
    From: Jon L White <edsel!jonl@labrea.stanford.edu>

    ... There's probably no need for us to lecture the vendors
    on how closely the must adhere to CLtL -- it's their responsibility to
    document their deviations and extensions.

I'm sorry, but I disagree. I do not believe that we with our vendors'
hats on do have the wisdom or the freedom from conflict of interest to
make that decision correctly.

When there was only CLtL, it was obvious what was the right thing and
what was not. It is no longer obvious because our committee is randomizing
things. Our committee must speak clearly to the community about what we
intend so that people who want to adhere to that advice can do so.

It is in vendors' best interest to add as many whizzy features as they
can because it makes for more bullet items on marketing literature, because
bug fixes sound (naively) like an improvement over non-bug fixes, and because
the more you can make your implementation different than CL, the more locked
into your product your customer base becomes.

On the other hand, I believe it is in the community's best interest for
there to be a clear source of authority. For better or worse, a standard
exists with certain features people can depend upon. If people go
changing things around at random, application vendors get screwed trying
to keep up with the different rates of change on the different platforms.
I'm speaking from experience as a Macsyma maintainer (large 3rd party product)
not from my current position as a lisp developer.

In Cloe, the LISP package does exactly what the LISP package in CLtL says
it should. If we wanted to extend anything, we did it on a proprietary package
that shadowed the LISP symbol. For example, CLOE:IF takes a body but LISP:IF
is true to the standard. CLOE:CHAR-EQUAL fixes the CHAR-EQUAL mess, but
LISP:CHAR-EQUAL does what CLtL losingly says it should. I think this is the
right approach for all vendors to take until a standard is reached.

If we don't say this to the community, who can?
If chaos results, who is to blame but us?