aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--stdlib/source/lux.lux26
-rw-r--r--stdlib/source/lux/macro.lux4
6 files changed, 30 insertions, 30 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))))))
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index e1244d970..1632e6eab 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -352,24 +352,24 @@
default-def-meta-exported))))
## (type: Scope
-## {#name (List Text)
-## #inner-closures Int
-## #locals (Bindings Text Void)
-## #closure (Bindings Text Void)})
+## {#name (List Text)
+## #inner Nat
+## #locals (Bindings Text Void)
+## #captured (Bindings Text Void)})
(_lux_def Scope
(#NamedT ["lux" "Scope"]
- (#ProdT ## "lux;name"
+ (#ProdT ## name
(#AppT List Text)
- (#ProdT ## "lux;inner-closures"
- Int
- (#ProdT ## "lux;locals"
+ (#ProdT ## inner
+ Nat
+ (#ProdT ## locals
(#AppT (#AppT Bindings Text) Void)
- ## "lux;closure"
+ ## captured
(#AppT (#AppT Bindings Text) Void)))))
(#Cons [["lux" "tags"] (#ListA (#Cons (#TextA "name")
- (#Cons (#TextA "inner-closures")
+ (#Cons (#TextA "inner")
(#Cons (#TextA "locals")
- (#Cons (#TextA "closure")
+ (#Cons (#TextA "captured")
#Nil)))))]
default-def-meta-exported))
@@ -1878,7 +1878,7 @@
#seed seed #expected expected #cursor cursor
#scope-type-vars scope-type-vars}
(_lux_case (reverse scopes)
- (#Cons {#name (#;Cons module-name #Nil) #inner-closures _ #locals _ #closure _} _)
+ (#Cons {#name (#;Cons module-name #Nil) #inner _ #locals _ #captured _} _)
(#Right [state module-name])
_
@@ -4130,7 +4130,7 @@
(find (: (-> Scope (Maybe Type))
(function [env]
(case env
- {#name _ #inner-closures _ #locals {#counter _ #mappings locals} #closure {#counter _ #mappings closure}}
+ {#name _ #inner _ #locals {#counter _ #mappings locals} #captured {#counter _ #mappings closure}}
(try-both (find (: (-> [Text Void] (Maybe Type))
(function [[bname analysis]]
(let [[[type _] _] (:! (Meta [Type Cursor] Void)
diff --git a/stdlib/source/lux/macro.lux b/stdlib/source/lux/macro.lux
index 93920c67b..77902ba1a 100644
--- a/stdlib/source/lux/macro.lux
+++ b/stdlib/source/lux/macro.lux
@@ -431,13 +431,13 @@
(or (any? test (:! (List [Text (Meta [Type Cursor] Void)])
(get@ [#;locals #;mappings] env)))
(any? test (:! (List [Text (Meta [Type Cursor] Void)])
- (get@ [#;closure #;mappings] env)))))
+ (get@ [#;captured #;mappings] env)))))
(get@ #;scopes state))
[_ [[type _] _]] (try-both (find test)
(:! (List [Text (Meta [Type Cursor] Void)])
(get@ [#;locals #;mappings] scope))
(:! (List [Text (Meta [Type Cursor] Void)])
- (get@ [#;closure #;mappings] scope)))]
+ (get@ [#;captured #;mappings] scope)))]
(wrap type))
(#;Some var-type)
(#;Right [state var-type])