mirror of
https://github.com/HigherOrderCO/Kind.git
synced 2024-09-11 17:36:02 +03:00
20 lines
434 B
Plaintext
20 lines
434 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)
|
|
|
|
//data Monad (M: * -> *)
|
|
//| new
|
|
//(bind: ∀(A: *) ∀(B: *) ∀(a: (M A)) ∀(b: ∀(a: A) (M B)) (M B))
|
|
//(pure: ∀(A: *) ∀(a: A) (M A))
|