Nuprl Definition : simple-bind-nxt

simple-bind-nxt(Y; p; a) ==
  let X,ys 
  in let X',b X(a) 
     in let ybs ←─ bag-map(λP.P(a);ys bag-map(Y;b))
        in let ys' ←─ bag-map(λyb.(fst(yb));ybs)
           in let out ←─ ∪yb∈ybs.snd(yb)
              in <<X', ys'>out>



Definitions occuring in Statement :  hdf-ap: X(a) callbyvalueall: callbyvalueall pi1: fst(t) pi2: snd(t) lambda: λx.A[x] spread: spread def pair: <a, b> bag-combine: x∈bs.f[x] bag-append: as bs bag-map: bag-map(f;bs)
simple-bind-nxt(Y;  p;  a)  ==
    let  X,ys  =  p 
    in  let  X',b  =  X(a) 
          in  let  ybs  \mleftarrow{}{}  bag-map(\mlambda{}P.P(a);ys  +  bag-map(Y;b))
                in  let  ys'  \mleftarrow{}{}  bag-map(\mlambda{}yb.(fst(yb));ybs)
                      in  let  out  \mleftarrow{}{}  \mcup{}yb\mmember{}ybs.snd(yb)
                            in  <<X',  ys'>,  out>



Date html generated: 2015_07_17-AM-08_06_49
Last ObjectModification: 2012_11_23-PM-02_10_00

Home Index