|
|
|
|
|
by louai
1713 days ago
|
|
With Lisp-2 designs as discussed in the article this is not an issue, as variables and functions are in different namespaces: CL-USER> (defun foo (list) (list list))
FOO
CL-USER> (foo 42)
(42)
In this case the function attached to the symbol LIST is applied to the argument with the same name, but that isn't a problem.To further illustrate, in the above example the LIST symbol is imported from the package COMMON-LISP and has a function, plist etc. attached to it: CL-USER> (symbol-package 'list)
#<PACKAGE "COMMON-LISP">
CL-USER> (symbol-function 'list)
#<FUNCTION LIST>
CL-USER> (symbol-plist 'list)
NIL
|
|