X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Flambda-delta%2Fbasic_rg%2FbrgEnvironment.ml;h=1017092d7afce42c116fd60697813eec3475df26;hb=8049c166a37789d7a1b1ca1c3a1174712bbf87ba;hp=e640c865b4311953c12a59042f889443b3cffb09;hpb=8659e85d49be1ad72622d4d3a73d384b744c3c08;p=helm.git diff --git a/helm/software/lambda-delta/basic_rg/brgEnvironment.ml b/helm/software/lambda-delta/basic_rg/brgEnvironment.ml index e640c865b..1017092d7 100644 --- a/helm/software/lambda-delta/basic_rg/brgEnvironment.ml +++ b/helm/software/lambda-delta/basic_rg/brgEnvironment.ml @@ -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 ()