diff options
| author | Estevan Castilho <tevo@riajuu.net> | 2026-07-09 00:33:37 +0000 |
|---|---|---|
| committer | Estevan Castilho <tevo@riajuu.net> | 2026-07-09 00:33:37 +0000 |
| commit | 2566cfae03199f8e90098c84b712d48182d9b806 (patch) | |
| tree | 4209d319e67f0f055e5055bc67a022bfdb3dd43f /lib/concepts | |
| parent | 5a799734ddd523027a7d6ef8b0acab6d0b796ec6 (diff) | |
| download | RNT-2566cfae03199f8e90098c84b712d48182d9b806.tar.gz RNT-2566cfae03199f8e90098c84b712d48182d9b806.zip | |
Interface for the storage layer
Diffstat (limited to '')
| -rw-r--r-- | lib/concepts/Configuration.ml | 1 | ||||
| -rw-r--r-- | lib/concepts/Configuration.mli | 2 | ||||
| -rw-r--r-- | lib/concepts/Hash.ml | 5 | ||||
| -rw-r--r-- | lib/concepts/Hash.mli | 8 | ||||
| -rw-r--r-- | lib/concepts/Representation.ml | 5 | ||||
| -rw-r--r-- | lib/concepts/Representation.mli | 7 | ||||
| -rw-r--r-- | lib/concepts/Value.ml | 3 | ||||
| -rw-r--r-- | lib/concepts/Value.mli | 4 |
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 |
