aboutsummaryrefslogtreecommitdiff
path: root/luxc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--luxc/src/lux/analyser/env.clj2
-rw-r--r--luxc/src/lux/analyser/function.clj8
-rw-r--r--luxc/src/lux/analyser/lux.clj4
-rw-r--r--luxc/src/lux/base.clj16
4 files changed, 15 insertions, 15 deletions
diff --git a/luxc/src/lux/analyser/env.clj b/luxc/src/lux/analyser/env.clj
index b8027a048..6f6e9f986 100644
--- a/luxc/src/lux/analyser/env.clj
+++ b/luxc/src/lux/analyser/env.clj
@@ -66,5 +66,5 @@
state)
(&/$Cons env _)
- (return* state (->> env (&/get$ &/$closure) (&/get$ &/$mappings))))
+ (return* state (->> env (&/get$ &/$captured) (&/get$ &/$mappings))))
))
diff --git a/luxc/src/lux/analyser/function.clj b/luxc/src/lux/analyser/function.clj
index aaaaed9f9..7d199ba30 100644
--- a/luxc/src/lux/analyser/function.clj
+++ b/luxc/src/lux/analyser/function.clj
@@ -20,9 +20,9 @@
(|let [[[register-type register-cursor] _] register
register* (&&/|meta register-type register-cursor
(&&/$captured (&/T [scope
- (->> frame (&/get$ &/$closure) (&/get$ &/$counter))
+ (->> frame (&/get$ &/$captured) (&/get$ &/$counter))
register])))]
- (&/T [register* (&/update$ &/$closure #(->> %
- (&/update$ &/$counter inc)
- (&/update$ &/$mappings (fn [mps] (&/|put name register* mps))))
+ (&/T [register* (&/update$ &/$captured #(->> %
+ (&/update$ &/$counter inc)
+ (&/update$ &/$mappings (fn [mps] (&/|put name register* mps))))
frame)])))
diff --git a/luxc/src/lux/analyser/lux.clj b/luxc/src/lux/analyser/lux.clj
index e10810475..6649628c7 100644
--- a/luxc/src/lux/analyser/lux.clj
+++ b/luxc/src/lux/analyser/lux.clj
@@ -277,7 +277,7 @@
(fn [state]
(|let [stack (&/get$ &/$scopes state)
no-binding? #(and (->> % (&/get$ &/$locals) (&/get$ &/$mappings) (&/|contains? name) not)
- (->> % (&/get$ &/$closure) (&/get$ &/$mappings) (&/|contains? name) not))
+ (->> % (&/get$ &/$captured) (&/get$ &/$mappings) (&/|contains? name) not))
[inner outer] (&/|split-with no-binding? stack)]
(|case outer
(&/$Nil)
@@ -292,7 +292,7 @@
[register* frame*] (&&function/close-over in-scope name register frame)]
(&/T [register* (&/$Cons frame* new-inner)])))
(&/T [(or (->> bottom-outer (&/get$ &/$locals) (&/get$ &/$mappings) (&/|get name))
- (->> bottom-outer (&/get$ &/$closure) (&/get$ &/$mappings) (&/|get name)))
+ (->> bottom-outer (&/get$ &/$captured) (&/get$ &/$mappings) (&/|get name)))
&/$Nil])
(&/|reverse inner) scopes)]
((|do [_ (&type/check exo-type (&&/expr-type* =local))]
diff --git a/luxc/src/lux/base.clj b/luxc/src/lux/base.clj
index 95c78bc02..536009a39 100644
--- a/luxc/src/lux/base.clj
+++ b/luxc/src/lux/base.clj
@@ -119,9 +119,9 @@
;; Env
(deftuple
["name"
- "inner-closures"
+ "inner"
"locals"
- "closure"])
+ "captured"])
;; Host
(deftuple
@@ -726,13 +726,13 @@
(|table)]))
(defn env [name old-name]
- (T [;; "lux;name"
+ (T [;; name
($Cons name old-name)
- ;; "lux;inner-closures"
+ ;; inner
0
- ;; "lux;locals"
+ ;; locals
+init-bindings+
- ;; "lux;closure"
+ ;; captured
+init-bindings+]
))
@@ -959,10 +959,10 @@
(defn with-closure [body]
(|do [closure-name (|do [top get-top-local-env]
- (return (->> top (get$ $inner-closures) str)))]
+ (return (->> top (get$ $inner) str)))]
(fn [state]
(let [body* (with-scope closure-name body)]
- (run-state body* (update$ $scopes #($Cons (update$ $inner-closures inc (|head %))
+ (run-state body* (update$ $scopes #($Cons (update$ $inner inc (|head %))
(|tail %))
state))))))