X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Flambda-delta%2Fbasic_rg%2FbrgUntrusted.ml;h=c57b6eb1675cafa1a67eeb8ea10e0e14ee994784;hb=b69275324ae2d436f2f4dbb70e0ddcbdf3886636;hp=d08209f120e28ad62a24242ca5c885335af24a8e;hpb=8659e85d49be1ad72622d4d3a73d384b744c3c08;p=helm.git diff --git a/helm/software/lambda-delta/basic_rg/brgUntrusted.ml b/helm/software/lambda-delta/basic_rg/brgUntrusted.ml index d08209f12..c57b6eb16 100644 --- a/helm/software/lambda-delta/basic_rg/brgUntrusted.ml +++ b/helm/software/lambda-delta/basic_rg/brgUntrusted.ml @@ -9,18 +9,24 @@ \ / This software is distributed as is, NO WARRANTY. V_______________________________________________________________ *) +module L = Log module B = Brg module E = BrgEnvironment -module R = BrgReduction module T = BrgType (* Interface functions ******************************************************) +(* to share *) let type_check f g = function - | None -> f None - | Some ((_, _, B.Abst t) as obj) - | Some ((_, _, B.Abbr t) as obj) -> - let f tt obj = f (Some (tt, obj)) in - let f tt = E.set_obj (f tt) obj in - T.type_of f g R.empty_context t - | Some (_, _, B.Void) -> assert false + | None -> f None None + | Some (e, uri, B.Abst t) -> + let f tt obj = f (Some tt) (Some obj) in + let f xt tt = E.set_obj (f tt) (e, uri, B.Abst xt) in + L.loc := e; T.type_of f g B.empty_context t + | Some (e, uri, B.Abbr t) -> + let f tt obj = f (Some tt) (Some obj) in + let f xt tt = E.set_obj (f tt) (e, uri, B.Abbr xt) in + L.loc := e; T.type_of f g B.empty_context t + | Some (e, uri, B.Void) -> + let f obj = f None (Some obj) in + L.loc := e; E.set_obj f (e, uri, B.Void)