once-prog(dfp) ==
  let A,S,init,nxt = dfp
  in <A
     , S
     , init
     , s,m.
        evalall(let s',xout = nxt s m 
                in <case s'
                    of inl(s) =>
                     if bag-null(xout) then inl s  else inr   fi 
                     | inr(z) =>
                     inr  
                   , xout
                   >)>  



Definitions occuring in Statement :  ifthenelse: if b then t else f fi ,  it: ,  spreadn: spread4,  apply: f a,  lambda: x.A[x],  spread: spread def,  pair: <a, b>,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  inr: inr x ,  inl: inl x ,  bag-null: bag-null(bs),  evalall: evalall(t)
Definitions :  spreadn: spread4,  lambda: x.A[x],  evalall: evalall(t),  spread: spread def,  apply: f a,  pair: <a, b>,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  ifthenelse: if b then t else f fi ,  bag-null: bag-null(bs),  inl: inl x ,  inr: inr x ,  it:
FDL editor aliases :  once-prog

once-prog(dfp)  ==
    let  A,S,init,nxt  =  dfp
    in  <A
          ,  S
          ,  init
          ,  \mlambda{}s,m.
                evalall(let  s',xout  =  nxt  s  m 
                                in  <case  s'
                                        of  inl(s)  =>
                                          if  bag-null(xout)  then  inl  s    else  inr  \mcdot{}    fi 
                                          |  inr(z)  =>
                                          inr  \mcdot{} 
                                      ,  xout
                                      >)>   


Date html generated: 2011_08_16-PM-06_17_08
Last ObjectModification: 2011_06_19-PM-07_31_33

Home Index