Hacker News new | past | comments | ask | show | jobs | submit login

Lisp macros are compile-time generated code (think "small compiler plugins"); nothing happens at runtime in a compiled implementation.

More importantly, and to tie this back to the OP's comment, I would strongly recommend to implement any non-trivial macro as a "shell" which delegates to a normal function (cf. eval-when); that makes it much easier to debug/trace expansions from the REPL.

In other words: you can have it both ways! :)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: