Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!hplabs!otter!sfk From: sfk@otter.hple.hp.com (Stephen Knight) Newsgroups: comp.lang.lisp Subject: Re: The BEST way to sum a list Message-ID: <1350018@otter.hple.hp.com> Date: 1 Nov 88 10:28:33 GMT References: <7559@megaron.arizona.edu> Organization: Hewlett-Packard Laboratories, Bristol, UK. Lines: 23 jcp@arizona.edu (John Peterson) writes: > The discussion [comparing different ways to sum a list] > ignores a basic limitation of Common Lisp: call-arguments-limit. A very good point! I would be interested in the typical values of this system parameter. Poplog CL has a default call-arguments-limit of 536870912. Is this unusual? > (There are some very good implementation reasons for this limit. Using > registers for parameter passing yields dramatic speedup, but only a > finite number of registers or psuedo registers are available.) Although this is an explanation, I don't think it is an acceptable justification for strange limits like 50. Sure, there are only a finite number of registers. When they are all used up another parameter passing mechanism is required. This does not seem to be especially impractical or even difficult. I am reminded of a similar case in Pascal, where the guaranteed maximum size of a set is something like 64 -- which is a crippling limitation in terms of guaranteed portability. In these cases one has to make a choice based on the actual limits of popular compilers. Steve Knight