https://stevelosh.com/blog/2018/07/fun-with-macros-if-let/ is an excellent post on implementing if-let and when-let macros.
It discusses the different ways you could expand the code, and ensuring the macro composes with other (Common) Lisp features.
Really useful macro too, I'm a big fan of the elisp equivalent.
miniblog.
Related Posts
It's so strange that we talk about languages being slow, and have done for years. Computer performance has increased so much in this time.
https://hbfs.wordpress.com/2009/11/10/is-python-slow/ (shared on HN in 2009) discusses Python being slow. My underpowered Thinkpad has 20x the single-threaded performance! https://www.cpubenchmark.net/compare/73vs3766/AMD-Athlon-64-4000+-vs-AMD-Ryzen-5-PRO-4650U
Maybe *relative* performance of languages matters more?
It's so strange that we talk about languages being slow, and have done for years. Computer performance has increased so much in this time.
https://hbfs.wordpress.com/2009/11/10/is-python-slow/ (shared on HN in 2009) discusses Python being slow. My underpowered Thinkpad has 20x the single-threaded perf!
This article discusses how you often need #'foo rather than foo in Clojure code so you can redefine foo whilst testing your app interactively: https://srasu.srht.site/var-evaluation.html
Perhaps function pointers should evaluate to themselves? I wonder if there's a language solution here.
