aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/control/security/privacy.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/control/security/privacy.lux6
1 files changed, 6 insertions, 0 deletions
diff --git a/stdlib/source/lux/control/security/privacy.lux b/stdlib/source/lux/control/security/privacy.lux
index ad85ae679..100b76b17 100644
--- a/stdlib/source/lux/control/security/privacy.lux
+++ b/stdlib/source/lux/control/security/privacy.lux
@@ -20,12 +20,15 @@
value
(type: #export (Close label)
+ {#.doc (doc "Represents the capacity to 'privatize' a value.")}
(All [value] (-> value (Private value label))))
(type: #export (Open label)
+ {#.doc (doc "Represents the capacity to 'publicize' a value.")}
(All [value] (-> (Private value label) value)))
(signature: #export (Privilege label)
+ {#.doc (doc "Represents the privilege to both 'privatize' and 'publicize' a value.")}
(: (Close label)
conceal)
@@ -38,13 +41,16 @@
(def: reveal (|>> :representation))))
(type: #export (Delegation from to)
+ {#.doc (doc "Represents the act of delegating privatization capacities.")}
(All [value] (-> (Private value from) (Private value to))))
(def: #export (delegation open close)
+ {#.doc (doc "Delegating privatization capacities.")}
(All [from to] (-> (Open from) (Close to) (Delegation from to)))
(|>> open close))
(type: #export (Context scope label)
+ {#.doc (doc "A computational context with an associated privacy privilege.")}
(-> (Privilege label)
(scope label)))