bind-dataflow-aux(P;dfs;a.Q[a]) ==
  rec-dataflow(<P, dfs>;s,m.let P,L = s 
                            in let P',b = P(m) 
                               in let L' = L + bag-map(a.Q[a];b) in
                                   let nxtouts = bag-map(Q.Q(m);L') in
                                   <<P', bag-map(p.(fst(p));nxtouts)>
                                   , pnxtouts.snd(p)
                                   >)



Definitions occuring in Statement :  dataflow-ap: df(a) rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) let: let pi1: fst(t) pi2: snd(t) lambda: x.A[x] spread: spread def pair: <a, b> bag-combine: xbs.f[x] bag-append: as + bs bag-map: bag-map(f;bs)
Definitions :  rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) spread: spread def bag-append: as + bs let: let dataflow-ap: df(a) pair: <a, b> bag-map: bag-map(f;bs) lambda: x.A[x] pi1: fst(t) bag-combine: xbs.f[x] pi2: snd(t)
FDL editor aliases :  bind-dataflow-aux

bind-dataflow-aux(P;dfs;a.Q[a])  ==
    rec-dataflow(<P,  dfs>s,m.let  P,L  =  s 
                                                        in  let  P',b  =  P(m) 
                                                              in  let  L'  =  L  +  bag-map(\mlambda{}a.Q[a];b)  in
                                                                      let  nxtouts  =  bag-map(\mlambda{}Q.Q(m);L')  in
                                                                      <<P',  bag-map(\mlambda{}p.(fst(p));nxtouts)>,  \mcup{}p\mmember{}nxtouts.snd(p)>)


Date html generated: 2011_08_16-AM-09_49_05
Last ObjectModification: 2011_04_27-PM-01_31_05

Home Index