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

(APPLY #'CONCATENATE 'STRING L)



    Date: 27 FEB 83 22:29 PST
    From: MASINTER.PA@PARC-MAXC.ARPA
    Subject: (APPLY #'CONCATENATE 'STRING L)
    To: Common-Lisp%su-ai@SU-SCORE.ARPA

    The problem is that, as far as I can tell, implementations have
    a limit on the number of arguments they are willing to apply.

I can't find anything in the manual that would permit implementations
to limit the length of an &REST argument.  I certainly hope that
Common Lisp does not allow such restrictions.

The CADR and LM-2 Lisp machines do have such a restriction currently in
certain cases, I believe including the one in the subject of this message
(back-translating from Common Lisp to Zetalisp).  This misimplementation of
APPLY will of course have to be fixed as part of implementing Common
Lisp on those machines.  The 3600 Lisp machine naturally does it right
already, not being so old and moldy.

Does anyone else have an implementation that would have any problem
with APPLY of a function with an &REST parameter to a very long list?

By the way, the manual (Laser edition) says nothing about possible
implementation-dependent restrictions on the number of required and
optional parameters to a function, total size of a function, and
things like that.  I don't know about anyone else's implementations,
but mine have such restrictions, although they are pretty liberal.
The Xerox D machines and the PERQ are probably similar in this respect.
For true portability, minimum maxima ought to be specified, I guess.