Sun Sep 21 14:04:56 CEST 2014

Primitive pool

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.

This allows:
  - target compilation to use native instruction
  - abstract interpretation to use the library functions