aboutsummaryrefslogtreecommitdiffstats
path: root/lib/concepts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/concepts')
-rw-r--r--lib/concepts/Configuration.ml1
-rw-r--r--lib/concepts/Configuration.mli2
-rw-r--r--lib/concepts/Hash.ml5
-rw-r--r--lib/concepts/Hash.mli8
-rw-r--r--lib/concepts/Representation.ml5
-rw-r--r--lib/concepts/Representation.mli7
-rw-r--r--lib/concepts/Value.ml3
-rw-r--r--lib/concepts/Value.mli4
8 files changed, 35 insertions, 0 deletions
diff --git a/lib/concepts/Configuration.ml b/lib/concepts/Configuration.ml
new file mode 100644
index 0000000..06434c2
--- /dev/null
+++ b/lib/concepts/Configuration.ml
@@ -0,0 +1 @@
+type configuration = unit
diff --git a/lib/concepts/Configuration.mli b/lib/concepts/Configuration.mli
new file mode 100644
index 0000000..5e16ff9
--- /dev/null
+++ b/lib/concepts/Configuration.mli
@@ -0,0 +1,2 @@
+(** an abstract representation for a system configuration *)
+type configuration
diff --git a/lib/concepts/Hash.ml b/lib/concepts/Hash.ml
new file mode 100644
index 0000000..4c6cd8a
--- /dev/null
+++ b/lib/concepts/Hash.ml
@@ -0,0 +1,5 @@
+type hash = ()
+
+val hash_of_value (_: Value.value) = failwith "TODO"
+
+val hash_equals (_: hash) (_: hash) = failwith "TODO"
diff --git a/lib/concepts/Hash.mli b/lib/concepts/Hash.mli
new file mode 100644
index 0000000..dc25669
--- /dev/null
+++ b/lib/concepts/Hash.mli
@@ -0,0 +1,8 @@
+(** An abstract value representing a hash *)
+type hash
+
+(** Given a value, compute it's hash *)
+val hash_of_value: Value.value -> hash
+
+(** Given two hashes, are they the same? *)
+val hash_equals: hash -> hash -> bool
diff --git a/lib/concepts/Representation.ml b/lib/concepts/Representation.ml
new file mode 100644
index 0000000..4df7812
--- /dev/null
+++ b/lib/concepts/Representation.ml
@@ -0,0 +1,5 @@
+type blob = unit
+
+let blob_of_value (_: Value.value) = failwith "TODO"
+
+let value_of_blob (_: blob) = failwith "TODO"
diff --git a/lib/concepts/Representation.mli b/lib/concepts/Representation.mli
new file mode 100644
index 0000000..9d0a8f5
--- /dev/null
+++ b/lib/concepts/Representation.mli
@@ -0,0 +1,7 @@
+(** an abstract representation of an encoded value *)
+type blob
+
+(** encode a blob into a value *)
+val blob_of_value: Value.value -> blob
+(** decode a value from a blob *)
+val value_of_blob: blob -> Value.value
diff --git a/lib/concepts/Value.ml b/lib/concepts/Value.ml
new file mode 100644
index 0000000..3e57717
--- /dev/null
+++ b/lib/concepts/Value.ml
@@ -0,0 +1,3 @@
+type value
+ = String of string
+ | Integer of int
diff --git a/lib/concepts/Value.mli b/lib/concepts/Value.mli
new file mode 100644
index 0000000..6cb09ad
--- /dev/null
+++ b/lib/concepts/Value.mli
@@ -0,0 +1,4 @@
+(** A tagged concrete value *)
+type value
+ = String of string
+ | Integer of int