Здравствуйте, Ночной Смотрящий, Вы писали:
НС>В ФП языках для такого используют паттерн Memoize. Понятно, что внутри оно таки mutable, но снаружи свойство чистоты функции сохраняется.
Как я понял, в ФП языках как раз используют специализированные коллекции, с эффективной реализацией иммутабельности.
Я плохо знаком с миром ФП, и пока что до меня не доходит, каким волшебным образом memoize поможет сделать из мутабельной хеш-таблицы эффективную иммутабельную.
Вообще, важна не мутабельность, а именно чистота, а это все таки не всегда одно и тоже. Т.е. иммутабельный код всегда чистый, а вот обратное не верно.
Ну, я решаю одну узкую задачу: улучшить производительность System.Collections.Immutable.ImmutableList.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.