Skip to content
fogus edited this page Jun 17, 2011 · 7 revisions

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?

eval and apply

eval - no

apply, yes, and hopefully lazy

Type hints

Metadata

Exceptions

... more ...

Clone this wiki locally