Permalink
Commits on May 8, 2013
  1. Add with-redefs

    trptcolin committed with swannodette May 1, 2013
    Remove duplication by using with-redefs in binding
  2. bring back toString on the core collections, include a new lower level

    swannodette committed May 8, 2013
    `pr-str*` which doesn't bring in all the other printing machinery
Commits on May 7, 2013
  1. CLJS-504: Empty arrays and strings don't seq as nil

    swannodette committed May 7, 2013
    Colin Jones' patch w/ fixed test and formatting.
Commits on May 5, 2013
Commits on May 4, 2013
  1. add `special-symbol?`

    swannodette committed May 4, 2013
  2. add `lazy-cat`

    swannodette committed May 4, 2013
Commits on May 1, 2013
  1. add indirect keyword and symbol invoke benchmark, keywords (JS

    swannodette committed May 1, 2013
    Strings) are nearly >7X slower under v8
  2. optimize Symbol construction - including precomputing the str rep and

    swannodette committed May 1, 2013
    calculating the hashcode. add array-map w/ symbols benchmarks where we
    don't avoid the cost of constructing symbols everytime, seems ~1.5X
    slower under v8
Commits on Apr 30, 2013
  1. provide `array?` predicate and use it. `goog/isArray` is more general

    swannodette committed Apr 30, 2013
    and intended for dealing with objects passing between different JS
    contexts, something we don't support in general anyway.
  2. infer tag information off the original form as well, needed to infer

    swannodette committed Apr 30, 2013
    direct protocol invokes of the form `(-foo ^hint x y ...)`.
    
    now that we have `(satisfies Proto x false)` we can direct dispatch
    after the test - hint these as ^not-native.
  3. move string? predicate up so core fns can use it. optimize the cases

    swannodette committed Apr 30, 2013
    where we handle JS strings and array cases directly. Disable JS native
    hash table lookup where it makes sense. goog.getUid -> goog/getUid,
    goog.isArray -> goog/isArray so we emit direct JS calls.
  4. change `satisfies?` so it takes a third parametr. passing false will

    swannodette committed Apr 30, 2013
    disable JS native hash table lookup. this way if a protocol test
    fails, we don't pay when we're going to handle the natives cases
    directly anyway.
Commits on Apr 29, 2013
  1. bump data.json dep

    swannodette committed Apr 29, 2013
  2. don't call `pr-str` from `missing-protocol`. add type string as

    swannodette committed Apr 29, 2013
    property on ctor. remove pr-str calls from deftypes. Fix Subvec
    compare bug.
  3. missing declares

    swannodette committed Apr 29, 2013
  4. don't extend string and array to ISeqable, change seq to deal with

    swannodette committed Apr 29, 2013
    them if satisfies? ISeqable fails
Commits on Apr 28, 2013
  1. don't extend IPrintWithWriter to natives, this defeats dead code

    swannodette committed Apr 28, 2013
    elimination around printing.
Commits on Apr 27, 2013
  1. inline (make-array size)

    swannodette committed Apr 27, 2013
  2. don't call `sorted-map` at runtime, this dead code eliminates all the

    swannodette committed Apr 27, 2013
    sorted map related code if never used.