deniok: (Default)
deniok ([personal profile] deniok) wrote2017-01-24 08:22 pm

Инхабитаты зашкаливающих порядков

Инхабитация fmap для монад Cont и Sel - мой любимый дополнительный вопрос на экзамене. Справитесь?
? :: (a -> b) -> ((a -> r) -> r) -> ((b -> r) -> r)
? :: (a -> b) -> ((a -> r) -> a) -> ((b -> r) -> b)
Чтобы помучить студентов посильнее я предлагаю проинхабитировать (<*>) для Cont:
? :: (((a -> b) -> r) -> r) -> ((a -> r) -> r) -> ((b -> r) -> r)
А вот (<*>) для Sel я студентам на экзаменах не даю. Может стоило бы?
? :: (((a -> b) -> r) -> (a -> b)) -> ((a -> r) -> a) -> ((b -> r) -> b)
(Те, кто вызывает джинна, заведомо считаются проигравшими.)
juan_gandhi: (Default)

[personal profile] juan_gandhi 2017-01-24 07:02 pm (UTC)(link)
Переписать в человеческой (категорной) форме - и все очевидно.
Что, конечно, любопытно; что-то с привычной хаскельной нотацией не так (или это со мной не так).