aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/control/security/capability.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/control/security/capability.lux45
1 files changed, 23 insertions, 22 deletions
diff --git a/stdlib/source/library/lux/control/security/capability.lux b/stdlib/source/library/lux/control/security/capability.lux
index 84a605e26..c7e23dfb3 100644
--- a/stdlib/source/library/lux/control/security/capability.lux
+++ b/stdlib/source/library/lux/control/security/capability.lux
@@ -19,7 +19,7 @@
["[0]" meta]
["[0]" macro (.only)
["[0]" code]
- [syntax (.only syntax:)
+ [syntax (.only syntax)
["|[0]|" export]
["|[0]|" declaration]]]]])
@@ -39,27 +39,28 @@
output))
((representation capability) input))
- (syntax: .public (capability: [[export_policy declaration [forger input output]]
- (|export|.parser
- (all <>.and
- |declaration|.parser
- (<c>.form (all <>.and <c>.local <c>.any <c>.any))))])
- (macro.with_symbols [g!_]
- (do [! meta.monad]
- [this_module meta.current_module_name
- .let [[name vars] declaration]
- g!brand (at ! each (|>> %.code code.text)
- (macro.symbol (format (%.symbol [this_module name]))))
- .let [capability (` (..Capability (.Primitive (~ g!brand)) (~ input) (~ output)))]]
- (in (list (` (type: (~ export_policy)
- (~ (|declaration|.format declaration))
- (~ capability)))
- (` (def: (~ (code.local forger))
- (All ((~ g!_) (~+ (list#each code.local vars)))
- (-> (-> (~ input) (~ output))
- (~ capability)))
- (~! ..capability)))
- )))))
+ (def: .public capability:
+ (syntax (_ [[export_policy declaration [forger input output]]
+ (|export|.parser
+ (all <>.and
+ |declaration|.parser
+ (<c>.form (all <>.and <c>.local <c>.any <c>.any))))])
+ (macro.with_symbols [g!_]
+ (do [! meta.monad]
+ [this_module meta.current_module_name
+ .let [[name vars] declaration]
+ g!brand (at ! each (|>> %.code code.text)
+ (macro.symbol (format (%.symbol [this_module name]))))
+ .let [capability (` (..Capability (.Primitive (~ g!brand)) (~ input) (~ output)))]]
+ (in (list (` (type: (~ export_policy)
+ (~ (|declaration|.format declaration))
+ (~ capability)))
+ (` (def: (~ (code.local forger))
+ (All ((~ g!_) (~+ (list#each code.local vars)))
+ (-> (-> (~ input) (~ output))
+ (~ capability)))
+ (~! ..capability)))
+ ))))))
(def: .public (async capability)
(All (_ brand input output)