]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/helena/src/basic_ag/bagUntrusted.ml
refactoring ...
[helm.git] / helm / software / helena / src / basic_ag / bagUntrusted.ml
diff --git a/helm/software/helena/src/basic_ag/bagUntrusted.ml b/helm/software/helena/src/basic_ag/bagUntrusted.ml
new file mode 100644 (file)
index 0000000..5d04a3b
--- /dev/null
@@ -0,0 +1,29 @@
+(*
+    ||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_______________________________________________________________ *)
+
+module U  = NUri
+module L  = Log
+module E  = Entity
+module Z  = Bag
+module ZE = BagEnvironment
+module ZT = BagType
+
+(* Interface functions ******************************************************)
+
+(* to share *)
+let type_check f st = function
+   | a, uri, E.Abst (n, t) ->
+      let f xt tt = ZE.set_entity (f tt) (a, uri, E.Abst (n, xt)) in
+      L.loc := U.string_of_uri uri; ZT.type_of f st Z.empty_lenv t
+   | a, uri, E.Abbr t      ->
+      let f xt tt = ZE.set_entity (f tt) (a, uri, E.Abbr xt) in
+      L.loc := U.string_of_uri uri; ZT.type_of f st Z.empty_lenv t
+   | _, _, E.Void          -> assert false