diff options
author | Eduardo Julian | 2020-05-17 20:10:42 -0400 |
---|---|---|
committer | Eduardo Julian | 2020-05-17 20:10:42 -0400 |
commit | d97f92842981501a8e0d95a1b4f1ba3d9e72f0d5 (patch) | |
tree | 3aa01a37da19e1e63bbf8cd204ae6743166e386a /new-luxc/source/luxc/lang/translation/r | |
parent | 9219da9a9bf29b3a2f7f10d4865b939ded28e003 (diff) |
Local binding names for (co|indexed-)?monads are now explicitly set.
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/r')
6 files changed, 10 insertions, 10 deletions
diff --git a/new-luxc/source/luxc/lang/translation/r/function.jvm.lux b/new-luxc/source/luxc/lang/translation/r/function.jvm.lux index 5ecf21c3c..f39a5e1a2 100644 --- a/new-luxc/source/luxc/lang/translation/r/function.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/function.jvm.lux @@ -16,7 +16,7 @@ (def: #export (translate-apply translate functionS argsS+) (-> (-> ls.Synthesis (Meta Expression)) ls.Synthesis (List ls.Synthesis) (Meta Expression)) - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [functionO (translate functionS) argsO+ (monad.map @ translate argsS+)] (wrap (r.apply argsO+ functionO)))) @@ -50,7 +50,7 @@ (-> (-> ls.Synthesis (Meta Expression)) (List Variable) ls.Arity ls.Synthesis (Meta Expression)) - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [[function-name bodyO] (//.with-sub-context (do @ [function-name //.context] diff --git a/new-luxc/source/luxc/lang/translation/r/loop.jvm.lux b/new-luxc/source/luxc/lang/translation/r/loop.jvm.lux index c64973d8f..f1197e5ce 100644 --- a/new-luxc/source/luxc/lang/translation/r/loop.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/loop.jvm.lux @@ -14,7 +14,7 @@ (def: #export (translate-loop translate offset initsS+ bodyS) (-> (-> ls.Synthesis (Meta Expression)) Nat (List ls.Synthesis) ls.Synthesis (Meta Expression)) - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [loop-name (|> (macro.gensym "loop") (:: @ map (|>> %code lang.normalize-name))) initsO+ (monad.map @ translate initsS+) @@ -31,7 +31,7 @@ (def: #export (translate-recur translate argsS+) (-> (-> ls.Synthesis (Meta Expression)) (List ls.Synthesis) (Meta Expression)) - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [[loop-name offset] //.anchor argsO+ (monad.map @ translate argsS+)] (wrap (r.apply argsO+ (r.global loop-name))))) diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux index f806805c0..85ccd90dc 100644 --- a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux @@ -63,7 +63,7 @@ (syntax: (arity: {name s.local-identifier} {arity s.nat}) (with-gensyms [g!_ g!proc g!name g!translate g!inputs] - (do @ + (do {@ macro.monad} [g!input+ (monad.seq @ (list.repeat arity (macro.gensym "input")))] (wrap (list (` (def: #export ((~ (code.local-identifier name)) (~ g!proc)) (-> (-> (..Vector (~ (code.nat arity)) Expression) Expression) @@ -91,7 +91,7 @@ (-> Variadic (-> Text Proc)) (function (_ proc-name) (function (_ translate inputsS) - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [inputsI (monad.map @ translate inputsS)] (wrap (proc inputsI)))))) diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux index 2793b40e8..3bd33955f 100644 --- a/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux @@ -36,7 +36,7 @@ ## (-> Text @.Proc) ## (case inputs ## (^ (list& functionS argsS+)) -## (do macro.Monad<Meta> +## (do {@ macro.Monad<Meta>} ## [functionO (translate functionS) ## argsO+ (monad.map @ translate argsS+)] ## (wrap (lua.apply functionO argsO+))) @@ -56,7 +56,7 @@ ## (-> Text @.Proc) ## (case inputs ## (^ (list& tableS [_ (#.Text field)] argsS+)) -## (do macro.Monad<Meta> +## (do {@ macro.Monad<Meta>} ## [tableO (translate tableS) ## argsO+ (monad.map @ translate argsS+)] ## (wrap (lua.method field tableO argsO+))) diff --git a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux index 7530e3669..1798cb56d 100644 --- a/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/statement.jvm.lux @@ -12,7 +12,7 @@ (def: #export (translate-def name expressionT expressionO metaV) (-> Text Type Expression Code (Meta Any)) - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [current-module macro.current-module-name #let [def-name [current-module name]]] (case (macro.get-identifier-ann (name-of #.alias) metaV) diff --git a/new-luxc/source/luxc/lang/translation/r/structure.jvm.lux b/new-luxc/source/luxc/lang/translation/r/structure.jvm.lux index e9a528d2b..cea8fcd59 100644 --- a/new-luxc/source/luxc/lang/translation/r/structure.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/structure.jvm.lux @@ -20,7 +20,7 @@ (translate singletonS) _ - (do macro.Monad<Meta> + (do {@ macro.Monad<Meta>} [elemsT+ (monad.map @ translate elemsS+)] (wrap (r.list elemsT+))))) |