From d97f92842981501a8e0d95a1b4f1ba3d9e72f0d5 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 17 May 2020 20:10:42 -0400 Subject: Local binding names for (co|indexed-)?monads are now explicitly set. --- new-luxc/source/luxc/lang/translation/jvm/extension/common.lux | 2 +- new-luxc/source/luxc/lang/translation/jvm/extension/host.lux | 10 +++++----- new-luxc/source/luxc/lang/translation/jvm/function.lux | 4 ++-- new-luxc/source/luxc/lang/translation/jvm/loop.lux | 4 ++-- new-luxc/source/luxc/lang/translation/jvm/reference.lux | 4 ++-- new-luxc/source/luxc/lang/translation/jvm/structure.lux | 2 +- new-luxc/source/luxc/lang/translation/r/function.jvm.lux | 4 ++-- new-luxc/source/luxc/lang/translation/r/loop.jvm.lux | 4 ++-- .../source/luxc/lang/translation/r/procedure/common.jvm.lux | 4 ++-- new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux | 4 ++-- new-luxc/source/luxc/lang/translation/r/statement.jvm.lux | 2 +- new-luxc/source/luxc/lang/translation/r/structure.jvm.lux | 2 +- 12 files changed, 23 insertions(+), 23 deletions(-) (limited to 'new-luxc/source/luxc/lang') diff --git a/new-luxc/source/luxc/lang/translation/jvm/extension/common.lux b/new-luxc/source/luxc/lang/translation/jvm/extension/common.lux index 6d3cbbd46..383415c0a 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/extension/common.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/extension/common.lux @@ -92,7 +92,7 @@ (function (_ extension-name phase archive [input else conditionals]) (<| _.with-label (function (_ @end)) _.with-label (function (_ @else)) - (do phase.monad + (do {@ phase.monad} [inputG (phase archive input) elseG (phase archive else) conditionalsG+ (: (Operation (List [(List [Int Label]) diff --git a/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux b/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux index d448d182c..7b90a8e4f 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/extension/host.lux @@ -716,7 +716,7 @@ (..custom [($_ <>.and ..class .text ..return (<>.some ..input)) (function (_ extension-name generate archive [class method outputT inputsTS]) - (do phase.monad + (do {@ phase.monad} [inputsTI (monad.map @ (generate-input generate archive) inputsTS)] (wrap (|>> (_.fuse (list@map product.right inputsTI)) (_.INVOKESTATIC class method (type.method [(list@map product.left inputsTI) outputT (list)])) @@ -728,7 +728,7 @@ (..custom [($_ <>.and ..class .text ..return .any (<>.some ..input)) (function (_ extension-name generate archive [class method outputT objectS inputsTS]) - (do phase.monad + (do {@ phase.monad} [objectI (generate archive objectS) inputsTI (monad.map @ (generate-input generate archive) inputsTS)] (wrap (|>> objectI @@ -750,7 +750,7 @@ (..custom [($_ <>.and ..class (<>.some ..input)) (function (_ extension-name generate archive [class inputsTS]) - (do phase.monad + (do {@ phase.monad} [inputsTI (monad.map @ (generate-input generate archive) inputsTS)] (wrap (|>> (_.NEW class) _.DUP @@ -911,7 +911,7 @@ (def: (anonymous-instance archive class env) (-> Archive (Type Class) Environment (Operation Inst)) - (do phase.monad + (do {@ phase.monad} [captureI+ (monad.map @ (///reference.variable archive) env)] (wrap (|>> (_.NEW class) _.DUP @@ -958,7 +958,7 @@ (function (_ extension-name generate archive [super-class super-interfaces inputsTS overriden-methods]) - (do phase.monad + (do {@ phase.monad} [[context _] (generation.with-new-context archive (wrap [])) #let [[module-id artifact-id] context anonymous-class-name (///.class-name context) diff --git a/new-luxc/source/luxc/lang/translation/jvm/function.lux b/new-luxc/source/luxc/lang/translation/jvm/function.lux index fa91b41df..888ad9545 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/function.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/function.lux @@ -103,7 +103,7 @@ (def: (instance archive class arity env) (-> Archive (Type Class) Arity Environment (Operation Inst)) - (do phase.monad + (do {@ phase.monad} [captureI+ (monad.map @ (reference.variable archive) env) #let [argsI (if (poly-arg? arity) (|> (nullsI (dec arity)) @@ -317,7 +317,7 @@ (def: #export (call generate archive [functionS argsS]) (Generator Apply) - (do phase.monad + (do {@ phase.monad} [functionI (generate archive functionS) argsI (monad.map @ (generate archive) argsS) #let [applyI (|> argsI diff --git a/new-luxc/source/luxc/lang/translation/jvm/loop.lux b/new-luxc/source/luxc/lang/translation/jvm/loop.lux index 14b305843..1f2168fed 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/loop.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/loop.lux @@ -35,7 +35,7 @@ (def: #export (recur translate archive argsS) (Generator (List Synthesis)) - (do phase.monad + (do {@ phase.monad} [[@begin start] generation.anchor #let [end (|> argsS list.size dec (n.+ start)) pairs (list.zip2 (list.n/range start end) @@ -66,7 +66,7 @@ (def: #export (scope translate archive [start initsS+ iterationS]) (Generator [Nat (List Synthesis) Synthesis]) - (do phase.monad + (do {@ phase.monad} [@begin _.make-label initsI+ (monad.map @ (translate archive) initsS+) iterationI (generation.with-anchor [@begin start] diff --git a/new-luxc/source/luxc/lang/translation/jvm/reference.lux b/new-luxc/source/luxc/lang/translation/jvm/reference.lux index 4eafecec0..6bcf4a2e5 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/reference.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/reference.lux @@ -36,7 +36,7 @@ (def: (foreign archive variable) (-> Archive Register (Operation Inst)) - (do phase.monad + (do {@ phase.monad} [class-name (:: @ map //.class-name (generation.context archive))] (wrap (|>> (_.ALOAD 0) @@ -59,7 +59,7 @@ (def: #export (constant archive name) (-> Archive Name (Operation Inst)) - (do phase.monad + (do {@ phase.monad} [class-name (:: @ map //.class-name (generation.remember archive name))] (wrap (_.GETSTATIC (type.class class-name (list)) //.value-field //.$Value)))) diff --git a/new-luxc/source/luxc/lang/translation/jvm/structure.lux b/new-luxc/source/luxc/lang/translation/jvm/structure.lux index 7cf9f4da0..46f87142a 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/structure.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/structure.lux @@ -39,7 +39,7 @@ (def: #export (tuple generate archive members) (Generator (List Synthesis)) - (do phase.monad + (do {@ phase.monad} [#let [size (list.size members)] _ (phase.assert not-a-tuple size (n.>= 2 size)) 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 + (do {@ macro.Monad} [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 + (do {@ macro.Monad} [[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 + (do {@ macro.Monad} [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 + (do {@ macro.Monad} [[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 + (do {@ macro.Monad} [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 +## (do {@ macro.Monad} ## [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 +## (do {@ macro.Monad} ## [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 + (do {@ macro.Monad} [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 + (do {@ macro.Monad} [elemsT+ (monad.map @ translate elemsS+)] (wrap (r.list elemsT+))))) -- cgit v1.2.3