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

&Rest Lists

In order to clarify the importance of optimized handling of &Rest
arguments, compared to the importance of specifying their semantics more
precisely I have collected some statistics.  The functions used to
collect these are included at the end of this message.  I encourage
others to use these functions to obtain measurements of their own

Using APROPOS it is possible to measure how many functions take &Rest
arguments.  On an Explorer I got the following results:

PACKAGE	  with &Rest  Without Percent
LISP        70           580    10.7
SI          73          3384     2.1
ZWEI        66          2324     2.7
TV          79          1177     6.2
FS          54           707     7.0
FORMAT      11           105     9.4
Subtotal   283          7697     3.5

KEE        234          5120     4.3    (IntelliCorp's package)
Total      517         12817     3.8

Unfortunately, since calls to APPLY are optimized they cannot be
analyzed with WHO-CALLS.  Instead I searched the source code of the NIL
compiler for lines containing the strings "(APPLY" and "&REST".  These
include comment lines, and parsing of argument lists.  (The paren in
"(APPLY" eliminates some of that.)