requires interning strategy
possibly compiler support for same
string starting with noncharacter code
\uFFFE and \uFFFF are guaranteed noncharacters
use as prefix for keywords and symbols
must test in predicates string? symbol? keyword?
string starting with noncharacter code
first cut COW, string uniqueness required
first cut, COW, internal array
js native number is our double
building Long objects defeats fixnum support in JS VMs
but they are 32-bit - some type bits
we don’t need all of them
Associative
Counted
Fn
IBlockingDeref
IChunk
IChunkedSeq
IDeref
IEditableCollection
IFn
IKeywordLookup
ILookup
ILookupSite
ILookupThunk
IMapEntry
IMeta
Indexed
IndexedSeq
IObj
IPending
IPersistentCollection
IPersistentList
IPersistentMap
IPersistentSet
IPersistentStack
IPersistentVector
IProxy
IRecord
IReduce
IRef
IReference
ISeq
ITransientAssociative
ITransientCollection
ITransientMap
ITransientSet
ITransientVector
IType
MapEquivalence
Named
Reversible
Seqable
Sequential
Settable
Sorted
Naming convention for protocols?
investigate gclosure and GWT
save, set!, finally restore
deps: try/finally primitives in compiler
there’s a ticket for this
Integration of gclosure library
how do we reference/load?
REPL runtime behavior of provide/require
anything good in gclosure?
invocation via API gives most control