The attached patch eliminates the :meta, :set, :vector, and :map ops.
These four operations can be defined more simply in terms of
calls to with-meta, set, vector, and hash-map respectively.
The compiler was optimizing construction of vectors and maps. Now,
those optimizations are implemented as macros. Additionally, sets
are optimized in much the same way.
3 files changed, 52 insertions, 99 deletions