Greetings! gcl currently does not enforce the arguments limit under certain circumstances (i.e. when all arguments are pushed to the value stack), but does not guarantee a valid call in *every* circumstance unless the number of arguments is less than call-arguments-limit. The Common Lisp standard specifies that there be some implementation defined constant limit, and that complying implementations will have this limit be at least 50. So gcl meets spec here. I think if maxima wants to write to the common lisp standard, it should not require more than 49 arguments per call.
The internal reason for this limit in gcl stems ultimately from the number of free bits in a type word that can specify the number of arguments and their types. We currently use all of 32 bits, so there is no more room for expansion. In any case, it is exceedingly simple to write any function with as little as one argument -- just pass a list. ============================================================================= 5.3.12 call-arguments-limit [Constant Variable] ---------------------------------------------------------------------------------- Constant Value:: ................ An integer not smaller than 50 and at least as great as the value of lambda-parameters-limit, the exact magnitude of which is implementation-dependent. Description:: ............. The upper exclusive bound on the number of arguments that may be passed to a function. See Also:: .......... *note lambda-parameters-limit:: , *note multiple-values-limit:: ============================================================================= Take care, -- Camm Maguire [email protected] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gcl-devel
