Nuprl Definition : array-monad
array-monad(AType) ==
mk_monad(λT.(Arr(AType) ⟶ (T × Arr(AType)));λv,A. <v, A>;λm,k,A. let v = fst((m A)) in let A' = snd((m A)) in k v A')
Definitions occuring in Statement :
Arr: Arr(AType)
,
mk_monad: mk_monad(M;return;bind)
,
let: let,
pi1: fst(t)
,
pi2: snd(t)
,
apply: f a
,
lambda: λx.A[x]
,
function: x:A ⟶ B[x]
,
pair: <a, b>
,
product: x:A × B[x]
Definitions occuring in definition :
mk_monad: mk_monad(M;return;bind)
,
function: x:A ⟶ B[x]
,
product: x:A × B[x]
,
Arr: Arr(AType)
,
pair: <a, b>
,
lambda: λx.A[x]
,
pi1: fst(t)
,
let: let,
pi2: snd(t)
,
apply: f a
FDL editor aliases :
array-monad
Latex:
array-monad(AType) ==
mk\_monad(\mlambda{}T.(Arr(AType) {}\mrightarrow{} (T \mtimes{} Arr(AType)));\mlambda{}v,A. <v, A>\mlambda{}m,k,A. let v = fst((m A)) in
let A' = snd((m A)) in
k v A')
Date html generated:
2016_05_15-PM-02_17_44
Last ObjectModification:
2015_09_23-AM-07_38_30
Theory : monads
Home
Index