7 ms·
Interesting. I haven't written much Lisp but I was under the impression DEFUN had some black magic that obviated the need for that.
by felideon 10y ago
Interesting. I haven't written much Lisp but I was under the impression DEFUN had some black magic that obviated the need for that.
- white-flame 10y agoCommon Lisp has a number of various namespaces that symbols can be defined in. Interfaces like DEFUN, DEFMACRO, and DEFINE-SYMBOL-MACRO all are explicit within their domain, and have explicit rules as to what is available when with respect to read/compile/evaluate times. Common Lisp is a very explicit language, and that explicitness allows macros to easily coexist with other code, because nothing is hidden by syntax or "black magic". (By default. Because you can morph the language to do nearly anything you'd want to.)