Permalink
Commits on Jul 7, 2013
  1. fix typos

    swannodette committed Jul 7, 2013
  2. Optimize count for arrays and strings, fix bug in nth incorrect

    handling of IIndexed on native types
    swannodette committed Jul 7, 2013
Commits on Jul 4, 2013
  1. CLJS-533: call tests for :import in the test runner

    Also includes a fix for a broken test.
    committed with swannodette Jul 3, 2013
Commits on Jun 21, 2013
  1. Release Nexus staging repository during release build

    This makes the process of releasing artifacts to oss.sonatype.org
    completely automatic, requiring no human intervention at all. It is
    only intended to be used on the continuous integration server at
    build.clojure.org.
    stuartsierra committed Jun 21, 2013
  2. New POM template & script for deployment to Sonatype

    Necessitated by changes to the Sonatype Nexus server at
    oss.sonatype.org.
    
    Hopefully this will make it possible to have completely automated
    releases of ClojureScript on the Hudson server at build.clojure.org.
    stuartsierra committed Jun 21, 2013
Commits on Jun 19, 2013
Commits on Jun 17, 2013
  1. missing comment

    swannodette committed Jun 17, 2013
Commits on Jun 14, 2013
Commits on Jun 13, 2013
  1. remove `*reader-ns-name*` and `*reader-ns*` in analyzer.clj, not

    needed now that we correctly use `*cljs-ns*` in `forms-seq`.
    swannodette committed Jun 13, 2013
  2. CLJS-519: namespace aliased keywords throw Clojure reader exception

    `forms-seq` was not as lazy at it should have been, we might
    accidentally look ahead past the ns form and consume a namespace
    aliased keyword before we get a chance to apply the side effects of
    the `parse 'ns` multimethod in the analyzer.
    
    We were incorrectly setting `*ns*` in `forms-seq` to
    `*ana/*reader-ns*` instead of `*ana/cljs-ns*` which is what the analyzer
    actually side effects.
    swannodette committed Jun 13, 2013
Commits on Jun 12, 2013
  1. fix `name` warning

    swannodette committed Jun 12, 2013
Commits on Jun 10, 2013
Commits on Jun 7, 2013
Commits on Jun 3, 2013
Commits on Jun 1, 2013
  1. CLJS-513: fix handling of out-of-bounds indices in vectors

    Vectors (both PersistentVector and Subvec instances) will now throw
    when invoked as functions with out-of-bounds indices.
    
    Subvec now disallows access to the underlying vector outside of subvec
    bounds.
    committed with swannodette May 31, 2013
  2. minor style cleanup

    swannodette committed Jun 1, 2013
  3. Add PersistentArrayMapSeq for efficient traversal of PAM

    keys/vals. Add KeqSeq and ValSeq for efficient traversal of map key /
    vals without incurring overhead of lazy sequences. change zipmap to
    use transients.
    
    change benchmark script to use :output-wrapper true.
    
    zipmap on V8 for a small PAM (3 KVs) is now under 2.5X of the
    JVM. Include the benchmark
    swannodette committed Jun 1, 2013
Commits on May 29, 2013
  1. backout JS object printing. instead simply allow people to implement

    the desired behavior themselves.
    swannodette committed May 29, 2013
Commits on May 26, 2013
  1. support printing JS objects

    swannodette committed May 26, 2013
Commits on May 21, 2013
Commits on May 20, 2013
  1. CLJS-499: Reassess ObjMap vs. PersistentArrayMap

    Deprecate ObjMap.
    
    ObjMap was introduced as optimization to leverage the performance
    benefits around JS Objects for access. However in order to avoid
    issues around possible prototype modification of Object as well as the
    performance hit of hasOwnProperty, ObjMap relied on an internal array
    for determining the presence of a key - every lookup call involves a
    scan, just like PersistentArrayMap.
    
    Because of the extra array, modifying an ObjMap required considerably
    more work.
    
    PersistentArrayMap has been tuned following the enhancements made to
    Clojure's PersistentArrayMap. PersistentArrayMap on V8 has as good as
    or faster lookup times than ObjMap, and modification times are up to
    >9X faster according to our benchmark suite. JavaScriptCore also shows
    performance benefits though they are not as dramatic. On Firefox the
    performance is degraded but in general Firefox lags considerably on
    all ClojureScript benchmarks.
    
    As it turns out most users were likely already using PersistentArrayMap by
    default as there was a compiler emission bug, only empty maps compiled
    to ObjMap.
    
    Fixed bug in TransientHashMap logic, we use
    cljs.core.PersistentHashMap/EMPTY rather than the empty map literal.
    swannodette committed May 20, 2013
Commits on May 19, 2013
  1. Analyze quoted collections

    Added :quoted? to env
    Quoted forms now preserve metadata
    Fixed bug with quoted namespaced keywords
    Elimited emit-constant cases for collections
    brandonbloom committed with swannodette May 19, 2013
Commits on May 12, 2013
  1. variadic aset + inlining

    swannodette committed May 12, 2013
Commits on May 8, 2013
  1. Add with-redefs

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

    `pr-str*` which doesn't bring in all the other printing machinery
    swannodette committed May 8, 2013