From 17e7566be51df5e428a6b10e6469201a8a9468da Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 7 Aug 2021 02:20:09 -0400 Subject: Made the be/de macros for (co)monadic expression extensible. --- stdlib/source/library/lux/control/security/capability.lux | 4 ++-- stdlib/source/library/lux/control/security/policy.lux | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'stdlib/source/library/lux/control/security') diff --git a/stdlib/source/library/lux/control/security/capability.lux b/stdlib/source/library/lux/control/security/capability.lux index 14461791f..b58468911 100644 --- a/stdlib/source/library/lux/control/security/capability.lux +++ b/stdlib/source/library/lux/control/security/capability.lux @@ -60,10 +60,10 @@ (is? left right)))} (do {! meta.monad} [this_module meta.current_module_name - #let [[name vars] declaration] + .let [[name vars] declaration] g!brand (\ ! map (|>> %.code code.text) (macro.gensym (format (%.name [this_module name])))) - #let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] + .let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] (in (list (` (type: (~+ (|export|.format export)) (~ (|declaration|.format declaration)) (~ capability))) diff --git a/stdlib/source/library/lux/control/security/policy.lux b/stdlib/source/library/lux/control/security/policy.lux index 05b05cf5f..dc5a07e0d 100644 --- a/stdlib/source/library/lux/control/security/policy.lux +++ b/stdlib/source/library/lux/control/security/policy.lux @@ -77,19 +77,19 @@ (scope label)))) (context ..privilege)) - (def: (decorate constructor) + (def: (of_policy constructor) (-> Type Type) (type (All [brand label] (constructor (All [value] (Policy brand value label)))))) (implementation: #export functor - (:~ (..decorate Functor)) + (:~ (..of_policy Functor)) (def: (map f fa) (|> fa :representation f :abstraction))) (implementation: #export apply - (:~ (..decorate Apply)) + (:~ (..of_policy Apply)) (def: &functor ..functor) @@ -97,7 +97,7 @@ (:abstraction ((:representation ff) (:representation fa))))) (implementation: #export monad - (:~ (..decorate Monad)) + (:~ (..of_policy Monad)) (def: &functor ..functor) (def: in (|>> :abstraction)) -- cgit v1.2.3