Хорошо ли вы знаете законы аппликативных функторов?

Apr 19, 2012 21:59

Напишите представителя класса типов Applicative, для которого выполнялись бы законы Identity и Homomorphism:

pure id <*> u = u
pure u <*> pure x = pure (u x)
но не выполнялся бы законы Composition и/или Interchange:

pure (.) <*> u <*> v <*> x = u <*> (v <*> x)
u <*> pure x = pure ($ x) <*> u

UPD. Ну и по ходу дела возникли бонусные вопросы: написать такого представителя, чтобы не выполнялся (a) только Composition; (b) только Interchange.

fprog, haskell, сборник задач и упражнений по Хаскелю, fp

Previous post Next post
Up