This interpreter still uses hashtables and strings everywhere, but at least it avoids searching string-keyed hashtables when you do things like + and *.
+
*
View tag zef-1-directops on GitHub.