Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Oct 18, 2012
  1. @ejlo

    CLJS-393: Bugfixes for PersistentTreeMap: sorted-map-by and -sorted-s…

    ejlo authored David Nolen committed
    …eq-from
Commits on Oct 17, 2012
  1. @franks42

    added :doc entries for ns and def

    franks42 authored David Nolen committed
  2. @edtsech

    CLJS-368: Make empty? faster for nil calls.

    edtsech authored David Nolen committed
Commits on Oct 16, 2012
  1. CLJS-390: exclude macro files from analysis

    Tom Jack authored David Nolen committed
  2. CLJS-369: Capture variable shadows in analyzer; avoid

    David Nolen authored
     gensyms.
    
    AST Changes
    
    * Anywhere a binding was introduced for a local used to be a symbol,
      now it is a map with a :name key and potentially a :shadow key.
    
    * Bindings vectors are no longer alternating symbols, then init maps.
      Instead, the are a vector of maps of the shape described for locals
      plus an :init key.
    
    * The :gthis key for functions has been replaced with :type, which
      is the symbol describing the type name of the enclosing deftype form.
    
    * recur frames now expose :params as binding maps, instead of :names
    
    Benefits:
    
    * Shadowed variables are now visible to downstream AST transforms.
    
    * :tag, :mutable, and other metadata are now uniform across ops
    
    * Eliminates usages of gensym inside the analyzer, which was a source
      of state that made the analyzer impossible to use for some
      transformations of let, letfn, etc which require re-analyzing forms.
    
    * Removes JavaScript shadowing semantics from the analyze phase.
  3. @gfredericks

    Test and fix for CLJS-383

    gfredericks authored David Nolen committed
  4. CLJS-388: expose output-wrapper compiler option

    David Nolen authored
  5. @ejlo

    Bugfix PersistentTreeSet lookup

    ejlo authored David Nolen committed
  6. CLJS-389: Compiler emits throw string

    David Nolen authored
  7. remove IPrintable from defrecord

    David Nolen authored
Commits on Oct 12, 2012
  1. @netguy204

    compiler warns on deprecated function and protocol use

    netguy204 authored David Nolen committed
    If a deprecated function is invoked or a deprected protocol is
    implemented the compiler will issue a warning.
    
    These warnings can be suppressed by binding *cljs-warn-fn-deprecated*
    to false or by attaching the ^:deprecation-nowarn metadata to the
    invocation form or to the protocol symbol.
Commits on Oct 9, 2012
  1. CLJS-391: add some missing IEmptyableCollection impls

    Tom Jack authored David Nolen committed
  2. @ohpauleez

    Hashbang/Shebang updated use env; Fixes #CLJS-385

    ohpauleez authored David Nolen committed
Commits on Sep 29, 2012
  1. refactor some ugly code in cljs.closure/build

    David Nolen authored
  2. @ohpauleez

    When compiling node, toggle *main-cli-fn* last refs #355

    ohpauleez authored David Nolen committed
Commits on Sep 28, 2012
  1. @edtsech

    Improve implementation of clojure.string/blank?

    edtsech authored David Nolen committed
  2. CLJS-379: optimize tail call in linear-traversal-nth

    Tom Jack authored David Nolen committed
  3. @stuartsierra
  4. @brentonashworth
  5. @brentonashworth

    Use records to implement IJavaScriptEnv instead of extending to

    brentonashworth authored
    IPersistentMap
    
    This is just flat out better and will allow one to create Rhino and
    Browser evaluation environments within the same process.
Commits on Sep 26, 2012
  1. @cemerick @stuartsierra

    CLJS-382: use set to track visited requires so contains? works properly

    cemerick authored stuartsierra committed
    Signed-off-by: Stuart Sierra <mail@stuartsierra.com>
Commits on Sep 20, 2012
  1. CLJS-378: port clojure.data

    Tom Jack authored David Nolen committed
Commits on Sep 13, 2012
  1. @cemerick

    CLJS-377: allow any sequential value for :only and :refer `ns` options

    cemerick authored David Nolen committed
Commits on Sep 9, 2012
  1. @emezeske

    Fix a print(ln) regression where two newlines would be printed.

    emezeske authored David Nolen committed
Commits on Sep 8, 2012
  1. symbol's :else clause was outside the cond expr, breaking behavior. f…

    David Nolen authored
    …ix + test.
Commits on Sep 7, 2012
  1. CLJS-376: `case` doesn't match symbols.

    David Nolen authored
  2. clean up some declares

    David Nolen authored
  3. Changes to remove calls to truth_. move identical? nil? not higher

    David Nolen authored
    up. eliminate the declare. similarly move Reduced, reduced, reduced?,
    counted?, indexed? and eliminate declares around them. eliminate
    truth_ call in find. set *unchecked-if* true for body of apply.
  4. add missing fast path protocols

    David Nolen authored
Commits on Sep 6, 2012
  1. @cemerick

    CLJS-373: prevent output from attempting to load deps.js when compile…

    cemerick authored David Nolen committed
    …d w/ :whitespace
Commits on Sep 5, 2012
  1. fail faster on js/Infinity && js/NaN since these cases much be tested…

    David Nolen authored
    … anyway - doing arithmetic on these cases is slow. Extra tests do incur a small perf hit when testing actual numbers.
  2. add boolean type-hint to isNaN call

    David Nolen authored
  3. @brandonbloom

    CLJS-370: Fix integer? for integral floating point expressions

    brandonbloom authored David Nolen committed
  4. @emezeske

    Optimize pr-str by making more use of StringBuffer.

    emezeske authored David Nolen committed
    Previously, a huge number of temporary vectors and lazy sequences were
    built up and concat-ed, which ran reasonably on newer JS engines (e.g.
    V8) but suffered from miserable performance on old engines (such as
    IE8).  By passing a StringBuffer down the callstack and appending to
    that, performance gains of 10-100X can be seen in older JS engines.
    
    For backwards compatibility, the new fastpath uses a new
    IPrintWithWriter protocol, and the old IPrintable is left in place.
    The old protocol is used as a fallback for items that do not satisfy
    IPrintWithWriter.
Something went wrong with that request. Please try again.