jank-lang / jank

A Clojure dialect hosted on LLVM with native C++ interop

Home Page:https://jank-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add immer-based hash map object

jeaye opened this issue · comments

Now that #27 is done, we can add a hash map with transients into jank.

  • Add new hash map object
  • Add promotion from array map to hash map, based on size
  • Codegen hash maps by default, based on size of map (16 or more in Clojure)
  • Add hash-map function to clojure.core
  • Ensure both map types are map?

This is blocked on #37, which is changing the whole object model. Makes sense to only do this afterward.