Problem: "builtins" files don't allow for computed constants
Currently, all "builtin" instruction files (currently using .builtins extension) with instruction / implementation pairs, handle these as rough equivalents of DEF. This works most of the time, except that in some cases it would be preferable to avoid recomputing values that are static in nature.
Proposed solution: find a way to have a notation for a semantic equivalent of SET and implement it
What if use different separators? Keep colon (:) for DEF and use something else for SET?
For example:
IF : [] IFELSE.
but
NUM = 1 2 UINT/ADD
or
NUM := 1 2 UINT/ADD
Most important question I can see here is "when will it be evaluated?" Sure, we can inject it into an Env on its first evaluation attempt, but how do we collect the result of it? What if there are more than one values on the stack after it's evaluated?