You can redefine function application in Racket! This would be really handy for tracing or debugging.
miniblog.
Related Posts
I like the concept of a REPL: an interactive environment where you can redefine code and evaluate snippets to see the result.
I try to avoid the term "REPL" though. Most languages don't use "read" for parsing (the R) and it's confusing. Are there good alternatives?
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.
Are there any programming languages that combine REPL-style "redefine a single function" development with static typing?
I feel like many languages are prioritising the latter, but in principle we could totally have both.

