diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/control/security/capability.lux | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/stdlib/source/lux/control/security/capability.lux b/stdlib/source/lux/control/security/capability.lux index a1272b018..2a4e5427b 100644 --- a/stdlib/source/lux/control/security/capability.lux +++ b/stdlib/source/lux/control/security/capability.lux @@ -21,7 +21,8 @@ [syntax (#+ syntax:) [common ["." reader] - ["." writer]]]]]) + ["." writer] + ["|.|" export]]]]]) (abstract: #export (Capability brand input output) (-> input output) @@ -42,7 +43,7 @@ output)) ((:representation capability) input)) - (syntax: #export (capability: {export reader.export} + (syntax: #export (capability: {export |export|.parser} {declaration reader.declaration} {annotations (<>.maybe reader.annotations)} {[forge input output] (<c>.form ($_ <>.and <c>.local-identifier <c>.any <c>.any))}) @@ -52,7 +53,7 @@ g!brand (\ ! map (|>> %.code code.text) (meta.gensym (format (%.name [this-module name])))) #let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] - (wrap (list (` (type: (~+ (writer.export export)) + (wrap (list (` (type: (~+ (|export|.write export)) (~ (writer.declaration declaration)) (~ capability))) (` (def: (~ (code.local-identifier forge)) |