Hacker News new | ask | show | jobs
by ramseynasser 3466 days ago
Fair, but there's an important difference between a tool where live coding is technically possible and a tool designed to support it. Clojure is built from the ground up for the REPL experience and supports e.g. redefining functions seamlessly. The fact that it's functional helps a lot, too, since that means that the order things are defined or executed in matters less.
1 comments

Python is an example of an OO + imperative language with a built in REPL.

My point was that it has to do with if there's an interpreter for the language, and if the interpreter works with your toolchain.

And that with the advent of JIT, that distinction becomes increasingly blurry, because the techniques to compile and link small blocks of code can be used by languages without an interpreter, per se.

Right, Clojure is always compiled and achieves live coding by running on top of VMs that support dynamic code emission.

Python REPLs are quite good, but in my experience order dependent state-mutating code can get tricky in an interactive context. FP helps a lot here.