Lambda calculus - Combinatory Logic
theory.stanford.edu/~blynn/lambda/cl.htmlVariables are the trickiest part of lambda calculus. And naming is the trickiest part of variables: the most complex code in our lambda evaluator is the part that renames variables to perform capture-avoiding substitutions.
Names are artificial tedious tags whose sole purpose is to aid human comprehension. Can we get rid of them? There ought to be a way to study computation without naming names.
Surprisingly Slow
gregoryszorc.com/blog/2021/04/06/surprisingly-slowThis is the closing-file-handles-on-Windows post.
I'm titling this post Surprisingly Slow because the slowness was either surprising to me or the sub-optimal practices leading to slowness are prevalent enough that I think many programmers would be surprised by their existence.