LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

Так в любом случае придётся так делать, если надо, чтобы данные не портились.

Иммутабельные данные нельзя испортить же, они могут только устареть. Если мы хотим иметь какое-то изменяемое состояние и читать всегда последнюю версию, достаточно предусмотреть механизм, который будет атомарно заменять старое иммутабельное значение на новое (и прятать под капотом все очереди и блокировки, если они нужны) — как это делают ссылочные типы данных в кложе (atom, ref, agent, var).

Без иммутабельности это всё нормально работать не будет, конечно. (А без эффективной реализации персистентности будет, ahem, неэффективно.)

Исходная версия Nervous, :

Так в любом случае придётся так делать, если надо, чтобы данные не портились.

Иммутабельные данные нельзя испортить же, они могут только устареть. Если мы хотим иметь какое-то изменяемое состояние и читать всегда последнюю версию, достаточно предусмотреть механизм, который будет атомарно заменять старое иммутабельное значение на новое (и прятать под капотом все очереди и блокировки, если они нужны) — как это делают ссылочные типы данных в кложе (atom, ref, agent, var).

Без иммутабельности это всё нормально работать не будет, конечно.