aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang
diff options
context:
space:
mode:
authorEduardo Julian2020-05-17 20:10:42 -0400
committerEduardo Julian2020-05-17 20:10:42 -0400
commitd97f92842981501a8e0d95a1b4f1ba3d9e72f0d5 (patch)
tree3aa01a37da19e1e63bbf8cd204ae6743166e386a /new-luxc/source/luxc/lang
parent9219da9a9bf29b3a2f7f10d4865b939ded28e003 (diff)
Local binding names for (co|indexed-)?monads are now explicitly set.
Diffstat (limited to '')
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/extension/common.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/extension/host.lux10
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/function.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/loop.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/reference.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/structure.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/function.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/r/loop.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/host.jvm.lux4
-rw-r--r--new-luxc/source/luxc/lang/translation/r/statement.jvm.lux2
-rw-r--r--new-luxc/source/luxc/lang/translation/r/structure.jvm.lux2
12 files changed, 23 insertions, 23 deletions
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 <s>.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 <s>.text ..return <s>.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<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+)))))