diff options
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/luxc/env.lux | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/new-luxc/source/luxc/env.lux b/new-luxc/source/luxc/env.lux index 8c056f1c3..edc6a4a5b 100644 --- a/new-luxc/source/luxc/env.lux +++ b/new-luxc/source/luxc/env.lux @@ -5,7 +5,7 @@ text/format [maybe #+ Monad<Maybe> "Maybe/" Monad<Maybe>] [product] - ["E" error] + ["R" result] (coll [list "L/" Fold<List> Monoid<List>])) [macro]) (luxc ["&" base])) @@ -89,22 +89,22 @@ head)] (case (macro;run' (set@ #;scopes (#;Cons new-head tail) compiler) action) - (#E;Success [compiler' output]) + (#R;Success [compiler' output]) (case (get@ #;scopes compiler') (#;Cons head' tail') (let [scopes' (#;Cons (set@ #;locals (get@ #;locals head) head') tail')] - (#E;Success [(set@ #;scopes scopes' compiler') + (#R;Success [(set@ #;scopes scopes' compiler') output])) _ (error! "Invalid scope alteration.")) - (#E;Error error) - (#E;Error error))) + (#R;Error error) + (#R;Error error))) _ - (#E;Error "Cannot create local binding without a scope.")) + (#R;Error "Cannot create local binding without a scope.")) )) (do-template [<name> <val-type>] @@ -136,11 +136,11 @@ (case (action (update@ #;scopes (|>. (#;Cons (scope parent-name name))) compiler)) - (#E;Error error) - (#E;Error error) + (#R;Error error) + (#R;Error error) - (#E;Success [compiler' output]) - (#E;Success [(update@ #;scopes + (#R;Success [compiler' output]) + (#R;Success [(update@ #;scopes (|>. list;tail (default (list))) compiler') output]) |