к
Size: a a a
JS
JS
Monad Maybe = Maybe : _ Monad
JS
let S : Set; then MakePredicate(S)(x) ⇔ x ∈ S
let P : Predicate; then x ∈ MakeSet(P) ⇔ P(x)
MakeSet(MakePredicate(S)) = S
MakePredicate(MakeSet(P)) = P
JS
P(x) <=> (x, True) ∈ P
JS
JS
AV
MK
data TMaybe where
TNothing :: TMaybe
TJust :: forall a. Proxy a -> TMaybe
MK
AP
AP
MK
TJust :: forall a. TMaybe
MK
a
сматчить потом?AP
MK
MK