]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/bin/roles/rolesTypes.ml
update in basic_2 + new tool "roles"
[helm.git] / matita / matita / contribs / lambdadelta / bin / roles / rolesTypes.ml
diff --git a/matita/matita/contribs/lambdadelta/bin/roles/rolesTypes.ml b/matita/matita/contribs/lambdadelta/bin/roles/rolesTypes.ml
new file mode 100644 (file)
index 0000000..ad97fe7
--- /dev/null
@@ -0,0 +1,46 @@
+(*
+    ||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 version = int list
+
+type name = string list
+
+type names = (bool*name) list
+
+type obj = version * name
+
+type objs = (bool*obj) list
+
+type role = {
+  mutable v: version;
+  mutable o: objs;
+  mutable n: names;
+}
+
+type roles = (bool*role) list
+
+type status = {
+  mutable r: roles;
+  mutable s: version;
+  mutable t: objs;
+  mutable w: names;
+}
+
+type pointer = int list
+
+type error = EExt of string
+           | EStage of version
+           | ENoStage
+           | ENews
+           | ENameClash of name
+           | ENoEntry
+
+exception Error of error