Underpinnings - clojure/clojurescript GitHub Wiki
Implementing core.cljs requires some deep thought about the functional underpinnings in relation to the Javascript host. For example, the implementation of partial in core.clj uses the concat function. It would be simple to implement a naive version of concat in order to make progress, but the better way forward is to think through the appropriate implementation relative to the host. In the specific case of concat the core.clj version operates with chunked sequences in mind. Is this something that we wish to carry forward? These questions need to be teased out.
Underpinning discussion
Abstractions
Chunked Seqs
Nope
Transients
Nope
Lazy seqs
We've got 'em
InternalReduce
Yes, the protocol IReduce
Reference Types
Atom
Agents on webworkers is a possibility, but requires pointed exploration.
eval and apply
eval - no
apply - yes, and lazy
Type hints
Nope
Metadata
Yes