Hacker News new | ask | show | jobs
by halkony 1254 days ago
So let's say i have a lisp macro along the lines of

(analyze 1 2 expensiveComputation)

In python, to prevent evaluating all arguments when running analyze, I'd have to pass expensiveComputation as a callable or a function partial and remember to call it if I need it.

Whereas in lisp, I can pass whatever expensive variable I want into the macro because it will only get evaluated when using (expensiveComputation ...) and that's baked into the language.