aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-02-11 22:07:39 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-02-11 22:26:00 -0500
commit490038afb5abb6af8b2f1f46b83a7993e6be316d (patch)
tree65eb14dc0ead11c9060dd652f4570f55ec50b719
parent20bce97bb36da663e832d2aaccddfde846cc9c93 (diff)
Don't expose non-exported variables in bqn.bqn namespace implementation
-rw-r--r--test/cases/namespace.bqn1
-rw-r--r--vm.bqn2
2 files changed, 2 insertions, 1 deletions
diff --git a/test/cases/namespace.bqn b/test/cases/namespace.bqn
index 5040093f..d4397fed 100644
--- a/test/cases/namespace.bqn
+++ b/test/cases/namespace.bqn
@@ -30,6 +30,7 @@
# Dot
5 % {a⇐5}.a
! % {a⇐5}.b
+! % {a⇐5⋄b←6}.b
1 % {a⇐1⋄2+a}.a
5 % (c←{a⇐𝕩}5).a
4 % 1⊑e←3‿{e⇐4}.e‿5
diff --git a/vm.bqn b/vm.bqn
index 20738cd1..76e1282a 100644
--- a/vm.bqn
+++ b/vm.bqn
@@ -21,7 +21,7 @@ MakeEnv ← { 𝕊p‿v‿n‿e:
program ⇐ p.program
vars ⇐ program⊸MakeVar¨ (ns⥊¯1) ∾ n
MakeNS ⇐ {𝕤
- v ← @ ⊣´¨ n ⊔ ns↓vars # Lookup table
+ v ← @ ⊣´¨ n ⊔○(e⊸/) ns↓vars # Lookup table
Field ⇐ {𝕨𝕊i:
cross ← 𝕨 { 𝕨1⊘≡𝕩 ? ⊢ ; ⊑ 𝕩.names ⊐ ⊏⟜𝕨.names } program
(Cross i) ⊑ v