Здравствуйте! Подскажите, есть ли в PascalABC.NET аналог lru_cache (list recently used) из модуля functools языка Python, который “запоминает” недавно использованные значения функций?
В смысле, игрушка для мемоизации? Нет.
Функцию которая создаёт обёртку с кэшем для любой другой функции не получится сделать, потому что статическая типизация.
Но объект который используется для самого кэша, то есть хеш-таблица для поиска значения по ключу, это Dictionary<TKey, TValue>.
Для значений ещё можно использовать System.WeakReference, чтоб автоматически удалять объекты которые давно не использовались, если оперативки не хватает. Но тогда надо будет по-умному удалять и соответствующие ключи из словаря.
Наверное ещё 1 классом-обёрткой значения, с методом Finalize, удаляющим свой ключ из словаря.
Я изучаю шарп больше года, и понимаю, что тут написано. Но человек, который задал подобный вопрос, вряд ли имеет такие же познания в .NET
И это отличная причина, чтобы оставить в покое сию “крамольную” мысль.
И это отличная причина чтоб ТС пользовался гуглом, а не просто ждал всех ответов.
Все ответы уже даны в первом сообщении 
В версии 3.8.1 у функций появилась возможность указывать атрибут [cache].
Институт математики, механики и компьютерных наук ЮФУ, 2005–2021