Я пытаюсь понять "Löb и möb: странные петли в Haskell" , но сейчас смысл отлучился от меня, я просто не понимаю, почему это может быть полезно. Просто для вызова функции loeb
определяется как
loeb :: Functor f => f (f a -> a) -> f a
loeb x = go where go = fmap ($ go) x
или эквивалентно:
loeb x = go
where go = fmap (\z -> z go) x
В статье приведен пример с реализацией функционала []
и электронных таблиц, но он немного чуждо для меня, как и сами таблицы (никогда не использовал их).
Пока я понимаю эту таблицу, я думаю, что это помогло бы многим для меня и других иметь больше примеров, несмотря на списки. Есть ли какое-либо приложение для loeb
для Maybe
или других функторов?