mirror of
https://github.com/HigherOrderCO/Kind.git
synced 2024-10-26 16:20:58 +03:00
14 lines
283 B
Plaintext
14 lines
283 B
Plaintext
Monad
|
|
: ∀(M: ∀(T: *) *) *
|
|
= λM
|
|
$(self: (Monad M))
|
|
∀(P: ∀(x: (Monad M)) *)
|
|
∀(new:
|
|
∀(bind:
|
|
∀(A: *) ∀(B: *) ∀(a: (M A)) ∀(b: ∀(a: A) (M B))
|
|
(M B)
|
|
)
|
|
∀(pure: ∀(A: *) ∀(a: A) (M A))
|
|
(P (Monad.new M bind pure))
|
|
)
|
|
(P self) |