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