diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/control/concatenative.lux | 25 | ||||
-rw-r--r-- | stdlib/source/lux/control/concurrency/actor.lux | 18 | ||||
-rw-r--r-- | stdlib/source/lux/control/concurrency/semaphore.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/control/continuation.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/control/exception.lux | 9 | ||||
-rw-r--r-- | stdlib/source/lux/control/function/contract.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/control/io.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/control/parser/cli.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/control/pipe.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/control/remember.lux | 5 | ||||
-rw-r--r-- | stdlib/source/lux/control/security/capability.lux | 9 |
11 files changed, 46 insertions, 38 deletions
diff --git a/stdlib/source/lux/control/concatenative.lux b/stdlib/source/lux/control/concatenative.lux index 1ba47f1af..5f2b553d3 100644 --- a/stdlib/source/lux/control/concatenative.lux +++ b/stdlib/source/lux/control/concatenative.lux @@ -13,7 +13,8 @@ ["i" int] ["r" rev] ["f" frac]]] - ["." macro (#+ with-gensyms) + ["." meta (#+ with-gensyms)] + [macro ["." code] [syntax (#+ syntax:) ["cs" common @@ -56,15 +57,15 @@ (def: (singleton expander) (-> (Meta (List Code)) (Meta Code)) - (monad.do macro.monad + (monad.do meta.monad [expansion expander] (case expansion (#.Cons singleton #.Nil) (wrap singleton) _ - (macro.fail (format "Cannot expand to more than a single AST/Code node:" text.new-line - (|> expansion (list@map %.code) (text.join-with " "))))))) + (meta.fail (format "Cannot expand to more than a single AST/Code node:" text.new-line + (|> expansion (list@map %.code) (text.join-with " "))))))) (syntax: #export (=> {aliases aliases^} {inputs stack^} @@ -77,17 +78,17 @@ (case [(|> inputs (get@ #bottom) (maybe@map (|>> code.nat (~) #.Parameter (`)))) (|> outputs (get@ #bottom) (maybe@map (|>> code.nat (~) #.Parameter (`))))] [(#.Some bottomI) (#.Some bottomO)] - (monad.do macro.monad - [inputC (singleton (macro.expand-all (stack-fold (get@ #top inputs) bottomI))) - outputC (singleton (macro.expand-all (stack-fold (get@ #top outputs) bottomO)))] + (monad.do meta.monad + [inputC (singleton (meta.expand-all (stack-fold (get@ #top inputs) bottomI))) + outputC (singleton (meta.expand-all (stack-fold (get@ #top outputs) bottomO)))] (wrap (list (` (-> (~ (de-alias inputC)) (~ (de-alias outputC))))))) [?bottomI ?bottomO] (with-gensyms [g!stack] - (monad.do macro.monad - [inputC (singleton (macro.expand-all (stack-fold (get@ #top inputs) (maybe.default g!stack ?bottomI)))) - outputC (singleton (macro.expand-all (stack-fold (get@ #top outputs) (maybe.default g!stack ?bottomO))))] + (monad.do meta.monad + [inputC (singleton (meta.expand-all (stack-fold (get@ #top inputs) (maybe.default g!stack ?bottomI)))) + outputC (singleton (meta.expand-all (stack-fold (get@ #top outputs) (maybe.default g!stack ?bottomO))))] (wrap (list (` (All [(~ g!stack)] (-> (~ (de-alias inputC)) (~ (de-alias outputC)))))))))))) @@ -115,8 +116,8 @@ (syntax: #export (apply {arity (|> <c>.nat (<>.filter (n.> 0)))}) (with-gensyms [g! g!func g!stack g!output] - (monad.do {@ macro.monad} - [g!inputs (|> (macro.gensym "input") (list.repeat arity) (monad.seq @))] + (monad.do {@ meta.monad} + [g!inputs (|> (meta.gensym "input") (list.repeat arity) (monad.seq @))] (wrap (list (` (: (All [(~+ g!inputs) (~ g!output)] (-> (-> (~+ g!inputs) (~ g!output)) (=> [(~+ g!inputs)] [(~ g!output)]))) diff --git a/stdlib/source/lux/control/concurrency/actor.lux b/stdlib/source/lux/control/concurrency/actor.lux index fb782b169..851a7c790 100644 --- a/stdlib/source/lux/control/concurrency/actor.lux +++ b/stdlib/source/lux/control/concurrency/actor.lux @@ -18,13 +18,13 @@ ["%" format (#+ format)]] [collection ["." list ("#@." monoid monad fold)]]] - ["." macro (#+ with-gensyms monad) + [macro ["." code] [syntax (#+ syntax:) ["cs" common ["csr" reader] ["csw" writer]]]] - [meta + ["." meta (#+ with-gensyms monad) ["." annotation]] [type abstract]] @@ -191,8 +191,8 @@ (def: (<resolve> name) (-> Name (Meta Name)) - (do macro.monad - [constant (macro.find-def name)] + (do meta.monad + [constant (meta.find-def name)] (case constant (#.Left de-aliased) (<resolve> de-aliased) @@ -203,7 +203,7 @@ (wrap actor-name) _ - (macro.fail (format "Definition is not " <desc> "."))))))] + (meta.fail (format "Definition is not " <desc> "."))))))] [with-actor resolve-actor #..actor "an actor"] [with-message resolve-message #..message "a message"] @@ -268,8 +268,8 @@ #let [_ (log! "AFTER")]] (wrap output)))))} (with-gensyms [g!_ g!init] - (do macro.monad - [module macro.current-module-name + (do meta.monad + [module meta.current-module-name #let [g!type (code.local-identifier (state-name _name)) g!behavior (code.local-identifier (behavior-name _name)) g!actor (code.local-identifier _name) @@ -358,8 +358,8 @@ (let [state' (#.Cons value state)] (promise.resolved (#try.Success [state' state'])))))} (with-gensyms [g!_ g!return g!error g!task g!sent? g!resolve] - (do macro.monad - [current-module macro.current-module-name + (do meta.monad + [current-module meta.current-module-name actor-name (resolve-actor actor-name) #let [message-name [current-module (get@ #name signature)] g!type (code.identifier (product.both function.identity state-name actor-name)) diff --git a/stdlib/source/lux/control/concurrency/semaphore.lux b/stdlib/source/lux/control/concurrency/semaphore.lux index 3edcbd332..83e5ad005 100644 --- a/stdlib/source/lux/control/concurrency/semaphore.lux +++ b/stdlib/source/lux/control/concurrency/semaphore.lux @@ -16,8 +16,7 @@ ["." queue (#+ Queue)]]] [type abstract - ["." refinement]] - ["." macro]] + ["." refinement]]] [// ["." atom (#+ Atom)] ["." promise (#+ Promise Resolver)]]) diff --git a/stdlib/source/lux/control/continuation.lux b/stdlib/source/lux/control/continuation.lux index d53f103cf..ca5a4d183 100644 --- a/stdlib/source/lux/control/continuation.lux +++ b/stdlib/source/lux/control/continuation.lux @@ -8,7 +8,8 @@ ["." function] [parser ["s" code]]] - [macro (#+ with-gensyms) + [meta (#+ with-gensyms)] + [macro ["." code] [syntax (#+ syntax:)]]]) diff --git a/stdlib/source/lux/control/exception.lux b/stdlib/source/lux/control/exception.lux index f170baffe..5d0a04ea9 100644 --- a/stdlib/source/lux/control/exception.lux +++ b/stdlib/source/lux/control/exception.lux @@ -13,7 +13,8 @@ ["n" nat ("#@." decimal)]] [collection ["." list ("#@." functor fold)]]] - ["." macro + ["." meta] + [macro ["." code] [syntax (#+ syntax:) ["sc" common @@ -96,9 +97,9 @@ "Complex case:" (exception: #export [optional type variables] (some-exception {optional Text} {arguments Int}) optional-body))} - (macro.with-gensyms [g!descriptor] - (do macro.monad - [current-module macro.current-module-name + (meta.with-gensyms [g!descriptor] + (do meta.monad + [current-module meta.current-module-name #let [descriptor ($_ text@compose "{" current-module "." name "}" text.new-line) g!self (code.local-identifier name)]] (wrap (list (` (def: (~+ (scw.export export)) diff --git a/stdlib/source/lux/control/function/contract.lux b/stdlib/source/lux/control/function/contract.lux index 1c9236877..9333846fe 100644 --- a/stdlib/source/lux/control/function/contract.lux +++ b/stdlib/source/lux/control/function/contract.lux @@ -7,7 +7,8 @@ ["i" int]] [text ["%" format (#+ format)]]] - [macro (#+ with-gensyms) + [meta (#+ with-gensyms)] + [macro [syntax (#+ syntax:)] ["." code]]]) diff --git a/stdlib/source/lux/control/io.lux b/stdlib/source/lux/control/io.lux index 24b1c2e61..442cf0a1c 100644 --- a/stdlib/source/lux/control/io.lux +++ b/stdlib/source/lux/control/io.lux @@ -9,7 +9,8 @@ ["s" code]]] [type abstract] - ["." macro (#+ with-gensyms) + [meta (#+ with-gensyms)] + [macro [syntax (#+ syntax:)] ["." template]]]) diff --git a/stdlib/source/lux/control/parser/cli.lux b/stdlib/source/lux/control/parser/cli.lux index e4330b129..08e20ca26 100644 --- a/stdlib/source/lux/control/parser/cli.lux +++ b/stdlib/source/lux/control/parser/cli.lux @@ -10,7 +10,8 @@ ["." list ("#@." monoid monad)]] ["." text ("#@." equivalence) ["%" format (#+ format)]]] - [macro (#+ with-gensyms) + [meta (#+ with-gensyms)] + [macro ["." code] [syntax (#+ syntax:)]]] ["." // diff --git a/stdlib/source/lux/control/pipe.lux b/stdlib/source/lux/control/pipe.lux index 23440ca83..fb9a8c6f7 100644 --- a/stdlib/source/lux/control/pipe.lux +++ b/stdlib/source/lux/control/pipe.lux @@ -12,7 +12,8 @@ ["i" int]] [collection ["." list ("#@." fold monad)]]] - [macro (#+ with-gensyms) + [meta (#+ with-gensyms)] + [macro [syntax (#+ syntax:)] ["." code]]]) diff --git a/stdlib/source/lux/control/remember.lux b/stdlib/source/lux/control/remember.lux index 24bdacb03..c2ceb36ee 100644 --- a/stdlib/source/lux/control/remember.lux +++ b/stdlib/source/lux/control/remember.lux @@ -14,7 +14,8 @@ [time ["." instant] ["." date (#+ Date) ("#@." order)]] - ["." macro + ["." meta] + [macro ["." code] [syntax (#+ syntax:)]]]) @@ -54,7 +55,7 @@ #.None (list))) - (macro.fail (exception.construct ..must-remember [deadline today message focus]))))) + (meta.fail (exception.construct ..must-remember [deadline today message focus]))))) (template [<name> <message>] [(syntax: #export (<name> {deadline ..deadline} {message <c>.text} {focus (<>.maybe <c>.any)}) diff --git a/stdlib/source/lux/control/security/capability.lux b/stdlib/source/lux/control/security/capability.lux index 54ea35281..485c1091c 100644 --- a/stdlib/source/lux/control/security/capability.lux +++ b/stdlib/source/lux/control/security/capability.lux @@ -15,7 +15,8 @@ ["." list ("#;." functor)]]] [type abstract] - ["." macro + ["." meta] + [macro ["." code] [syntax (#+ syntax:) [common @@ -45,11 +46,11 @@ {declaration reader.declaration} {annotations (<>.maybe reader.annotations)} {[forge input output] (<c>.form ($_ <>.and <c>.local-identifier <c>.any <c>.any))}) - (do {@ macro.monad} - [this-module macro.current-module-name + (do {@ meta.monad} + [this-module meta.current-module-name #let [[name vars] declaration] g!brand (:: @ map (|>> %.code code.text) - (macro.gensym (format (%.name [this-module name])))) + (meta.gensym (format (%.name [this-module name])))) #let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] (wrap (list (` (type: (~+ (writer.export export)) (~ (writer.declaration declaration)) |