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

New special form suggestion: LET-CONSTANT



    Date: Mon, 3 Aug 87 12:07 EDT
    From: Barry Margolin <barmar@Think.COM>

    Today I noticed myself creating DEFCONSTANTS for symbolic constants that
    would only be used by the one function I was writing.  It struck me that
    they really wanted to be local to the function, not top-level variables,
    but I wanted to make sure that the compiler would open-code them, and I
    also wanted to declare their constantness to readers.  There is
    currently no way to do this in Common Lisp (nor, as far as I know, in
    Symbolics Common Lisp, which I was using) without DEFCONSTANT, which
    also creates a useless special variable.

    It seems like a LET-CONSTANT special form, or an &CONSTANT lambda-list
    keyword, would be the right thing for this.  LET-CONSTANT would be to
    DEFPARAMETER what FLET is to DEFUN, and &CONSTANT would be analogous to
    &AUX.

I think a CONSTANT declaration would be better than a new special form.
It would be the value cell equivalent of the INLINE declaration for
functions.

    Actually, for consistency with the names FLET and MACROLET, I suppose
    this should be called CONSTANTLET (although to me that seems like the
    word for a little constant).  However, I never liked those names anyway.

						    barmar@think.com