LINUX.ORG.RU

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

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

1. нарушает ФП

Не нарушает.

4. Как я понял, не нарушает ФП, но выглядит так, как будто это не ФП, а обычное императивное программирование(ИП).

С протаскиванием значений которые выглядят как состояния, то есть ты формулируешь вычисление в терминах чистых функций (State -> Result, NewState) они композиционно составляются, во всём стеке всегда можно читать этот общий для него State, потом весь стек запускается с начальным состоянием и выполняется (до конечного). 3 оптимизирует это прибивая «якобы» состояния к настоящим — конкретной памяти, оставляя возможность явно их вытаскивать сохраняя ссылочную прозрачность, 2 добавляет эффектов (вытаскивать или нет и будет это что-то ломать — на усмотрение, в 1 не ломает).

Исправление quasimoto, :

1. нарушает ФП

Не нарушает.

4. Как я понял, не нарушает ФП, но выглядит так, как будто это не ФП, а обычное императивное программирование(ИП).

С протаскиванием значений которые выглядят как состояния, то есть ты формулируешь вычисление в терминах чистых функций (State -> Result, NewState) они композиционно составляются, в всём стеке всегда можно читать этот общий для него State, потом весь стек запускается с начальным состоянием и выполняется (до конечного). 3 оптимизирует это прибивая «якобы» состояния к настоящим — конкретной памяти, оставляя возможность явно их вытаскивать сохраняя ссылочную прозрачность, 2 добавляет эффектов (вытаскивать или нет и будет это что-то ломать — на усмотрение, в 1 не ломает).

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

1. нарушает ФП

Не нарушает.

4. Как я понял, не нарушает ФП, но выглядит так, как будто это не ФП, а обычное императивное программирование(ИП).

С протаскиванием значений которые выглядят как состояния, то есть ты формулируешь вычисление в терминах чистых функций (State -> Result, NewState) они композиционно составляются, в всём стеке всегда можно читать этот общий для него State, потом весь стек запускается с начальным состоянием и выполняется (до конечного). 3 оптимизирует это прибивая «якобы» состояния к настоящим — конкретной памяти, оставляя возможность явно их вытаскивать сохраняя ссылочную прозрачность, 2 добавляет эффектов (вытаскивать или нет и будет это что-то ломать — на усмотрение).