Scala-cats: поддержка мемоизации - PullRequest
4 голосов
/ 10 мая 2019

Скалас предоставляет памятку для запоминания. Я надеюсь, что у scala-cats тоже есть подобное решение. Вообще у меня есть черта с разными методами:

trait t {
  def f1:Int = ???
  def f2(i:Int):Int = ???
  def f3(i:Int, s:String):String = ???
}

Если такое решение поддерживается Casts, не могли бы вы привести пример, как:

  1. использовать его для запоминания всех ранее определенных методов на случай, если источники могут быть изменены?

  2. как применить его к внешнему коду, внедрить памятку для вызова клиента, не затрагивая существующие сервисы

  3. как контролировать жизненный цикл запоминания? В общем, мне нужно сохранять результаты по транзакции. Каковы стратегии, чтобы контролировать это? Примеры были бы тоже великолепны!

...