aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/compiler/default/phase.lux
diff options
context:
space:
mode:
authorEduardo Julian2018-08-09 23:39:17 -0400
committerEduardo Julian2018-08-09 23:39:17 -0400
commit84d7f9ccef221e9797929813af1094b335ba26e9 (patch)
tree428eb540e900d4e2bb29371361894d54389a0d66 /stdlib/source/lux/compiler/default/phase.lux
parent2ab2c4dc219e5d3667f4f2626166dfc782052fe3 (diff)
- Fixes for eval.
- Macro-expansion during analysis.
Diffstat (limited to 'stdlib/source/lux/compiler/default/phase.lux')
-rw-r--r--stdlib/source/lux/compiler/default/phase.lux8
1 files changed, 7 insertions, 1 deletions
diff --git a/stdlib/source/lux/compiler/default/phase.lux b/stdlib/source/lux/compiler/default/phase.lux
index 920d81996..25ceea746 100644
--- a/stdlib/source/lux/compiler/default/phase.lux
+++ b/stdlib/source/lux/compiler/default/phase.lux
@@ -33,12 +33,18 @@
operation
(:: error.Monad<Error> map product.right)))
-(def: #export state
+(def: #export get-state
(All [s o]
(Operation s s))
(function (_ state)
(#error.Success [state state])))
+(def: #export (set-state state)
+ (All [s o]
+ (-> s (Operation s Any)))
+ (function (_ _)
+ (#error.Success [state []])))
+
(def: #export (sub [get set] operation)
(All [s s' o]
(-> [(-> s s') (-> s' s s)]