Nuprl Definition : array-monad

array-monad(AType) ==
  mk_monad(λT.(Arr(AType) ⟶ (T × Arr(AType)));λv,A. <v, A>m,k,A. let fst((m A)) in let A' snd((m A)) in A')



Definitions occuring in Statement :  Arr: Arr(AType) mk_monad: mk_monad(M;return;bind) let: let pi1: fst(t) pi2: snd(t) apply: 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: 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