diff options
| author | Chouser <chouser@n01se.net> | 2015-02-21 18:50:50 -0500 |
|---|---|---|
| committer | Chouser <chouser@n01se.net> | 2015-02-23 22:22:04 -0500 |
| commit | 3a17cb968281f7e833088fdb22cf793861810912 (patch) | |
| tree | 8758fc89cdc319a3615d12be26facea80d06cd86 /forth/stepA_interop.fs | |
| parent | 975126be58a92228e945730f9ff2337bfea41b9a (diff) | |
| download | mal-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.fs | 4 |
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 |
