Not disagreeing with you, I guess. It was just surprising/interesting to read.
Sadly I can't find the quote...
Not disagreeing with you, I guess. It was just surprising/interesting to read.
Sadly I can't find the quote...
What you've said matches my findings. Messages can be typed, however hot code upgrades cannot be. For Gleam we've sacrified hot code loading in exchange for types, which I think is a good trade for most use cases.
Erlang/OTP was designed for systems where the amount of acceptable downtime is 0, you don't want phone calls failing because you have to fix a bug, the solution is a system where you can replace parts of it running live, if you replace a module all processes currently running it will still work normally but any new call to the module will use the updated version of it.
https://blog.appsignal.com/2018/10/16/elixir-alchemy-hot-cod...
We could probably do hot loading in development using type assertions fairly happily.
Quite an interesting set of constraints!
There’s a lot of problems introduced by that.