diff options
Diffstat (limited to 'new-luxc/source/luxc/synthesizer')
-rw-r--r-- | new-luxc/source/luxc/synthesizer/loop.lux | 7 | ||||
-rw-r--r-- | new-luxc/source/luxc/synthesizer/variable.lux | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/new-luxc/source/luxc/synthesizer/loop.lux b/new-luxc/source/luxc/synthesizer/loop.lux index 9f4d09a49..ad4504f41 100644 --- a/new-luxc/source/luxc/synthesizer/loop.lux +++ b/new-luxc/source/luxc/synthesizer/loop.lux @@ -1,7 +1,8 @@ (;module: lux - (lux (data (coll [list "L/" Functor<List>]) - text/format)) + (lux (data [maybe] + text/format + (coll [list "L/" Functor<List>]))) (luxc (lang ["ls" synthesis]) (synthesizer ["&&;" function]))) @@ -105,7 +106,7 @@ (let [resolve-captured (: (-> ls;Variable ls;Variable) (function [var] (let [idx (|> var (i.* -1) int-to-nat n.dec)] - (|> env (list;nth idx) assume))))] + (|> env (list;nth idx) maybe;assume))))] (loop [exprS exprS] (case exprS (#ls;Variant tag last? valueS) diff --git a/new-luxc/source/luxc/synthesizer/variable.lux b/new-luxc/source/luxc/synthesizer/variable.lux index 3a48cb3f2..01ad101fa 100644 --- a/new-luxc/source/luxc/synthesizer/variable.lux +++ b/new-luxc/source/luxc/synthesizer/variable.lux @@ -16,7 +16,7 @@ (list (nat-to-int register)) (^or (#ls;SeqP pre post) (#ls;AltP pre post)) - (L/append (bound-vars pre) (bound-vars post)) + (L/compose (bound-vars pre) (bound-vars post)) _ (list))) @@ -31,7 +31,7 @@ (path-bodies post) (#ls;AltP pre post) - (L/append (path-bodies pre) (path-bodies post)) + (L/compose (path-bodies pre) (path-bodies post)) _ (list))) |