]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/lambda-delta/basic_rg/brgEnvironment.ml
improved check in delift for flexible lc entries.
[helm.git] / helm / software / lambda-delta / basic_rg / brgEnvironment.ml
index e640c865b4311953c12a59042f889443b3cffb09..1017092d7afce42c116fd60697813eec3475df26 100644 (file)
@@ -13,21 +13,18 @@ module U = NUri
 module H = U.UriHash
 module B = Brg
 
-exception ObjectNotFound of string Lazy.t
-
 let hsize = 7000 
 let env = H.create hsize
-let entry = ref 0
+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 f uri =
-   try f (H.find env uri)
-   with Not_found -> raise (ObjectNotFound (lazy (U.string_of_uri uri)))
+let get_entry err f uri =
+   try f (H.find env uri) with Not_found -> err ()