deniok: (Default)
[personal profile] deniok
Напишите представителя класса типов 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.

Date: 2012-04-19 08:17 pm (UTC)
From: [identity profile] voidex.livejournal.com
Ваша получше :)

Date: 2012-04-19 08:21 pm (UTC)
From: [identity profile] deni-ok.livejournal.com
Ещё, кстати, можно подумать над тем, чтобы нарушался только один из законов: Composition или Interchange.

Date: 2012-04-19 09:13 pm (UTC)
From: [identity profile] voidex.livejournal.com
А это у меня как раз сразу получилось :)

http://hpaste.org/67305

Остался последний вариант.

Date: 2012-04-19 09:33 pm (UTC)

Profile

deniok: (Default)
deniok

February 2022

S M T W T F S
  12345
6789101112
13141516171819
20212223 242526
2728     

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 18th, 2025 01:58 pm
Powered by Dreamwidth Studios