aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/platform/compiler/phase/synthesis/function.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/platform/compiler/phase/synthesis/function.lux30
1 files changed, 15 insertions, 15 deletions
diff --git a/stdlib/source/lux/platform/compiler/phase/synthesis/function.lux b/stdlib/source/lux/platform/compiler/phase/synthesis/function.lux
index 267d941fc..ccc7835a4 100644
--- a/stdlib/source/lux/platform/compiler/phase/synthesis/function.lux
+++ b/stdlib/source/lux/platform/compiler/phase/synthesis/function.lux
@@ -8,11 +8,11 @@
["." text
format]
[collection
- ["." list ("list/." Functor<List> Monoid<List> Fold<List>)]
+ ["." list ("list/." functor monoid fold)]
["dict" dictionary (#+ Dictionary)]]]]
["." // (#+ Path Synthesis Operation Phase)
["." loop (#+ Transform)]
- ["/." // ("operation/." Monad<Operation>)
+ ["/." // ("operation/." monad)
["." analysis (#+ Environment Arity Analysis)]
[//
["." reference (#+ Register Variable)]]]])
@@ -40,7 +40,7 @@
(-> Phase Phase)
(function (_ exprA)
(let [[funcA argsA] (analysis.application exprA)]
- (do ///.Monad<Operation>
+ (do ///.monad
[funcS (phase funcA)
argsS (monad.map @ phase argsA)
## locals //.locals
@@ -75,7 +75,7 @@
(^template [<tag>]
(<tag> left right)
- (do ///.Monad<Operation>
+ (do ///.monad
[left' (grow-path grow left)
right' (grow-path grow right)]
(wrap (<tag> left' right'))))
@@ -91,7 +91,7 @@
(def: (grow-sub-environment super sub)
(-> Environment Environment (Operation Environment))
- (monad.map ///.Monad<Operation>
+ (monad.map ///.monad
(function (_ variable)
(case variable
(#reference.Local register)
@@ -113,7 +113,7 @@
(#analysis.Tuple membersS+)
(|> membersS+
- (monad.map ///.Monad<Operation> (grow environment))
+ (monad.map ///.monad (grow environment))
(operation/map (|>> //.tuple))))
(^ (..self-reference))
@@ -139,20 +139,20 @@
(#//.Branch branch)
(case branch
(#//.Let [inputS register bodyS])
- (do ///.Monad<Operation>
+ (do ///.monad
[inputS' (grow environment inputS)
bodyS' (grow environment bodyS)]
(wrap (//.branch/let [inputS' (inc register) bodyS'])))
(#//.If [testS thenS elseS])
- (do ///.Monad<Operation>
+ (do ///.monad
[testS' (grow environment testS)
thenS' (grow environment thenS)
elseS' (grow environment elseS)]
(wrap (//.branch/if [testS' thenS' elseS'])))
(#//.Case [inputS pathS])
- (do ///.Monad<Operation>
+ (do ///.monad
[inputS' (grow environment inputS)
pathS' (grow-path (grow environment) pathS)]
(wrap (//.branch/case [inputS' pathS']))))
@@ -160,20 +160,20 @@
(#//.Loop loop)
(case loop
(#//.Scope [start initsS+ iterationS])
- (do ///.Monad<Operation>
+ (do ///.monad
[initsS+' (monad.map @ (grow environment) initsS+)
iterationS' (grow environment iterationS)]
(wrap (//.loop/scope [start initsS+' iterationS'])))
(#//.Recur argumentsS+)
(|> argumentsS+
- (monad.map ///.Monad<Operation> (grow environment))
+ (monad.map ///.monad (grow environment))
(operation/map (|>> //.loop/recur))))
(#//.Function function)
(case function
(#//.Abstraction [_env _arity _body])
- (do ///.Monad<Operation>
+ (do ///.monad
[_env' (grow-sub-environment environment _env)]
(wrap (//.function/abstraction [_env' _arity _body])))
@@ -184,14 +184,14 @@
(list/compose pre-argsS+ argsS+)]))
_
- (do ///.Monad<Operation>
+ (do ///.monad
[funcS' (grow environment funcS)
argsS+' (monad.map @ (grow environment) argsS+)]
(wrap (//.function/apply [funcS' argsS+']))))))
(#//.Extension name argumentsS+)
(|> argumentsS+
- (monad.map ///.Monad<Operation> (grow environment))
+ (monad.map ///.monad (grow environment))
(operation/map (|>> (#//.Extension name))))
_
@@ -199,7 +199,7 @@
(def: #export (abstraction phase environment bodyA)
(-> Phase Environment Analysis (Operation Synthesis))
- (do ///.Monad<Operation>
+ (do ///.monad
[bodyS (phase bodyA)]
(case bodyS
(^ (//.function/abstraction [env' down-arity' bodyS']))