]> matita.cs.unibo.it Git - helm.git/commitdiff
some interfaces improved
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Thu, 10 Sep 2009 13:14:48 +0000 (13:14 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Thu, 10 Sep 2009 13:14:48 +0000 (13:14 +0000)
47 files changed:
helm/software/lambda-delta/.depend.opt
helm/software/lambda-delta/automath/aut.ml
helm/software/lambda-delta/automath/autOutput.ml
helm/software/lambda-delta/automath/autOutput.mli
helm/software/lambda-delta/automath/autParser.mly
helm/software/lambda-delta/automath/autProcess.ml
helm/software/lambda-delta/automath/autProcess.mli
helm/software/lambda-delta/basic_ag/bag.ml
helm/software/lambda-delta/basic_ag/bagEnvironment.ml
helm/software/lambda-delta/basic_ag/bagEnvironment.mli
helm/software/lambda-delta/basic_ag/bagOutput.ml
helm/software/lambda-delta/basic_ag/bagOutput.mli
helm/software/lambda-delta/basic_ag/bagReduction.ml
helm/software/lambda-delta/basic_ag/bagType.ml
helm/software/lambda-delta/basic_ag/bagUntrusted.ml
helm/software/lambda-delta/basic_ag/bagUntrusted.mli
helm/software/lambda-delta/basic_rg/brg.ml
helm/software/lambda-delta/basic_rg/brgEnvironment.ml
helm/software/lambda-delta/basic_rg/brgEnvironment.mli
helm/software/lambda-delta/basic_rg/brgOutput.ml
helm/software/lambda-delta/basic_rg/brgOutput.mli
helm/software/lambda-delta/basic_rg/brgReduction.ml
helm/software/lambda-delta/basic_rg/brgReduction.mli
helm/software/lambda-delta/basic_rg/brgSubstitution.mli
helm/software/lambda-delta/basic_rg/brgType.ml
helm/software/lambda-delta/basic_rg/brgType.mli
helm/software/lambda-delta/basic_rg/brgUntrusted.ml
helm/software/lambda-delta/basic_rg/brgUntrusted.mli
helm/software/lambda-delta/common/Make
helm/software/lambda-delta/common/hierarchy.ml
helm/software/lambda-delta/common/hierarchy.mli
helm/software/lambda-delta/common/item.ml [deleted file]
helm/software/lambda-delta/common/library.ml
helm/software/lambda-delta/common/library.mli
helm/software/lambda-delta/common/unit.ml [new file with mode: 0644]
helm/software/lambda-delta/toplevel/meta.ml
helm/software/lambda-delta/toplevel/metaAut.ml
helm/software/lambda-delta/toplevel/metaAut.mli
helm/software/lambda-delta/toplevel/metaBag.ml
helm/software/lambda-delta/toplevel/metaBag.mli
helm/software/lambda-delta/toplevel/metaBrg.ml
helm/software/lambda-delta/toplevel/metaBrg.mli
helm/software/lambda-delta/toplevel/metaLibrary.ml
helm/software/lambda-delta/toplevel/metaLibrary.mli
helm/software/lambda-delta/toplevel/metaOutput.ml
helm/software/lambda-delta/toplevel/metaOutput.mli
helm/software/lambda-delta/toplevel/top.ml

index 692e237c62d104832aa293ec75fa6dec713856a7..9e2f23a6fd9c701c894b82f3548a6ec436c11c13 100644 (file)
@@ -1,17 +1,9 @@
-lib/nUri.cmi: 
 lib/nUri.cmo: lib/nUri.cmi 
 lib/nUri.cmx: lib/nUri.cmi 
-lib/cps.cmo: 
-lib/cps.cmx: 
-lib/share.cmo: 
-lib/share.cmx: 
-lib/log.cmi: 
 lib/log.cmo: lib/cps.cmx lib/log.cmi 
 lib/log.cmx: lib/cps.cmx lib/log.cmi 
 lib/time.cmo: lib/log.cmi 
 lib/time.cmx: lib/log.cmx 
-automath/aut.cmo: 
-automath/aut.cmx: 
 automath/autProcess.cmi: automath/aut.cmx 
 automath/autProcess.cmo: automath/aut.cmx automath/autProcess.cmi 
 automath/autProcess.cmx: automath/aut.cmx automath/autProcess.cmi 
@@ -25,25 +17,23 @@ automath/autParser.cmo: automath/aut.cmx automath/autParser.cmi
 automath/autParser.cmx: automath/aut.cmx automath/autParser.cmi 
 automath/autLexer.cmo: lib/log.cmi automath/autParser.cmi 
 automath/autLexer.cmx: lib/log.cmx automath/autParser.cmx 
-common/hierarchy.cmi: 
 common/hierarchy.cmo: lib/cps.cmx common/hierarchy.cmi 
 common/hierarchy.cmx: lib/cps.cmx common/hierarchy.cmi 
-common/output.cmi: 
 common/output.cmo: lib/log.cmi common/output.cmi 
 common/output.cmx: lib/log.cmx common/output.cmi 
-common/item.cmo: lib/nUri.cmi automath/aut.cmx 
-common/item.cmx: lib/nUri.cmx automath/aut.cmx 
-common/library.cmi: common/item.cmx common/hierarchy.cmi 
+common/unit.cmo: lib/nUri.cmi automath/aut.cmx 
+common/unit.cmx: lib/nUri.cmx automath/aut.cmx 
+common/library.cmi: common/unit.cmx common/hierarchy.cmi 
 common/library.cmo: lib/nUri.cmi common/hierarchy.cmi common/library.cmi 
 common/library.cmx: lib/nUri.cmx common/hierarchy.cmx common/library.cmi 
-basic_rg/brg.cmo: common/item.cmx 
-basic_rg/brg.cmx: common/item.cmx 
-basic_rg/brgOutput.cmi: lib/log.cmi common/item.cmx basic_rg/brg.cmx 
+basic_rg/brg.cmo: common/unit.cmx 
+basic_rg/brg.cmx: common/unit.cmx 
+basic_rg/brgOutput.cmi: common/unit.cmx lib/log.cmi basic_rg/brg.cmx 
 basic_rg/brgOutput.cmo: common/output.cmi lib/nUri.cmi lib/log.cmi \
     common/hierarchy.cmi lib/cps.cmx basic_rg/brg.cmx basic_rg/brgOutput.cmi 
 basic_rg/brgOutput.cmx: common/output.cmx lib/nUri.cmx lib/log.cmx \
     common/hierarchy.cmx lib/cps.cmx basic_rg/brg.cmx basic_rg/brgOutput.cmi 
-basic_rg/brgEnvironment.cmi: lib/nUri.cmi basic_rg/brg.cmx 
+basic_rg/brgEnvironment.cmi: basic_rg/brg.cmx 
 basic_rg/brgEnvironment.cmo: lib/nUri.cmi basic_rg/brg.cmx \
     basic_rg/brgEnvironment.cmi 
 basic_rg/brgEnvironment.cmx: lib/nUri.cmx basic_rg/brg.cmx \
@@ -68,21 +58,22 @@ basic_rg/brgType.cmx: lib/share.cmx lib/nUri.cmx lib/log.cmx \
     common/hierarchy.cmx lib/cps.cmx basic_rg/brgSubstitution.cmx \
     basic_rg/brgReduction.cmx basic_rg/brgOutput.cmx \
     basic_rg/brgEnvironment.cmx basic_rg/brg.cmx basic_rg/brgType.cmi 
-basic_rg/brgUntrusted.cmi: common/hierarchy.cmi basic_rg/brg.cmx 
+basic_rg/brgUntrusted.cmi: common/hierarchy.cmi basic_rg/brgType.cmi \
+    basic_rg/brg.cmx 
 basic_rg/brgUntrusted.cmo: lib/log.cmi basic_rg/brgType.cmi \
     basic_rg/brgReduction.cmi basic_rg/brgEnvironment.cmi basic_rg/brg.cmx \
     basic_rg/brgUntrusted.cmi 
 basic_rg/brgUntrusted.cmx: lib/log.cmx basic_rg/brgType.cmx \
     basic_rg/brgReduction.cmx basic_rg/brgEnvironment.cmx basic_rg/brg.cmx \
     basic_rg/brgUntrusted.cmi 
-basic_ag/bag.cmo: lib/log.cmi common/item.cmx lib/cps.cmx 
-basic_ag/bag.cmx: lib/log.cmx common/item.cmx lib/cps.cmx 
+basic_ag/bag.cmo: common/unit.cmx lib/log.cmi lib/cps.cmx 
+basic_ag/bag.cmx: common/unit.cmx lib/log.cmx lib/cps.cmx 
 basic_ag/bagOutput.cmi: lib/log.cmi basic_ag/bag.cmx 
 basic_ag/bagOutput.cmo: common/output.cmi lib/nUri.cmi lib/log.cmi \
     common/hierarchy.cmi basic_ag/bag.cmx basic_ag/bagOutput.cmi 
 basic_ag/bagOutput.cmx: common/output.cmx lib/nUri.cmx lib/log.cmx \
     common/hierarchy.cmx basic_ag/bag.cmx basic_ag/bagOutput.cmi 
-basic_ag/bagEnvironment.cmi: lib/nUri.cmi basic_ag/bag.cmx 
+basic_ag/bagEnvironment.cmi: basic_ag/bag.cmx 
 basic_ag/bagEnvironment.cmo: lib/nUri.cmi lib/log.cmi basic_ag/bag.cmx \
     basic_ag/bagEnvironment.cmi 
 basic_ag/bagEnvironment.cmx: lib/nUri.cmx lib/log.cmx basic_ag/bag.cmx \
@@ -113,8 +104,8 @@ basic_ag/bagUntrusted.cmo: lib/log.cmi basic_ag/bagType.cmi \
     basic_ag/bagEnvironment.cmi basic_ag/bag.cmx basic_ag/bagUntrusted.cmi 
 basic_ag/bagUntrusted.cmx: lib/log.cmx basic_ag/bagType.cmx \
     basic_ag/bagEnvironment.cmx basic_ag/bag.cmx basic_ag/bagUntrusted.cmi 
-toplevel/meta.cmo: common/item.cmx 
-toplevel/meta.cmx: common/item.cmx 
+toplevel/meta.cmo: common/unit.cmx 
+toplevel/meta.cmx: common/unit.cmx 
 toplevel/metaOutput.cmi: toplevel/meta.cmx 
 toplevel/metaOutput.cmo: lib/nUri.cmi toplevel/meta.cmx lib/log.cmi \
     lib/cps.cmx toplevel/metaOutput.cmi 
@@ -142,15 +133,15 @@ toplevel/top.cmo: lib/time.cmx common/output.cmi lib/nUri.cmi \
     toplevel/metaOutput.cmi toplevel/metaLibrary.cmi toplevel/metaBrg.cmi \
     toplevel/metaBag.cmi toplevel/metaAut.cmi lib/log.cmi common/library.cmi \
     common/hierarchy.cmi lib/cps.cmx basic_rg/brgUntrusted.cmi \
-    basic_rg/brgType.cmi basic_rg/brgReduction.cmi basic_rg/brgOutput.cmi \
-    basic_rg/brg.cmx basic_ag/bagUntrusted.cmi basic_ag/bagType.cmi \
-    basic_ag/bagOutput.cmi basic_ag/bag.cmx automath/autProcess.cmi \
-    automath/autParser.cmi automath/autOutput.cmi automath/autLexer.cmx 
+    basic_rg/brgReduction.cmi basic_rg/brgOutput.cmi basic_rg/brg.cmx \
+    basic_ag/bagUntrusted.cmi basic_ag/bagType.cmi basic_ag/bagOutput.cmi \
+    basic_ag/bag.cmx automath/autProcess.cmi automath/autParser.cmi \
+    automath/autOutput.cmi automath/autLexer.cmx 
 toplevel/top.cmx: lib/time.cmx common/output.cmx lib/nUri.cmx \
     toplevel/metaOutput.cmx toplevel/metaLibrary.cmx toplevel/metaBrg.cmx \
     toplevel/metaBag.cmx toplevel/metaAut.cmx lib/log.cmx common/library.cmx \
     common/hierarchy.cmx lib/cps.cmx basic_rg/brgUntrusted.cmx \
-    basic_rg/brgType.cmx basic_rg/brgReduction.cmx basic_rg/brgOutput.cmx \
-    basic_rg/brg.cmx basic_ag/bagUntrusted.cmx basic_ag/bagType.cmx \
-    basic_ag/bagOutput.cmx basic_ag/bag.cmx automath/autProcess.cmx \
-    automath/autParser.cmx automath/autOutput.cmx automath/autLexer.cmx 
+    basic_rg/brgReduction.cmx basic_rg/brgOutput.cmx basic_rg/brg.cmx \
+    basic_ag/bagUntrusted.cmx basic_ag/bagType.cmx basic_ag/bagOutput.cmx \
+    basic_ag/bag.cmx automath/autProcess.cmx automath/autParser.cmx \
+    automath/autOutput.cmx automath/autLexer.cmx 
index 4b1dffd9e8b9ebcab2724320fa044c2c7fbd02b8..d05e53d036015768a3df88ba836ad508d0607c64 100644 (file)
@@ -18,7 +18,7 @@ type term = Sort of bool              (* sorts: true = TYPE, false = PROP *)
          | Appl of term * term       (* application: argument, function *)
          | Abst of id * term * term  (* abstraction: name, type, body *)
          
-type item = Section of (bool * id) option  (* section: Some true = open, Some false = reopen, None = close last *)
+type unit = Section of (bool * id) option  (* section: Some true = open, Some false = reopen, None = close last *)
          | Context of qid option          (* context: Some = last node, None = root *)
          | Block of id * term             (* block opener: name, type *)
          | Decl of id * term              (* declaration: name, type *)
index 2f1a4d91c4715ab67b739c40f6b5e1348a734c48..f9467d63e1d10468505e5bb40a95a7fd8bee02ba 100644 (file)
@@ -50,7 +50,7 @@ let rec count_term f c = function
       let f c = count_term f c t in
       count_term f c w
 
-let count_item f c = function
+let count_unit f c = function
    | A.Section _        ->
       f {c with sections = succ c.sections}
    | A.Context _        ->
@@ -68,14 +68,14 @@ let count_item f c = function
 
 let print_counters f c =
    let terms = c.sorts + c.grefs + c.appls + c.absts in
-   let items = c.sections + c.contexts + c.blocks + c.decls + c.defs in
+   let units = c.sections + c.contexts + c.blocks + c.decls + c.defs in
    L.warn (P.sprintf "  Automath representation summary");
-   L.warn (P.sprintf "    Total book items:         %7u" items);
-   L.warn (P.sprintf "      Section items:          %7u" c.sections);
-   L.warn (P.sprintf "      Context items:          %7u" c.contexts);
-   L.warn (P.sprintf "      Block items:            %7u" c.blocks);
-   L.warn (P.sprintf "      Declaration items:      %7u" c.decls);
-   L.warn (P.sprintf "      Definition items:       %7u" c.defs);
+   L.warn (P.sprintf "    Total book units:         %7u" units);
+   L.warn (P.sprintf "      Section units:          %7u" c.sections);
+   L.warn (P.sprintf "      Context units:          %7u" c.contexts);
+   L.warn (P.sprintf "      Block units:            %7u" c.blocks);
+   L.warn (P.sprintf "      Declaration units:      %7u" c.decls);
+   L.warn (P.sprintf "      Definition units:       %7u" c.defs);
    L.warn (P.sprintf "    Total Parameter items:    %7u" c.pars);
    L.warn (P.sprintf "      Application items:      %7u" c.pars);
    L.warn (P.sprintf "    Total term items:         %7u" terms);
index 9d293a97f9b8164bfad7432a15c294b89aad2d8e..fb02ed2d8300fa1b6af58d979a7a5adb3600d89f 100644 (file)
@@ -13,7 +13,7 @@ type counters
 
 val initial_counters: counters
 
-val count_item: (counters -> 'a) -> counters -> Aut.item -> 'a
+val count_unit: (counters -> 'a) -> counters -> Aut.unit -> 'a
 
 val print_counters: (unit -> 'a) -> counters -> 'a
 
index c8e836e79809b7a82f9b397e472064573e100c28..f974b9808397477aea0824aae3d3d5cc59a66e8e 100644 (file)
@@ -32,7 +32,7 @@
    %token TYPE PROP DEF EB E PN EXIT
     
    %start book
-   %type <Aut.item list> book   
+   %type <Aut.unit list> book   
 %%
    path: MINUS {} | FS {} ;
    oftype: CN {} | CM {} ;
@@ -71,7 +71,7 @@
       | term          { [$1]     }
       | term CM terms { $1 :: $3 }
    ;
-   item:
+   unit:
       | PLUS IDENT                    { A.Section (Some (true, $2))  }
       | PLUS TIMES IDENT              { A.Section (Some (false, $3)) }
       | MINUS IDENT                   { A.Section None               }
       | IDENT DEF expand term sc term { A.Def ($1, $6, $3, $4)       }
       | IDENT sc term DEF expand term { A.Def ($1, $3, $5, $6)       }
    ;
-   items:
+   units:
       |            { []       }
-      | item items { $1 :: $2 }
+      | unit units { $1 :: $2 }
    ;
    book:
-      | items eof { $1 }
+      | units eof { $1 }
    ;
index 87fe418650e6779603def9db0e1dd72c32d94ca4..56ecd4ca47a8cb1ef874245c81a24868c63e6f06 100644 (file)
@@ -57,12 +57,12 @@ let proc_global f st =
    in
    exp_count f st
 
-let proc_item f st item = match item with
-   | A.Section section -> proc_section f st section item
-   | A.Context _       -> proc_context f st item  
-   | A.Block _         -> proc_block f st item
-   | A.Decl _          -> proc_global f st item
-   | A.Def _           -> proc_global f st item
+let proc_unit f st unit = match unit with
+   | A.Section section -> proc_section f st section unit
+   | A.Context _       -> proc_context f st unit  
+   | A.Block _         -> proc_block f st unit
+   | A.Decl _          -> proc_global f st unit
+   | A.Def _           -> proc_global f st unit
    
 (* interface functions ******************************************************)
 
@@ -72,6 +72,6 @@ let initial_status = {
    iao = 0; iar = 0; iac = 0; iag = 0
 }
 
-let process_item = proc_item
+let process_unit = proc_unit
 
 let get_counters f st = f st.iao st.iar st.iac st.iag
index 373935e9e20979eece5b48fd9d2a0a2c0e1e1b59..e84f91aee7677d2362fe5861f36d317e1cf678ee 100644 (file)
@@ -13,6 +13,6 @@ type status
 
 val initial_status: status
 
-val process_item: (status -> Aut.item -> 'a) -> status -> Aut.item -> 'a
+val process_unit: (status -> Aut.unit -> 'a) -> status -> Aut.unit -> 'a
 
 val get_counters: (int -> int -> int -> int -> 'a) -> status -> 'a
index 32a9b0c5b983b2361b5495776d6de7575935717e..3fa4568d1d21574de62884f771703a5b8cb8ab20 100644 (file)
@@ -12,8 +12,8 @@
 (* kernel version: basic, absolute, global *)
 (* note          : experimental *) 
 
-type uri = Item.uri
-type id = Item.id
+type uri = Unit.uri
+type id = Unit.id
 
 type bind = Void         (* exclusion *)
           | Abst of term (* abstraction *)
@@ -26,9 +26,9 @@ and term = Sort of int                    (* hierarchy index *)
          | Appl of term * term            (* argument, function *)
          | Bind of int * id * bind * term (* location, name, binder, scope *)
 
-type obj = bind Item.obj (* age, uri, binder *)
+type entry = bind Unit.entry (* age, uri, binder *)
 
-type item = bind Item.item
+type unit = bind Unit.unit
 
 type lenv = (int * id * bind) list (* location, name, binder *) 
 
index f145661723be6b4664d4d841a82d38dd216c3a81..35fab4db32c7f8a59cf58df3e7797072fc534b99 100644 (file)
@@ -18,7 +18,7 @@ exception ObjectNotFound of B.message
 
 let hsize = 7000 
 let env = H.create hsize
-let entry = ref 1
+let age = ref 1
 
 (* Internal functions *******************************************************)
 
@@ -26,10 +26,10 @@ let error uri = raise (ObjectNotFound (L.items1 (U.string_of_uri uri)))
 
 (* Interface functions ******************************************************)
 
-let set_obj f obj =
-   let _, uri, b = obj in
-   let obj = !entry, uri, b in
-   incr entry; H.add env uri obj; f obj
+let set_entry f entry =
+   let _, uri, b = entry in
+   let entry = !age, uri, b in
+   incr age; H.add env uri entry; f entry
 
-let get_obj f uri =
+let get_entry f uri =
    try f (H.find env uri) with Not_found -> error uri
index 6dc2330c1c5283704310da750b4ba580a6e47164..ed94f4e8be63ce06caa9ad7aed67ec11ab5faa0c 100644 (file)
@@ -11,6 +11,6 @@
 
 exception ObjectNotFound of Bag.message
 
-val set_obj: (Bag.obj -> 'a) -> Bag.obj -> 'a
+val set_entry: (Bag.entry -> 'a) -> Bag.entry -> 'a
 
-val get_obj: (Bag.obj -> 'a) -> NUri.uri -> 'a
+val get_entry: (Bag.entry -> 'a) -> Bag.uri -> 'a
index d6633bcd863b5a3615972af0f8175c9459472118..eb3bf05d90bea375409a45151bebe76c936b11c7 100644 (file)
@@ -62,7 +62,7 @@ and count_term f c = function
       let f c = count_term_binder f c b in
       count_term f c t
 
-let count_obj_binder f c = function
+let count_entry_binder f c = function
    | B.Abst w -> 
       let c = {c with eabsts = succ c.eabsts} in
       count_term f c w
@@ -71,11 +71,11 @@ let count_obj_binder f c = function
       count_term f c v
    | B.Void   -> f c
 
-let count_obj f c (_, _, b) =
-   count_obj_binder f c b
+let count_entry f c (_, _, b) =
+   count_entry_binder f c b
 
-let count_item f c = function
-   | Some obj -> count_obj f c obj
+let count_unit f c = function
+   | Some entry -> count_entry f c entry
    | None     -> f c
 
 let print_counters f c =
index 58c63f110b5fd57575c9da604e39603b531df80e..f3761ac1abdc69ac839641a3d950646274ceaeb7 100644 (file)
@@ -13,7 +13,7 @@ type counters
 
 val initial_counters: counters
 
-val count_item: (counters -> 'a) -> counters -> Bag.item -> 'a
+val count_unit: (counters -> 'a) -> counters -> Bag.unit -> 'a
 
 val print_counters: (unit -> 'a) -> counters -> 'a
 
index 3aa576a862bb759256eb5e572a958730e347ec43..628968befdd51b7beda755cf3e322e9beae926bd 100644 (file)
@@ -26,7 +26,7 @@ type machine = {
 type whd_result =
    | Sort_ of int
    | LRef_ of int * B.term option
-   | GRef_ of B.obj
+   | GRef_ of B.entry
    | Bind_ of int * B.id * B.term * B.term
 
 type ho_whd_result =
@@ -83,8 +83,8 @@ let rec whd f c m x =
    match x with
    | B.Sort h                    -> f m (Sort_ h)
    | B.GRef uri                  ->
-      let f obj = f m (GRef_ obj) in
-      E.get_obj f uri
+      let f entry = f m (GRef_ entry) in
+      E.get_entry f uri
    | B.LRef i                    ->
       let f = function
          | B.Void   -> f m (LRef_ (i, None))
index 6adcc408740d55bcadb9ac5f776ad7aba831476e..da808cd4564d13979aca575db67f686400651659 100644 (file)
@@ -68,9 +68,9 @@ let rec b_type_of f ~si g c x =
         | _, _, B.Abbr (B.Cast (w, v)) -> f x w
         | _, _, B.Abbr _               -> assert false
         | _, _, B.Void                 ->
-           error1 "reference to excluded object" c x
+           error1 "reference to excluded entry" c x
       in
-      E.get_obj f uri   
+      E.get_entry f uri   
    | B.Bind (l, id, B.Abbr v, t) ->
       let f xv xt tt =
          f (S.sh2 v xv t xt x (B.bind_abbr l id)) (B.bind_abbr l id xv tt)
index 69112d2fffaa44de83d86ee7d5042f9c57e46c6c..ff5478d9f6e0c2499b96f67361fb8a8b5f6d7452 100644 (file)
@@ -20,13 +20,13 @@ module T = BagType
 let type_check f ?(si=false) g = function
    | None                    -> f None None
    | Some (a, uri, B.Abst t) ->
-      let f tt obj = f (Some tt) (Some obj) in
-      let f xt tt = E.set_obj (f tt) (a, uri, B.Abst xt) in
+      let f tt entry = f (Some tt) (Some entry) in
+      let f xt tt = E.set_entry (f tt) (a, uri, B.Abst xt) in
       L.loc := a; T.type_of f ~si g B.empty_lenv t
    | Some (a, uri, B.Abbr t) ->
-      let f tt obj = f (Some tt) (Some obj) in
-      let f xt tt = E.set_obj (f tt) (a, uri, B.Abbr xt) in
+      let f tt entry = f (Some tt) (Some entry) in
+      let f xt tt = E.set_entry (f tt) (a, uri, B.Abbr xt) in
       L.loc := a; T.type_of f ~si g B.empty_lenv t
    | Some (a, uri, B.Void)   ->
-      let f obj = f None (Some obj) in
-      L.loc := a; E.set_obj f (a, uri, B.Void)
+      let f entry = f None (Some entry) in
+      L.loc := a; E.set_entry f (a, uri, B.Void)
index 3ecd2f0d8e6dc6450cc858ac36b64f35c1a43749..76ba89918c0a058243ac66d6303dce70b658fa2d 100644 (file)
@@ -10,5 +10,5 @@
       V_______________________________________________________________ *)
 
 val type_check:
-   (Bag.term option -> Bag.item -> 'a) -> ?si:bool ->
-   Hierarchy.graph -> Bag.item -> 'a
+   (Bag.term option -> Bag.unit -> 'a) -> ?si:bool ->
+   Hierarchy.graph -> Bag.unit -> 'a
index 52ec4728f0a6ffe13536cb940adfc55cf02bee37..d0a442807a39015da92630c6f03f1b2aac3f2827 100644 (file)
@@ -12,8 +12,8 @@
 (* kernel version: basic, relative, global *)
 (* note          : ufficial basic lambda-delta *) 
 
-type uri = Item.uri
-type id = Item.id
+type uri = Unit.uri
+type id = Unit.id
 
 type attr = Name of bool * id  (* real?, name *)
           | Apix of int        (* additional position index *)
@@ -31,9 +31,9 @@ and term = Sort of attrs * int         (* attrs, hierarchy index *)
          | Appl of attrs * term * term (* attrs, argument, function *)
          | Bind of bind * term         (* binder, scope *)
 
-type obj = bind Item.obj (* age, uri, binder *)
+type entry = bind Unit.entry (* age, uri, binder *)
 
-type item = bind Item.item
+type unit = bind Unit.unit
 
 type lenv = Null
 (* Cons: tail, relative local environment, binder *) 
index 29c6dd4754b86fc75875fe8148ee2e3d0bd26d64..1017092d7afce42c116fd60697813eec3475df26 100644 (file)
@@ -15,16 +15,16 @@ module B = Brg
 
 let hsize = 7000 
 let env = H.create hsize
-let entry = ref 1
+let age = ref 1
 
 (* Internal functions *******************************************************)
 
 (* Interface functions ******************************************************)
 
-let set_obj f obj =
-   let _, uri, b = obj in
-   let obj = !entry, uri, b in
-   incr entry; H.add env uri obj; f obj
+let set_entry f entry =
+   let _, uri, b = entry in
+   let entry = !age, uri, b in
+   incr age; H.add env uri entry; f entry
 
-let get_obj err f uri =
+let get_entry err f uri =
    try f (H.find env uri) with Not_found -> err ()
index ee59f37d31ae05e103546d630f776e69477c1d22..96d6522d9d57b09e09c4bde45a978f48adcf27e3 100644 (file)
@@ -9,6 +9,6 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-val set_obj: (Brg.obj -> 'a) -> Brg.obj -> 'a
+val set_entry: (Brg.entry -> 'a) -> Brg.entry -> 'a
 
-val get_obj: (unit -> 'a) -> (Brg.obj -> 'a) -> NUri.uri -> 'a
+val get_entry: (unit -> 'a) -> (Brg.entry -> 'a) -> Brg.uri -> 'a
index 47005ec6d4d1b227e2a5c5520f11abc1481c9155..1a0b0650e544cf8b9d79b711fcd1c9023483d58a 100644 (file)
@@ -88,7 +88,7 @@ and count_term f c e = function
       let f c = B.push (f c) e b in
       count_term_binder f c e b
 
-let count_obj f c = function
+let count_entry f c = function
    | (_, u, B.Abst (_, w)) -> 
       let c = {c with
          eabsts = succ c.eabsts; nodes = succ c.nodes; uris = u :: c.uris
@@ -103,8 +103,8 @@ let count_obj f c = function
       } in
       f c
 
-let count_item f c = function
-   | Some obj -> count_obj f c obj
+let count_unit f c = function
+   | Some entry -> count_entry f c entry
    | None     -> f c
 
 let print_counters f c =
@@ -275,7 +275,7 @@ and exp_bind c frm = function
    | B.Void a      ->
       F.fprintf frm "<Void%a/>" id a
 
-let exp_obj c frm = function
+let exp_entry c frm = function
    | _, u, B.Abst (a, w) -> 
       let str = U.string_of_uri u in
       let a = B.Name (true, U.name_of_uri u) :: a in
@@ -289,5 +289,5 @@ let exp_obj c frm = function
       let a = B.Name (true, U.name_of_uri u) :: a in
       F.fprintf frm "<VOID uri=%S%a/>" str id a
 
-let export_obj frm obj =
-   F.fprintf frm "@,@[<v3>   %a@]@," (exp_obj B.empty_lenv) obj
+let export_entry frm entry =
+   F.fprintf frm "@,@[<v3>   %a@]@," (exp_entry B.empty_lenv) entry
index 9a3b58b4a5b066f1f7729df4578c2ae48f6aca0f..b9acfd3025b44401c615419cb2ad25ca31d26eb5 100644 (file)
@@ -13,10 +13,10 @@ type counters
 
 val initial_counters: counters
 
-val count_item: (counters -> 'a) -> counters -> Brg.item -> 'a
+val count_unit: (counters -> 'a) -> counters -> Brg.unit -> 'a
 
 val print_counters: (unit -> 'a) -> counters -> 'a
 
 val specs: (Brg.lenv, Brg.term) Log.specs
 
-val export_obj: Format.formatter -> Brg.bind Item.obj -> unit
+val export_entry: Format.formatter -> Brg.bind Unit.entry -> unit
index 71a0d1639f3986a1bed66ecb35203ece83210bc7..e6ea501423b65792c82c084c3c3bc696cc01f521 100644 (file)
@@ -18,7 +18,7 @@ module B = Brg
 module O = BrgOutput
 module E = BrgEnvironment
 
-type machine = {
+type kam = {
    c: B.lenv;
    s: (B.lenv * B.term) list;
    i: int
@@ -78,7 +78,7 @@ let rec step f ?(delta=false) ?(rt=false) m x =
         | e, _, b                        ->
            f m (Some (e, b)) x
       in
-      E.get_obj C.err f uri
+      E.get_entry C.err f uri
    | B.LRef (_, i)             ->
       let f c = function
         | B.Abbr (_, v)         ->
@@ -176,7 +176,7 @@ and ac_stacks err f m1 m2 =
 
 (* Interface functions ******************************************************)
 
-let empty_machine = { 
+let empty_kam = { 
    c = B.empty_lenv; s = []; i = 0
 }
 
index 2ad3bc522eb5039c1d2e11f6979e792c501b4bb8..94f6543e06889c70f2ce768ecf105ea32a0cf4c3 100644 (file)
@@ -9,19 +9,19 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-type machine
+type kam
 
-val empty_machine: machine
+val empty_kam: kam
 
-val get: (unit -> 'a) -> (Brg.bind -> 'a) -> machine -> int -> 'a
+val get: (unit -> 'a) -> (Brg.bind -> 'a) -> kam -> int -> 'a
 
-val push: (machine -> 'a) -> machine -> Brg.bind -> 'a
+val push: (kam -> 'a) -> kam -> Brg.bind -> 'a
 
-val xwhd: (machine -> Brg.term -> 'a) -> machine -> Brg.term -> 'a 
+val xwhd: (kam -> Brg.term -> 'a) -> kam -> Brg.term -> 'a 
 
 (* arguments: expected type, inferred type *) 
 val are_convertible:
    (unit -> 'a) -> (unit -> 'a) -> 
-   ?si:bool -> machine -> Brg.term -> machine -> Brg.term -> 'a
+   ?si:bool -> kam -> Brg.term -> kam -> Brg.term -> 'a
 
-val specs: (machine, Brg.term) Log.specs
+val specs: (kam, Brg.term) Log.specs
index 4c5c9c8a7f7ab69920d2b6f54bc2f52cb7768c0e..f20350af607f6864e830e4f35a4432177ffaea44 100644 (file)
@@ -10,5 +10,6 @@
       V_______________________________________________________________ *)
 
 val lift: (Brg.term -> 'a) -> int -> int -> Brg.term -> 'a
-
+(*
 val lift_bind: (Brg.bind -> 'a) -> int -> int -> Brg.bind -> 'a
+*)
index b26d1b439743fdb9c24d17121698077cc61071f6..cf997e473e0ac7fb02e0565cec13a1ebe88cefaa 100644 (file)
@@ -20,9 +20,7 @@ module E = BrgEnvironment
 module S = BrgSubstitution
 module R = BrgReduction
 
-type message = (R.machine, B.term) Log.item list
-
-exception TypeError of message
+type message = (R.kam, B.term) Log.message
 
 (* Internal functions *******************************************************)
 
@@ -35,8 +33,8 @@ let log1 s m t =
    let s =  s ^ " the term" in
    L.log R.specs level (message1 s m t) 
 
-let error1 s m t =
-   raise (TypeError (message1 s m t))
+let error1 err s m t =
+   err (message1 s m t)
 
 let message3 m t1 t2 ?mu t3 =    
    let sm, st1, st2 = "In the environment", "the term", "is of type" in
@@ -48,23 +46,24 @@ let message3 m t1 t2 ?mu t3 =
          let st3 = "but it must be of type" in
          L.et_items3 sm m st1 t1 st2 t2 st3 t3
    
-let error3 m t1 t2 ?mu t3 =
-   raise (TypeError (message3 m t1 t2 ?mu t3))
+let error3 err m t1 t2 ?mu t3 =
+   err (message3 m t1 t2 ?mu t3)
 
-let assert_convertibility f ~si m u w v =
-   let err _ = error3 m v w u in
+let assert_convertibility err f ~si m u w v =
+   let err _ = error3 err m v w u in
    R.are_convertible err f ~si m u m w 
 
-let assert_applicability f ~si m u w v =
+let assert_applicability err f ~si m u w v =
    let f mu = function
+      | B.Sort _                  -> error1 err "not a function type" m u
       | B.Bind (B.Abst (_, u), _) -> 
-         let err _ = error3 m v w ~mu u in 
+         let err _ = error3 err m v w ~mu u in 
          R.are_convertible err f ~si mu u m w
-      | _                         -> error1 "not a function type" m u
+      | _                         -> assert false
    in
    R.xwhd f m u 
 
-let rec b_type_of f ~si g m x =
+let rec b_type_of err f ~si g m x =
    log1 "Now checking" m x;
    match x with
    | B.Sort (a, h)             ->
@@ -77,9 +76,9 @@ let rec b_type_of f ~si g m x =
            S.lift (f x) (succ i) (0) w
         | B.Abbr _                     -> assert false
         | B.Void _                     -> 
-           error1 "reference to excluded variable" m x
+           error1 err "reference to excluded variable" m x
       in
-      let err _ = error1 "reference to unknown variable" m x in
+      let err _ = error1 err "reference to unknown variable" m x in
       R.get err f m i
    | B.GRef (_, uri)           ->
       let f = function
@@ -87,51 +86,51 @@ let rec b_type_of f ~si g m x =
         | _, _, B.Abbr (_, B.Cast (_, w, _)) -> f x w
         | _, _, B.Abbr _                     -> assert false
         | _, _, B.Void _                     ->
-           error1 "reference to excluded object" m x
+           error1 err "reference to excluded entry" m x
       in
-      let err _ = error1 "reference to unknown object" m x in
-      E.get_obj err f uri   
+      let err _ = error1 err "reference to unknown entry" m x in
+      E.get_entry err f uri   
    | B.Bind (B.Abbr (a, v), t) ->
       let f xv xt tt =
          f (A.sh2 v xv t xt x (B.bind_abbr a)) (B.bind_abbr a xv tt)
       in
-      let f xv m = b_type_of (f xv) ~si g m t in
+      let f xv m = b_type_of err (f xv) ~si g m t in
       let f xv = R.push (f xv) m (B.abbr a xv) in
       let f xv vv = match xv with 
         | B.Cast _ -> f xv
          | _        -> f (B.Cast ([], vv, xv))
       in
-      type_of f ~si g m v
+      type_of err f ~si g m v
    | B.Bind (B.Abst (a, u), t) ->
       let f xu xt tt =
         f (A.sh2 u xu t xt x (B.bind_abst a)) (B.bind_abst a xu tt)
       in
-      let f xu m = b_type_of (f xu) ~si g m t in
+      let f xu m = b_type_of err (f xu) ~si g m t in
       let f xu _ = R.push (f xu) m (B.abst a xu) in
-      type_of f ~si g m u
+      type_of err f ~si g m u
    | B.Bind (B.Void a as b, t) ->
       let f xt tt = 
          f (A.sh1 t xt x (B.bind b)) (B.bind b tt)
       in
-      let f m = b_type_of f ~si g m t in
+      let f m = b_type_of err f ~si g m t in
       R.push f m b   
    | B.Appl (a, v, t)          ->
       let f xv vv xt tt = 
          let f _ = f (A.sh2 v xv t xt x (B.appl a)) (B.appl a xv tt) in
-         assert_applicability f ~si m tt vv xv
+         assert_applicability err f ~si m tt vv xv
       in
-      let f xv vv = b_type_of (f xv vv) ~si g m t in
-      type_of f ~si g m v
+      let f xv vv = b_type_of err (f xv vv) ~si g m t in
+      type_of err f ~si g m v
    | B.Cast (a, u, t)          ->
       let f xu xt tt =  
         let f _ = f (A.sh2 u xu t xt x (B.cast a)) xu in
-         assert_convertibility f ~si m xu tt xt
+         assert_convertibility err f ~si m xu tt xt
       in
-      let f xu _ = b_type_of (f xu) ~si g m t in
-      type_of f ~si g m u
+      let f xu _ = b_type_of err (f xu) ~si g m t in
+      type_of err f ~si g m u
 
 (* Interface functions ******************************************************)
 
-and type_of f ?(si=false) g m x =
+and type_of err f ?(si=false) g m x =
    let f t u = L.unbox level; f t u in
-   L.box level; b_type_of f ~si g m x
+   L.box level; b_type_of err f ~si g m x
index 6ee5d57edbb804f4acca3d281235fcd272677a60..2d7a14663e27126ef76a09febbef7396ba72b8c2 100644 (file)
@@ -9,10 +9,8 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-type message = (BrgReduction.machine, Brg.term) Log.item list
-
-exception TypeError of message
+type message = (BrgReduction.kam, Brg.term) Log.message
 
 val type_of: 
-   (Brg.term -> Brg.term -> 'a) -> ?si:bool -> 
-   Hierarchy.graph -> BrgReduction.machine -> Brg.term -> 'a
+   (message -> 'a) -> (Brg.term -> Brg.term -> 'a) -> 
+   ?si:bool -> Hierarchy.graph -> BrgReduction.kam -> Brg.term -> 'a
index 67c756b46b512fd8bc69bd84cdd06147416fb9dd..20b9a5cf1c64f0c8aaa6a6f1d0b5bcc927bc7273 100644 (file)
@@ -18,16 +18,16 @@ module T = BrgType
 (* Interface functions ******************************************************)
 
 (* to share *)
-let type_check f ?(si=false) g = function
+let type_check err f ?(si=false) g = function
    | None                           -> f None None
    | Some (e, uri, B.Abst (a, t))   ->
-      let f tt obj = f (Some tt) (Some obj) in
-      let f xt tt = E.set_obj (f tt) (e, uri, B.abst a xt) in
-      L.loc := e; T.type_of f ~si g R.empty_machine t
+      let f tt entry = f (Some tt) (Some entry) in
+      let f xt tt = E.set_entry (f tt) (e, uri, B.abst a xt) in
+      L.loc := e; T.type_of err f ~si g R.empty_kam t
    | Some (e, uri, B.Abbr (a, t))   ->
-      let f tt obj = f (Some tt) (Some obj) in
-      let f xt tt = E.set_obj (f tt) (e, uri, B.abbr a xt) in
-      L.loc := e; T.type_of f ~si g R.empty_machine t
+      let f tt entry = f (Some tt) (Some entry) in
+      let f xt tt = E.set_entry (f tt) (e, uri, B.abbr a xt) in
+      L.loc := e; T.type_of err f ~si g R.empty_kam t
    | Some (e, uri, (B.Void _ as b)) ->
-      let f obj = f None (Some obj) in
-      L.loc := e; E.set_obj f (e, uri, b)
+      let f entry = f None (Some entry) in
+      L.loc := e; E.set_entry f (e, uri, b)
index e2066f99811e866987094bb4808804963fa1d63a..80f9b2eeecc827f171149dfef2b761643d40c8fd 100644 (file)
@@ -10,5 +10,5 @@
       V_______________________________________________________________ *)
 
 val type_check:
-   (Brg.term option -> Brg.item -> 'a) -> ?si:bool ->
-   Hierarchy.graph -> Brg.item -> 'a
+   (BrgType.message -> 'a) -> (Brg.term option -> Brg.unit -> 'a) -> 
+   ?si:bool -> Hierarchy.graph -> Brg.unit -> 'a
index 801c1a84fb834934c19cb3d2760bde34bbb395cd..ccf9cfd652344030bed6f5fa34a8bcd563235c24 100644 (file)
@@ -1 +1 @@
-hierarchy output item library
+hierarchy output unit library
index abe23e10a04e4a195bd1e6592e2747deac003818..375390bdca10aec79410cef305c2345c2a6735e2 100644 (file)
@@ -16,8 +16,7 @@ module C = Cps
 type graph = string * (int -> int)
 
 let sorts = 2
-let sort = H.create sorts 
-let index = ref 0
+let sort = H.create sorts
 
 (* Internal functions *******************************************************)
 
@@ -26,9 +25,8 @@ let set_sort f (h:int) (s:string) =
 
 (* Interface functions ******************************************************)
 
-let set_new_sorts f ss =
-   let f i = index := i; f i in   
-   C.list_fold_left f set_sort !index ss 
+let set_sorts f ss i =   
+   C.list_fold_left f set_sort i ss
 
 let get_sort err f h =
    try f (H.find sort h) with Not_found -> err ()
index 5bebd28df7604b18ac109ae517bb10dfd905c3de..a0790321cefca7880b778b73f08cc416066c62e2 100644 (file)
@@ -11,7 +11,7 @@
 
 type graph
 
-val set_new_sorts: (int -> 'a) -> string list -> 'a
+val set_sorts: (int -> 'a) -> string list -> int -> 'a
 
 val get_sort: (unit -> 'a) -> (string -> 'a) -> int -> 'a
 
diff --git a/helm/software/lambda-delta/common/item.ml b/helm/software/lambda-delta/common/item.ml
deleted file mode 100644 (file)
index 7e9b7ce..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-(*
-    ||M||  This file is part of HELM, an Hypertextual, Electronic        
-    ||A||  Library of Mathematics, developed at the Computer Science     
-    ||T||  Department, University of Bologna, Italy.                     
-    ||I||                                                                
-    ||T||  HELM is free software; you can redistribute it and/or         
-    ||A||  modify it under the terms of the GNU General Public License   
-    \   /  version 2 or (at your option) any later version.              
-     \ /   This software is distributed as is, NO WARRANTY.              
-      V_______________________________________________________________ *)
-
-type uri = NUri.uri
-type id = Aut.id
-
-type 'bind obj = int * uri * 'bind (* age, uri, binder *)
-
-type 'bind item = 'bind obj option
index 8dec0dd5d122614ca10ddfc61c04644b8fa9d61d..c60a227e76c65e425783f007dc7c4a003f641bfc 100644 (file)
@@ -42,15 +42,15 @@ let close_entry frm =
 
 (* interface functions ******************************************************)
 
-let export_item export_obj si g = function
-   | Some obj ->
-      let _, uri, bind = obj in
+let export_unit export_entry si g = function
+   | Some entry ->
+      let _, uri, bind = entry in
       let path = path_of_uri uri in
       let _ = Sys.command (Printf.sprintf "mkdir -p %s" (F.dirname path)) in
       let och = open_out (path ^ obj_ext) in
       let frm = Format.formatter_of_out_channel och in
       Format.pp_set_margin frm max_int;
       Format.fprintf frm "@[<v>%t%t%t%a%t@]@." 
-         pp_head pp_doctype (open_entry si g) export_obj obj close_entry;  
+         pp_head pp_doctype (open_entry si g) export_entry entry close_entry;  
       close_out och
    | None     -> ()
index 7e3ee1b82985f5113dcb2dcb82ddf98cca7134ff..1a10b6e9d6d86e244fdd805dfc32f4274fd7e7e8 100644 (file)
@@ -9,6 +9,6 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-val export_item:
-   (Format.formatter -> 'bind Item.obj -> unit) -> 
-   bool -> Hierarchy.graph -> 'bind Item.item -> unit
+val export_unit:
+   (Format.formatter -> 'bind Unit.entry -> unit) -> 
+   bool -> Hierarchy.graph -> 'bind Unit.unit -> unit
diff --git a/helm/software/lambda-delta/common/unit.ml b/helm/software/lambda-delta/common/unit.ml
new file mode 100644 (file)
index 0000000..d76b9d9
--- /dev/null
@@ -0,0 +1,17 @@
+(*
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ *)
+
+type uri = NUri.uri
+type id = Aut.id
+
+type 'bind entry = int * uri * 'bind (* age, uri, binder *)
+
+type 'bind unit = 'bind entry option
index a7af17273e4b6edf0d0633d1649d5fa62432cf75..a3cb085857c994bd6f361507087d6bfcb58b63cd 100644 (file)
@@ -9,9 +9,9 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-type uri = Item.uri
+type uri = Unit.uri
 
-type id = Item.id
+type id = Unit.id
 
 type term = Sort of bool                  (* sorts: true = TYPE, false = PROP *)
          | LRef of int * int             (* local reference: local environment length, de bruijn index *)
@@ -24,4 +24,4 @@ type pars = (id * term) list (* parameter declarations: name, type *)
 (* entry: line number, parameters, name, type, (transparent?, body) *)
 type entry = int * pars * uri * term * (bool * term) option
 
-type item = entry option
+type unit = entry option
index 2ef3ec737e0b0bef84b3a1992855e15c439e5a7c..335f57fc034368a926c965f49b30766038ec3839 100644 (file)
@@ -145,7 +145,7 @@ let rec xlate_term f st lenv = function
       in
       resolve_lref f st l lenv (id_of_name name)
 
-let xlate_item f st = function
+let xlate_unit f st = function
    | A.Section (Some (_, name))     ->
       f {st with path = name :: st.path; nodes = st.node :: st.nodes} None
    | A.Section None            ->
@@ -204,4 +204,4 @@ let xlate_item f st = function
 let initial_status ?(cover="") () =
    initial_status hsize cover
 
-let meta_of_aut = xlate_item
+let meta_of_aut = xlate_unit
index b5c7e0b69ac02c2b1527cc2474a152a652af068c..79c8fb22b205a0f4bfc62aa32602cf5b87513ee8 100644 (file)
@@ -13,4 +13,4 @@ type status
 
 val initial_status: ?cover:string -> unit -> status 
 
-val meta_of_aut: (status -> Meta.item -> 'a) -> status -> Aut.item -> 'a
+val meta_of_aut: (status -> Meta.unit -> 'a) -> status -> Aut.unit -> 'a
index e0dbf53aee27a468ed2f4538c856d8fb3592e4c9..89c1527c8788b2e6190f02a780478d1398ce4234 100644 (file)
@@ -63,10 +63,10 @@ let xlate_entry f = function
       let f c = unwind_to_xlate_term (f c) c u in
       xlate_pars f pars
 
-let xlate_item f = function
+let xlate_unit 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_unit
index 87e341692bc701743032d49f6c5c13b431944acb..f19f6dd76fc86019281c165c9a112cb552807171 100644 (file)
@@ -9,4 +9,4 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-val bag_of_meta: (Bag.item -> 'a) -> Meta.item -> 'a
+val bag_of_meta: (Bag.unit -> 'a) -> Meta.unit -> 'a
index 9b0ae73dbb4e0cf9f74ccb80240cdde7a3304c95..eff9e9c55512ae121a3768be522f2083e9b985cb 100644 (file)
@@ -62,10 +62,10 @@ let xlate_entry f = function
       let f c = unwind_to_xlate_term (f c) c u in
       xlate_pars f pars
 
-let xlate_item f = function
+let xlate_unit f = function
    | None   -> f None
    | Some e -> let f e = f (Some e) in xlate_entry f e
 
 (* Interface functions ******************************************************)
 
-let brg_of_meta = xlate_item
+let brg_of_meta = xlate_unit
index cb47bc9c12a7ca8232759d3df937404dc547c53f..b07ed12535d20024d9ed5ee0f37000fb9a7bb70f 100644 (file)
@@ -9,4 +9,4 @@
      \ /   This software is distributed as is, NO WARRANTY.              
       V_______________________________________________________________ *)
 
-val brg_of_meta: (Brg.item -> 'a) -> Meta.item -> 'a
+val brg_of_meta: (Brg.unit -> 'a) -> Meta.unit -> 'a
index e9192f5989a8e54ac6a61d182dfa2cd01e2bcdad..a6e780a5f80d648021afac5e61048253cde123b8 100644 (file)
@@ -29,8 +29,8 @@ let open_out f name =
    F.pp_set_margin frm max_int;
    f (och, frm)
 
-let write_item f (_, frm) item =
-   O.pp_item f frm item
+let write_unit f (_, frm) unit =
+   O.pp_unit f frm unit
    
 let close_out f (och, _) =
    close_out och; f ()
index d1c72343622bc7eca67ad0680df57dd58b6ffc23..26172e46c0530e79ae371cc883abc36854173f63 100644 (file)
@@ -13,6 +13,6 @@ type out_channel
 
 val open_out: (out_channel -> 'a) -> string -> 'a
 
-val write_item: (unit -> 'a) -> out_channel -> Meta.item -> 'a
+val write_unit: (unit -> 'a) -> out_channel -> Meta.unit -> 'a
 
 val close_out: (unit -> 'a) -> out_channel -> 'a
index 4cec084b69c1241e544e151799aaad3ef4cecd38..a8560ab1821bb2cda20813229f81414300948ee2 100644 (file)
@@ -77,17 +77,17 @@ let count_entry f c = function
       let f c = count_term f c w in
       Cps.list_fold_left f count_par c pars
 
-let count_item f c = function
+let count_unit f c = function
    | Some e -> count_entry f c e
    | None   -> f c
 
 let print_counters f c =
    let terms = c.tsorts + c.tlrefs + c.tgrefs + c.tappls + c.tabsts in
    let pars = c.pabsts + c.pappls in
-   let items = c.eabsts + c.eabbrs in
+   let entries = c.eabsts + c.eabbrs in
    let nodes = c.nodes + c.xnodes in
    L.warn (P.sprintf "  Intermediate representation summary");
-   L.warn (P.sprintf "    Total entry items:        %7u" items);
+   L.warn (P.sprintf "    Total entries:            %7u" entries);
    L.warn (P.sprintf "      Declaration items:      %7u" c.eabsts);
    L.warn (P.sprintf "      Definition items:       %7u" c.eabbrs);
    L.warn (P.sprintf "    Total parameter items:    %7u" pars);
@@ -150,6 +150,6 @@ let pp_entry frm (l, pars, uri, u, body) =
    F.fprintf frm "@[%u@@%s%a%a:%a@]@\n%!" 
       l (U.string_of_uri uri) pp_pars pars pp_body body pp_term u
 
-let pp_item f frm = function 
+let pp_unit f frm = function 
    | Some entry -> pp_entry frm entry; f ()
    | None       -> f ()
index aefb43bef314406cf86896555614b3a069315f93..611e121394960c0b0b0fd0aec5a6cae1cffcbba9 100644 (file)
@@ -13,8 +13,8 @@ type counters
 
 val initial_counters: counters
 
-val count_item: (counters -> 'a) -> counters -> Meta.item -> 'a
+val count_unit: (counters -> 'a) -> counters -> Meta.unit -> 'a
 
 val print_counters: (unit -> 'a) -> counters -> 'a
 
-val pp_item: (unit -> 'a) -> Format.formatter -> Meta.item -> 'a
+val pp_unit: (unit -> 'a) -> Format.formatter -> Meta.unit -> 'a
index 13887c6ef28e508258220d9e90687e974b6a590b..e87bf8a071887ec8070d87a83932923326cd6ac5 100644 (file)
@@ -25,7 +25,6 @@ module MBrg = MetaBrg
 module G    = Library
 module BrgO = BrgOutput
 module BrgR = BrgReduction
-module BrgT = BrgType
 module BrgU = BrgUntrusted
 module MBag = MetaBag
 module BagO = BagOutput
@@ -50,8 +49,8 @@ let initial_status cover = {
    ast  = AP.initial_status
 }
 
-let count count_fun c item =
-   if !L.level > 2 then count_fun C.start c item else c
+let count count_fun c unit =
+   if !L.level > 2 then count_fun C.start c unit else c
 
 let flush () = L.flush 0; L.flush_err ()
 
@@ -61,16 +60,16 @@ let bag_error s msg =
 let brg_error s msg =
    L.error BrgR.specs (L.Warn s :: L.Loc :: msg); flush () 
 
-let process_item f st =
+let process_unit f st =
    let f ast = f {st with ast = ast} in
-   AP.process_item f st.ast
+   AP.process_unit f st.ast
 
 (* kernel related ***********************************************************)
 
 type kernel = Brg | Bag
 
-type kernel_item = BrgItem of Brg.item
-                 | BagItem of Bag.item
+type kernel_unit = Brgunit of Brg.unit
+                 | Bagunit of Bag.unit
 
 let kernel = ref Brg
 
@@ -78,30 +77,31 @@ let print_counters st = match !kernel with
    | Brg -> BrgO.print_counters C.start st.brgc
    | Bag -> BagO.print_counters C.start st.bagc
 
-let kernel_of_meta f st item = match !kernel with
+let kernel_of_meta f st unit = match !kernel with
    | Brg -> 
-      let f item = f st (BrgItem item) in
-      MBrg.brg_of_meta f item
+      let f unit = f st (Brgunit unit) in
+      MBrg.brg_of_meta f unit
    | Bag -> 
-      let f item = f st (BagItem item) in
-      MBag.bag_of_meta f item  
+      let f unit = f st (Bagunit unit) in
+      MBag.bag_of_meta f unit  
 
-let count_item st = function
-   | BrgItem item -> {st with brgc = count BrgO.count_item st.brgc item}
-   | BagItem item -> {st with bagc = count BagO.count_item st.bagc item}
+let count_unit st = function
+   | Brgunit unit -> {st with brgc = count BrgO.count_unit st.brgc unit}
+   | Bagunit unit -> {st with bagc = count BagO.count_unit st.bagc unit}
 
-let export_item si g = function
-   | BrgItem item -> G.export_item BrgO.export_obj si g item
-   | BagItem _    -> ()
+let export_unit si g = function
+   | Brgunit unit -> G.export_unit BrgO.export_entry si g unit
+   | Bagunit _    -> ()
 
 let type_check f st si g k =
+   let brg_err msg = brg_error "Type Error" msg; failwith "Interrupted" in
    let f _ = function
-      | None           -> f st None
+      | None           -> f st None 
       | Some (i, u, _) -> f st (Some (i, u))
    in
    match k with
-      | BrgItem item -> BrgU.type_check f ~si g item
-      | BagItem item -> BagU.type_check f ~si g item
+      | Brgunit unit -> BrgU.type_check brg_err f ~si g unit
+      | Bagunit unit -> BagU.type_check f ~si g unit
 
 (****************************************************************************)
 
@@ -152,7 +152,7 @@ try
       if !L.level > 0 then T.utime_stamp "parsed";
       let rec aux st = function
          | []         -> st
-        | item :: tl ->
+        | unit :: tl ->
 (* stage 3 *)
            let f st = function
               | None        -> st
@@ -162,31 +162,31 @@ try
                  st
            in
 (* stage 2 *)      
-           let f st item =
-              let st = count_item st item in
-              if !export then export_item !si !graph item;
-              if !stage > 2 then type_check f st !si !graph item else st
+           let f st unit =
+              let st = count_unit st unit in
+              if !export then export_unit !si !graph unit;
+              if !stage > 2 then type_check f st !si !graph unit else st
            in
 (* stage 1 *)      
-           let f st mst item = 
+           let f st mst unit = 
               let st = {st with
-                 mst = mst; mc = count MO.count_item st.mc item
+                 mst = mst; mc = count MO.count_unit st.mc unit
               } in
               begin match !moch with
                  | None     -> ()
-                 | Some och -> ML.write_item C.start och item
+                 | Some och -> ML.write_unit C.start och unit
               end;
-              if !stage > 1 then kernel_of_meta f st item else st 
+              if !stage > 1 then kernel_of_meta f st unit else st 
            in  
 (* stage 0 *)      
-            let st = {st with ac = count AO.count_item st.ac item} in
-           let f st item =
+            let st = {st with ac = count AO.count_unit st.ac unit} in
+           let f st unit =
               let st = 
-                 if !stage > 0 then MA.meta_of_aut (f st) st.mst item else st
+                 if !stage > 0 then MA.meta_of_aut (f st) st.mst unit else st
               in
               aux st tl
            in
-           if !process then process_item f st item else f st item
+           if !process then process_unit f st unit else f st unit
       in
       O.clear_reductions ();
       let cover = if !use_cover then base_name else "" in
@@ -223,7 +223,7 @@ try
    let help_s = "<number>  set translation stage (see above)" in
    let help_x = " export kernel objects (XML)" in
    L.box 0; L.box_err ();
-   H.set_new_sorts ignore ["Set"; "Prop"];
+   H.set_sorts ignore ["Set"; "Prop"] 0;
    at_exit exit;
    Arg.parse [
       ("-S", Arg.Int set_summary, help_S);
@@ -240,4 +240,3 @@ try
       ("-x", Arg.Set export, help_x)
    ] read_file help;
 with BagT.TypeError msg -> bag_error "Type Error" msg
-   | BrgT.TypeError msg -> brg_error "Type Error" msg