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.
miniblog.
Related Posts
The lisp model of programming is generally: write a function, evaluate it, interactively call it with some arguments, iterate. Jupyter notebooks are similar.
Why not automatically evaluate definitions (not expressions) whilst working? It seems like it could be a satisfying way to work with code.
Tried `just` (the task runner) today, and I really like it. npm has scripts, but `just` works anywhere.
Editor integration is also excellent: you can get by with Makefile highlighting, but in Emacs you can even run everything interactively!
https://github.com/casey/just
I've never seen a language add a full-featured REPL later in its life. It's incredibly hard to add "update function definition" interactively.
Clojure is an interesting case. It was developed with a REPL in mind, but the JVM was not. Perhaps the VM matters less here?