Sun Sep 21 14:04:56 CEST 2014
What is needed is a primitive pool. A collection of primitives that
can be implemented in terms of each other.
This allows the interface to remain the same: simply add primitives,
but add a mechanism for "default implementations".
In first iteration this can be directed, but later might be optimized
Put it differently:
Add primitives to the language whenever they are supported on a
particular platform, then allow for them to be implemented by a
library function whenver they are encountered.
- target compilation to use native instruction
- abstract interpretation to use the library functions