Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The type of code swapping you are doing with the repl, eg coding on the fly in the prod systems, and the type you are doing with erlang are completely different.

Erlang does have a much better deployment story than jvms as far as code swapping.

But AFAIK Clojure is compiling to bytecode and is under the same constraints as the JVM that it is hosted in.



> But AFAIK Clojure is compiling to bytecode and is under the same constraints as the JVM that it is hosted in.

This is true for certain features (protocols, records, and gen-class, which are easy to avoid for everything but high-performance bottlenecks and legacy interop), but vanilla Clojure functions are built around vars, which are specifically designed to support reloading.

edit: it's still primitive compared to Erlang, but it's miles beyond Java.


True good point. I still maintain that it's not a great idea in production and it really doesn't scale. I did stuff like this in single host servers in rails as well. Turns out to not be so repeatable and not a great idea in prod. Also isn't great if you bring down one node of prod or if you have a load that takes more than one box worth of processing.


I agree, but I would qualify that claim: it's not a great idea in production because the tooling to support doing it well doesn't exist, not necessarily because of limitations in the language.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: