aboutsummaryrefslogtreecommitdiff
path: root/forth/stepA_interop.fs
diff options
context:
space:
mode:
authorChouser <chouser@n01se.net>2015-02-21 18:50:50 -0500
committerChouser <chouser@n01se.net>2015-02-23 22:22:04 -0500
commit3a17cb968281f7e833088fdb22cf793861810912 (patch)
tree8758fc89cdc319a3615d12be26facea80d06cd86 /forth/stepA_interop.fs
parent975126be58a92228e945730f9ff2337bfea41b9a (diff)
downloadmal-3a17cb968281f7e833088fdb22cf793861810912.tar.gz
mal-3a17cb968281f7e833088fdb22cf793861810912.zip
forth: Clean up symbol eval for better perf
Diffstat (limited to 'forth/stepA_interop.fs')
-rw-r--r--forth/stepA_interop.fs4
1 files changed, 3 insertions, 1 deletions
diff --git a/forth/stepA_interop.fs b/forth/stepA_interop.fs
index 9a39889..4d48ae7 100644
--- a/forth/stepA_interop.fs
+++ b/forth/stepA_interop.fs
@@ -270,10 +270,12 @@ defspecial . { env coll -- rtn-list }
MalSymbol
extend mal-eval { env sym -- val }
- 0 sym env get
+ sym env env/get-addr
dup 0= if
drop
0 0 s" ' not found" sym as-native s" '" ...throw-str
+ else
+ @
endif ;;
drop