Permalink
Commits on Jul 29, 2012
  1. clojure.reflect fns conform to standard names

    clojure.reflect/query-meta        -> clojure.reflect/meta
    clojure.reflect/query-macroexpand -> clojure.reflect/macroexpand
    clojure.reflect/query-doc         -> clojure.reflect/doc
    
    Also, a macroexpand query will return a pretty printed string for human
    consumption.
    zachallaun committed with David Nolen Jul 27, 2012
Commits on Jul 25, 2012
  1. Support code reflection in the cljs repl.

    A few changes have been made to support runtime code reflection in a
    cljs repl. These include small changes to cljs.analyzer, a separation of
    the server element of cljs.repl.browser into cljs.repl.server, and the
    addition of two new namespaces: cljs.repl.reflect (in src/clj) and
    clojure.reflect (in src/cljs).
    
    cljs.analyzer:
    - Arbitrary metadata declared on symbols will now be added to the AST.
      This supports the addition of docstrings.
    - Fix a subtle bug in cljs.analyzer/analyze-file, where an uncommon
      code-path would lead to the failed coercion of an absolute-path into a
      URL. An absolute path, including a `file://` protocol, can now be
      passed into the function successfully.
    
    cljs.repl:
    - Add function to analyze source on repl-env -setup. This is used to
      support reflection on user-defined cljs source files, as well as to
      populate the cljs.analyzer/namespaces atom on repl startup.
    
    cljs.repl.browser:
    - The server element of this namespace has been factored out into
      cljs.repl.server to support other services that may require that
      functionality.
    
    cljs.repl.server:
    - Expose a simple HTTP method and predicate dispatch system to register
      handler functions for incoming requests. (Note: this system seems to
      be relatively brittle, and future change may be warranted.)
    
    cljs.repl.reflect:
    - Registers a server handler for incoming requests to "/reflect".
    - Queries cljs.analyzer/namespaces for meta information relevant to a
      symbol, responding to requests with compiled javascript.
    - Can use "fixed point" macroexpansion on cljs macro forms.
    
    clojure.reflect:
    - Expose a set of simple functions for querying meta information of a
      symbol, as well as macroexpanding a cljs form.
    zachallaun committed with David Nolen Jul 10, 2012
  2. Fix dissoc implementation for Records

    Included tests
    brentonashworth committed Jul 25, 2012
Commits on Jul 16, 2012
  1. General cleanups for shell wrappers

    - Use appropriate quoting to avoid whitespace within arguments,
      environment variables from being string-split.
    - Better compatibility with baseline POSIX sh.
    - Improve editor syntax highlighter compatibility.
    - Readability cleanups (avoid workarounds for bugs fixed
      pre-POSIX-standardization).
    charles-dyfis-net committed with David Nolen Jul 16, 2012
Commits on Jul 10, 2012
  1. * src/clj/cljs/analyzer.clj: comment about role of *reader-ns-name* a…

    …nd *reader-ns*
    David Nolen committed Jul 10, 2012
  2. Add test for CLJS-266

    charles-dyfis-net committed with David Nolen Jul 10, 2012
Commits on Jul 8, 2012
Commits on Jul 5, 2012
  1. Fix (println 1 1) => "11\n" instead of "1 1\n"

    brandonbloom committed with David Nolen Jun 21, 2012
Commits on Jul 4, 2012
  1. * src/clj/cljs/core.clj: cleanup protocol dispatch and type_satisifie…

    …s_ handling of undefined
    David Nolen committed Jul 4, 2012
  2. * src/clj/cljs/core.clj: general fix for CLJS-330, protocol dispatch …

    …should handle undefined by coercing to nil
    David Nolen committed Jul 4, 2012
  3. Add tests for default values for map lookups.

    emezeske committed with David Nolen Jul 3, 2012
  4. * src/clj/cljs/compiler.clj: fix bug around fns whose only non-zero a…

    …rity is variadic (i.e. hash-set). was emitting a false - false does not get emitted as empty string like nil does.
    David Nolen committed Jul 4, 2012
  5. CLJS-332: have UUID's = impl check that the other object is also a UU…

    …ID instance
    michalmarczyk committed with David Nolen Jul 3, 2012
  6. 'block-children' helper function should return nil when given a nil a…

    …rgument. Fixes #331
    jonase committed with David Nolen Jul 3, 2012
  7. CLJS-330: fix (hash js/undefined)

    michalmarczyk committed with David Nolen Jul 3, 2012
Commits on Jul 2, 2012
  1. * src/cljs/cljs/core.cljs: fix typo

    David Nolen committed Jul 2, 2012
Commits on Jun 29, 2012
  1. CLJS-324: implement cljs.core/format as wrapper for goog.string.format

    Also adds printf (copy & paste from Clojure).
    michalmarczyk committed with David Nolen Jun 28, 2012
  2. CLJS-328: fix :require spec handling in ns

    Fixes singleton vector handling in :require specs so that all specs in
    the following snippet are equivalent:
    
    (ns foo
      (:require [bar.quux :as bar.quux]
                [bar.quux]
                bar.quux))
    michalmarczyk committed with David Nolen Jun 28, 2012
Commits on Jun 25, 2012
  1. hash-set and faster set construction

    brandonbloom committed with David Nolen Jun 25, 2012
  2. CLJS-325: copy over destructure, let, loop to cljs.core to fix destru…

    …cturing
    
    Copy & paste from clojure.core with adjustments to make things work
    again and remove some metadata.
    michalmarczyk committed with David Nolen Jun 25, 2012
Commits on Jun 23, 2012
  1. * src/clj/cljs/closure.clj: CLJS-323: add compiler build :warnings tr…

    …ue option
    David Nolen committed Jun 23, 2012
Commits on Jun 19, 2012
  1. CLJS-322: introduce cljs.core/obj-map

    obj-map is guaranteed to produce ObjMap instances (of arbitrary size).
    michalmarczyk committed with David Nolen Jun 18, 2012
  2. Import memfn macro and add tests

    brandonbloom committed with David Nolen Jun 18, 2012
  3. Fix (= (js/Date.) nil

    Also cleans up time macro, which was passing .getTime an extra arg.
    brandonbloom committed with David Nolen Jun 6, 2012
Commits on Jun 15, 2012
  1. Decouple analyzer from compiler

    The analyzer is now living in it's own file, with all related
    functions. The rest of the compiler has been updated so that
    references to the analyze part of the compiler now references
    the analyzer namespace.
    raph-amiard committed with David Nolen Jun 15, 2012
  2. Use load instead of require to load core cljs macros

    Loading now happens dynamically and once when the
    analyzer is first ran.
    Also provides macros to facilitate overriding of the
    default path provided (defaults to cljs/core).
    raph-amiard committed with David Nolen Jun 15, 2012
Commits on Jun 14, 2012
  1. * src/clj/cljs/compiler.clj: CLJS-315: resolve-var and resolve-existi…

    …ng-var should never emit :name as string
    David Nolen committed Jun 14, 2012
Commits on Jun 13, 2012
  1. Using empty-env function in rhino repl too

    raph-amiard committed with David Nolen Jun 13, 2012
  2. Encapsulating namespace access and env creation

    raph-amiard committed with David Nolen Jun 13, 2012