Allowing users to redefine anything at any point has far reaching design consequences, and has helped lisp/Smalltalk IDEs: https://news.ycombinator.com/item?id=16586347
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.