diff options
| author | bertot | 2004-02-26 13:35:24 +0000 |
|---|---|---|
| committer | bertot | 2004-02-26 13:35:24 +0000 |
| commit | 67fe536720c5ef5bb509249b9a30cbc6f2cebd92 (patch) | |
| tree | 54964d8e58b41b401d097f044d50b03ee68da118 /interp | |
| parent | e6370d38bd56ccd070cb33d257147ace238efc8b (diff) | |
Keep structure information for Fixpoint declaration and Fix terms
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5386 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
| -rw-r--r-- | interp/constrextern.ml | 4 | ||||
| -rw-r--r-- | interp/constrintern.ml | 2 | ||||
| -rw-r--r-- | interp/topconstr.ml | 4 | ||||
| -rw-r--r-- | interp/topconstr.mli | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml index e28065afd8..fa1faf9cf3 100644 --- a/interp/constrextern.ml +++ b/interp/constrextern.ml @@ -1009,7 +1009,7 @@ let rec check_same_type ty1 ty2 = match ty1, ty2 with | CRef r1, CRef r2 -> check_same_ref r1 r2 | CFix(_,(_,id1),fl1), CFix(_,(_,id2),fl2) when id1=id2 -> - List.iter2 (fun (id1,i1,a1,b1) (id2,i2,a2,b2) -> + List.iter2 (fun (id1,i1,_,a1,b1) (id2,i2,_,a2,b2) -> if id1<>id2 || i1<>i2 then failwith "not same fix"; check_same_type a1 a2; check_same_type b1 b2) @@ -1508,7 +1508,7 @@ let rec extern inctx scopes vars r = | RFix (nv,n) -> let listdecl = Array.mapi (fun i fi -> - (fi,nv.(i),extern_type scopes vars tyv.(i), + (fi,nv.(i), None, extern_type scopes vars tyv.(i), extern false scopes vars' bv.(i))) idv in CFix (loc,(loc,idv.(n)),Array.to_list listdecl) diff --git a/interp/constrintern.ml b/interp/constrintern.ml index c6a819d440..bfd74a5aa2 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -528,7 +528,7 @@ let rec intern_cases_pattern scopes aliases tmp_scope = function let rec intern_fix = function | [] -> ([],[],[],[]) - | (fi, n, c, t)::rest-> + | (fi, n, on, c, t)::rest-> let (lf,ln,lc,lt) = intern_fix rest in (fi::lf, n::ln, c::lc, t::lt) diff --git a/interp/topconstr.ml b/interp/topconstr.ml index 7dda9a3175..3d26e9d7f8 100644 --- a/interp/topconstr.ml +++ b/interp/topconstr.ml @@ -361,7 +361,7 @@ type constr_expr = | CDelimiters of loc * string * constr_expr | CDynamic of loc * Dyn.t -and fixpoint_expr = identifier * int * constr_expr * constr_expr +and fixpoint_expr = identifier * int * int option * constr_expr * constr_expr and cofixpoint_expr = identifier * constr_expr * constr_expr @@ -518,7 +518,7 @@ let map_constr_expr_with_binders f g e = function let e' = option_fold_right (name_fold g) ona e in CIf (loc,f e c,(ona,option_app (f e') po),f e b1,f e b2) | CFix (loc,id,dl) -> - CFix (loc,id,List.map (fun (id,n,t,d) -> (id,n,f e t,f e d)) dl) + CFix (loc,id,List.map (fun (id,n,on,t,d) -> (id,n,on,f e t,f e d)) dl) | CCoFix (loc,id,dl) -> CCoFix (loc,id,List.map (fun (id,t,d) -> (id,f e t,f e d)) dl) diff --git a/interp/topconstr.mli b/interp/topconstr.mli index c6be360284..d35418b515 100644 --- a/interp/topconstr.mli +++ b/interp/topconstr.mli @@ -107,7 +107,7 @@ type constr_expr = | CDelimiters of loc * string * constr_expr | CDynamic of loc * Dyn.t -and fixpoint_expr = identifier * int * constr_expr * constr_expr +and fixpoint_expr = identifier * int * int option * constr_expr * constr_expr and cofixpoint_expr = identifier * constr_expr * constr_expr |
