2 ms·
> Macros are generally eschewed in Lisp. It's glaringly obvious when and if you need to use a macro, and honestly, most people can go their entire career withou
by lispm 8y ago
> Macros are generally eschewed in Lisp. It's glaringly obvious when and if you need to use a macro, and honestly, most people can go their entire career without pushing a macro into production.
'generally' and 'mostly' wrong, I'd say.
> Code is data is pretty hand-wavey in my opinion. All it's really saying is that, if you call a function with a value, you get a value back. There is no mental quantum leap needed for this.
Does seem completely unrelated. Code is data means that source code has a non-trivial direct external and internal representation other than text strings (in Lisp typically s-expressions / nested lists of atoms) and operations over it: reading, printing, destructuring, constructing, evaluation, transforming. This enables programmers to easily write programs which write programs.