Говорили с товарищем про Julia, я ему жаловался, что если struct поменял, то по живому не пере-загрузишь в процесс/REPL, приходится делать фулл стоп, а потом оно медленно встаёт... На эту тему стали раздумывать, а есть ли в каком-либо языке такая фишка, где язык настолько же динамический, но и структы у него есть. Жабоскрипт не подходит 8). Про lisp/smalltalk никто из нас не знает. Да и как оно вообще, теоретические какие есть пути решения?
В ерланге так. Там дизайн такой, что процесс это модуль. у него есть коллбеки. которые типа чистых функций. при старте процесса запускается init и он создает state. это данные процесса. любой тип языка, допустим, мапа. а дальше у тебя сообщение к процессу вызывает коллбек. и в коллбек передается стейт, а ты должен отдать новый стейт и сделать какую-то работу. благодаря такому подходу, код модуля может быть обновлен на ходу, не теряя стейт