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

Issue: ALIST-NIL



    Date: Wed, 14 Sep 88 08:02:38 PDT
    From: vanroggen%aitg.DEC@decwrl.dec.com

    I've put out an open query of our internal users to see if anyone
    actually uses this "feature".  I'd like to support the proposal
    ALIST-NIL:DISALLOW.

    Another reason for adopting this change is that the xASSOCx functions
    would typically be faster in many implementations, since they wouldn't
    have to explicitly check for atoms or NIL's.  Since association lists
    are often heavily used, the proposal would also have a positive impact
    on performance.

To my surprise, we didn't have any trouble implementing this feature
(ASSOC skips over NILs where it expects conses) in hardware in the
Ivory microprocessor.  It didn't even slow it down.

This is not to say that I think a less tightly integrated Lisp
implementation would not be slowed down by this feature.  Note,
however, that you don't have to check for NIL until after you
think you've found the matching CAAR (assuming you have a typical
implementation where CAR of NIL works with the same open-coded
instructions as CAR of a cons), so the slowdown is not proportional
to the length of the list.

I'm neutral on the cleanup issue.