X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Flambda-delta%2Ftoplevel%2FmetaBag.ml;h=991d7e8c2048998628ed3d9d040c7eb15a5f21f0;hb=c35f0cd5d774d92e3158196eead7ecb17cf2f384;hp=cf2c009f49708332338f46a00aa1cfabe0e580b3;hpb=338e3e5c639fbcfeeb347a0121cacc6c0f1fc42a;p=helm.git diff --git a/helm/software/lambda-delta/toplevel/metaBag.ml b/helm/software/lambda-delta/toplevel/metaBag.ml index cf2c009f4..991d7e8c2 100644 --- a/helm/software/lambda-delta/toplevel/metaBag.ml +++ b/helm/software/lambda-delta/toplevel/metaBag.ml @@ -35,38 +35,33 @@ let rec xlate_term c f = function let l = B.new_location () in let f t = f (B.Bind (l, id, B.Abst w, t)) in let f c = xlate_term c f t in - B.push f c l id (B.Abst w) + B.push "meta" f c l id (B.Abst w) in xlate_term c f w let xlate_pars f pars = let map f (id, w) c = let l = B.new_location () in - let f w = B.push f c l id (B.Abst w) in + let f w = B.push "meta" f c l id (B.Abst w) in xlate_term c f w in - C.list_fold_right f map pars B.empty_context + C.list_fold_right f map pars B.empty_lenv let unwind_to_xlate_term f c t = let map f t (l, id, b) = f (B.bind l id b t) in let f t = C.list_fold_left f map t c in xlate_term c f t -let xlate_entry f = function - | e, pars, uri, u, None -> - let f u = f (e, uri, B.Abst u) in +let xlate_entry f = function + | pars, u, None -> let f c = unwind_to_xlate_term f c u in xlate_pars f pars - | e, pars, uri, u, Some (_, t) -> - let f u t = f (e, uri, B.Abbr (B.Cast (u, t))) in + | pars, u, Some t -> + let f u t = f (B.Cast (u, t)) in let f c u = unwind_to_xlate_term (f u) c t in let f c = unwind_to_xlate_term (f c) c u in xlate_pars f pars - -let xlate_item f = function - | None -> f None - | Some e -> let f e = f (Some e) in xlate_entry f e - + (* Interface functions ******************************************************) -let bag_of_meta = xlate_item +let bag_of_meta = xlate_entry