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

Re: Issue: SETF-PLACES (Version 1)



On the whole, I like this approach a lot more than the function spec
approach in issue SETF-FUNCTION-VERSUS-MACRO.

I am a little uncomfortable with removing the ability of the compiler
to complain about undefined places in SETF calls, but can live with
that if it's necessary for CLOS.

The names UNDERLYING-NAME and UNDERLYING-NAME-TO-SPEC don't seem very
good to me; they don't really convey what the functions do.  Although
it would cause a slight amount of extra work for CLOS, I would rather
banish the idea of function specs entirely from the non-CLOS part of
the language and see functions like

    (SETF-FUNCTION <setf-place-symbol>)

and its inverse

    (SETF-PLACE <setf-function>)

For example, an implementation that doesn't support function specs might
do this as:

    (SETF-FUNCTION 'FOO) ==> SETF:4.USER.FOO
    (SETF-PLACE 'SETF:4.USER.FOO) ==> FOO

and an implementation that does have them might return:

    (SETF-FUNCTION 'FOO) ==> (SETF FOO)
    (SETF-PLACE '(SETF FOO)) ==> FOO

-Sandra
-------