News for hackers. Stuff that matters.
Re:Why Lisp macros are cool, a Perl perspective (2005) by ImprobableTruth on Monday December 16, 2019 @07:32PM (#21809240)
Macros are fully expanded before the rest of the code is executed. Trying to argue that Lisp doesn't have a distinction between compile time and run time because you usually have the compiler (or at least interpreter) available at runtime strikes me as just playing semantics games.
Re:Why Lisp macros are cool, a Perl perspective (2005) by RHSeeger on Tuesday December 17, 2019 @01:33AM (#21811212)
Do you have a citation for this? I was under the impression it was entirely possible for lisp macros to be expanded at runtime. For example, you could have data that is passed to a function and then used as code (because code and data are the same thing). The system doesn't know it's going to be used as code until it is, so the macros can't be expanded until then.
Re:Why Lisp macros are cool, a Perl perspective (2005) by lispm on Tuesday December 17, 2019 @03:44AM (#21811819)
If Lisp uses an interpreter (which runs Lisp source code), you may see macro expansions at runtime.

For compiled code, there usually will be no macro expansion at runtime. Lisp will not macro expand code in compiled code, since all macros need to be expandable at compile-time.

But: if you explicitly want it, you can generate code at runtime and then you need to call EVAL or COMPILE. Then macro expansions might happen.