Здравствуйте, Sinix, Вы писали:
S>Нашёлся сценарий, который не покрывается текущей реализацией Memoize:
S>нужно кэшировать тяжёлое вычисляемое значение, при этом процесс вычисления зависит от локального состояния, которое кэшировать нельзя.
Если зависит, значит функция нечистая, и корректность Memoize негарантирована.
S> Например, нужна запись в лог, но сам логгер не должен выступать ключом для Memoize.
Ну так передавать стейт через замыкание, не?
Просто я как то столкнулся с похожей проблемой в LazyDictionary, и сделал как ты предлагаешь, но проблем в результате получил целую кучу.
S>Проблемы:
S>* Под капотом придётся использовать ConcurrentDictionary, не LazyDiсtionary.
LazyDictionary в одной из своих реализаций это ConcurrentDictionary и есть
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>