diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/control/security/privacy.lux | 6 |
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))) |