Определить
def memoizeCoeval(n: Int): Coeval[Int] = {
if (n <= 1)
Coeval.now(1)
else
Coeval.defer(memoizeCoeval(n - 1)).map(_ + 1).memoize
}
Теперь
memoizeCoeval(10000).value
удаляет стек.Если мы удалим .memoize
из рекурсивного вызова, он будет работать (как и ожидалось).Почему?