diff options
author | Eduardo Julian | 2017-10-29 22:21:14 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-10-29 22:21:14 -0400 |
commit | 7b870a7bd124f35939d9089a2e21f0806a4c6e85 (patch) | |
tree | 076fb3544dbb1a811cfbb9dd54008b0753dead16 /new-luxc/source/luxc/scope.lux | |
parent | 2dc99a7b62fc5fc19d9982ad4398606f3aebb7a5 (diff) |
- Fixed some bugs.
- Improved error reporting.
- Implemented macro-expansion (for JVM).
- Implemented "let" compilation.
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/luxc/scope.lux | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/new-luxc/source/luxc/scope.lux b/new-luxc/source/luxc/scope.lux index bd9a3233f..4ce8a51cb 100644 --- a/new-luxc/source/luxc/scope.lux +++ b/new-luxc/source/luxc/scope.lux @@ -60,14 +60,14 @@ (let [[ref-type init-ref] (maybe;default (undefined) (get-ref name top-outer)) [ref inner'] (list/fold (: (-> Scope [Ref (List Scope)] [Ref (List Scope)]) - (function [scope [ref inner]] + (function [scope ref+inner] [(#;Captured (get@ [#;captured #;counter] scope)) (#;Cons (update@ #;captured (: (-> Captured Captured) (|>. (update@ #;counter n.inc) - (update@ #;mappings (&;pl-put name [ref-type ref])))) + (update@ #;mappings (&;pl-put name [ref-type (product;left ref+inner)])))) scope) - inner)])) + (product;right ref+inner))])) [init-ref #;Nil] (list;reverse inner)) scopes (list/compose inner' outer)] |