lhsvars(lhs) ==
  let fname,params,ty = lhs in 
  list_accum(vs,p.let fv,bv = vs 
                  in let name,bt,xs = p in 
                     <fv  list-diff(AtomDeq;xs;bv), [name / bv]>;
             <[], []>;
             params @ [<fname, ty>])



Definitions occuring in Statement :  append: as @ bs spreadn: spread3 spread: spread def pair: <a, b> cons: [car / cdr] nil: [] list_accum: list_accum(x,a.f[x; a];y;l) list-diff: list-diff(eq;as;bs) l-union: as  bs atom-deq: AtomDeq
Definitions :  list_accum: list_accum(x,a.f[x; a];y;l) spread: spread def spreadn: spread3 l-union: as  bs list-diff: list-diff(eq;as;bs) atom-deq: AtomDeq append: as @ bs cons: [car / cdr] pair: <a, b> nil: []
FDL editor aliases :  lhsvars

lhsvars(lhs)  ==
    let  fname,params,ty  =  lhs  in 
    list\_accum(vs,p.let  fv,bv  =  vs 
                                    in  let  name,bt,xs  =  p  in 
                                          <fv  \mcup{}  list-diff(AtomDeq;xs;bv),  [name  /  bv]>
                          <[],  []>
                          params  @  [<fname,  ty>])


Date html generated: 2011_08_17-PM-05_11_28
Last ObjectModification: 2011_02_03-PM-05_44_47

Home Index