Skip to content

Conversation

swannodette
Copy link
Member

No description provided.

- update older ObjMap
- simple-hash-map to avoid name collision
@swannodette swannodette changed the title Experimental Light Mode Experimental Lite Mode Jul 29, 2025
- avoid map in ObjMap for now until we get our ducks in a row
…mpossible to respect the O(1) copy contract, but too much of cljs.core relies on the protocol, we have to pretend we support it
- simple-map-entry: add ICollection impl
- RSeq: can use `-count` in lastIndexOf
- Vector: Object.indexOf and Object.lastIndexOf
  inlined, a very small size hit, better for perf
- Vector: implement RSeq
- Set (Lite): need to return 0 from -count
- cljs.seqs-test: elide chunked-seq assertions from lite-mode tests
- cljs.lite-test-runner: run cljs.seqs-test
- implement es6 collection compatibility
- include cljs.intero-test in lite-test-runner
- add ObjMapIterator
- implement ObjMap IIterable
- implement HashMap -kv-reduce
- run cljs.reducers-test
- add ILookup
- add IFind
- add lite-collection-test for these cases
- NOTE: it wasn't clear until we we got to testing that we would need
  all this stuff. Perhaps we just want to use MapEntry, this does
  create a dependence on Vector, but I think simple-map-entry was
  created to avoid the connection to PV before I had done all work to emit
  the simple vector type under :lite-mode
- -lookup needs to use nil so it doesn't throw
- -invoke should not take extra parameter, just copy PersistentVector
  implementation
- clojure.data-test passing now
- Vector uncovered a very old LazySeq bug where it returned meta after
empty. Don't change for now, different path for `:lite-mode`
- Use (.-EMPTY PersistentVector) instead [] for PersistentQueue
- missing Set specize* impl
- run cljs.spec-test
- remove stale comment about cljs.extend-to-native-test
elide another impl specific LITE_MODE test
add missing transiet impls to Vector
- Set needs to assoc value to underlying hashmap
- Set needs to return the value in the underlying hashmap
- skip a transient test we just don't support at the moment
- run the collections test
- :nodejs target for lite-test, easier to flip to :simple
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant