We're updating the issue view to help you get more done. 

Eliminate :meta, :vector, :set, and :map ops

Description

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

Also worth mentioning: as macros instead of ops & emit methods, these optimizations can apply to any backend. The macros create ClojureScript forms, rather than manually generating JavaScript.

Environment

None

Status

Assignee

Unassigned

Reporter

Brandon Bloom

Labels

Approval

None

Patch

Code

Priority

Trivial