This is code:
(setq mylst '(nil nil nil nil nil nil nil nil nil nil nil nil))
(dolist (item mylst) (println (length item)))
Why the result is:
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
Because (length 'nil) is 3.
On the other hand, (length nil) is 0.
Length applied to a symbol returns the length of the symbol name:
http://www.newlisp.org/downloads/newlisp_manual.html#length
OK, thx.
The difference with common lisp is: In common lisp the (length 'nil) is zero, and in newlisp is the symbols length.