Commits on Apr 22, 2014
  1. Merge pull request #40 from wbrown/cljs_in_cljs

    kanaka committed Apr 22, 2014
    `` depreciation issues
  2. Application of patch a4f7a89 from clojurescript master to fix `com.go…

    wbrown committed Apr 22, 2014
    …ogle.javascript.jscomp.JSSourceFile` depreciation issues.
Commits on Nov 19, 2013
  1. Merge pull request #38 from lazerwalker/master

    kanaka committed Nov 19, 2013
    Improve documentation and update broken setup
Commits on Oct 31, 2013
  1. Update README

    lazerwalker committed Oct 31, 2013
Commits on Oct 30, 2013
  1. Update bootstrap script to Clojure 1.5.1

    lazerwalker committed Oct 30, 2013
    Also, a more recent version of Google Closure when not using --closure-library-head
Commits on Feb 21, 2013
  1. File editor for web repl:

    arthuredelstein committed Feb 21, 2013
    1. Create a CodeMirror-based file editor (in webedit.cljs)
    2. Create webrepl3.cljs and repl3.html, which use the file editor
    3. builds the console-only version of; builds the version including both console and file editor.
    The file editor's contents can be evaluated in the REPL by pressing
    Ctrl/Cmd+E, and the editor itself can be shown and hidden by pressing
    the Show/Hide file editor link.
  2. Features added:

    arthuredelstein committed Feb 21, 2013
    1. *e returns the most recently thrown error in the REPL.
    2. If multiple forms are submitted at the REPL, then forms are evaluated in order until
       an error occurs. If an error occurs, the error is printed. Otherwise the value of the
       last form is printed and assigned to *1.
    3. Line numbers are shown for all printed errors.
Commits on Feb 17, 2013
  1. Factor out common REPL code to cljs/cljs/repl.cljs

    kanaka committed Feb 17, 2013
    Also get nodecljs.cljs working using repl.cljs and add example
    shebang.cljs which can be executed directly.
Commits on Feb 16, 2013
  1. Partial self-hosting (all except core.cljs)

    kanaka committed Feb 16, 2013
    With these changes, src/cljs/cljsc.cljs (which invokes build in
    closure.cljs) can compile the whole compiler except for core.cljs. The
    target of the new compiler is currently set to out2 to not collide
    with the compiler that was compiled by the original ClojureScript.
    Here is the working test process:
        - Compile the compiler
            cd node
            rm -rf out
            cp ../src/cljs/goog.js out/
            time ../bin/cljsc ../src/cljs/cljsc.cljs > cljsc.js
        - Setup the new output directory with already compiled core.cljs:
            rm -r out2/
            mkdir -p out2/cljs
            cp out/cljs/core.js out2/cljs
            cp ../src/cljs/goog.js out2
        - Use the compiled compiler to compile the REPL:
            time ./run.js cljsc.js ../src/cljs/noderepl.cljs > noderepl.js
        - Run the new REPL:
            ./run2.js noderepl.js
    - Copy in closure lib files into (originally these came from a jar of
      the closure library).
    - Pre-populate the emitted-provides with cljs.core during
      closre.cljs::build so that goog.provide doesn't complain since
      cljs.core is already defined in the compiler that is running.
    - Only load-file in require if it is not already defined in
    - Add a new launcher (run2.js) that uses the out2/ sub-directory
      rather than out/.
Commits on Feb 13, 2013
  1. Add output "streams" and use them in the various REPLs.

    kanaka committed Feb 13, 2013
    - redefine *out* and *err* as functions that do output rather than
      raw I/O streams.
    - also add *rtn* for return value output.
  2. compile-forms*: only eval if requested, line nums on eval errors.

    kanaka committed Feb 13, 2013
    Add two entry points to compile-forms*: compile-forms and
    compile-and-eval-forms. The latter is used by load-file (and
    :use-macros, :require-macros) to eval while loading the file (full
    compilation and evaluation). The former is used by compile-file* to
    compile but not evaluate the forms when doing ahead of time
    compilation (i.e. the way that ClojureScript does compilation right
    now via closure.clj).
Commits on Feb 12, 2013
  1. Active line/column for reader errors during forms-seq.

    kanaka committed Feb 12, 2013
    Define new emit-constant for ObjMap protocol which handles some forms
    of metadata during read.
Commits on Feb 11, 2013
  1. Fixes to blind's Reader implementation.

    kanaka committed Feb 11, 2013
    - Fixes: add missing newline? function, use satisfies? instead of
      instance?, fix incorrect set-pos variable name in read-char
    - Also, use the new reader convenience functions in compiler, analyzer
      and closure.
    TODO: use of indexing-push-back-reader in compiler.cljs forms-seq
    causes errors processing metadata when using load-file so for now it
    is using string-push-back-reader.
  2. reader: use line/column info where possible

    Bronsa authored and kanaka committed Jan 30, 2013
  3. Combine macro setting with rest of "var" data.

    kanaka committed Feb 4, 2013
    - Add deep-merge to core.cljs to enable merging of the macro settings
      into the namespaces/vars.
    - Also, in get-expander, lookup "vars" in uses-macros and
      require-macros structure.
Commits on Jan 28, 2013
  1. Merge pull request #24 from amasad/cljs_in_cljs

    kanaka committed Jan 28, 2013
    Update jqconsole to enable middle click paste on linux
Commits on Jan 26, 2013
Commits on Jan 25, 2013
  1. First pass at porting closure.clj and cljsc.clj.

    kanaka committed Jan 25, 2013
    Build like this:
        ../bin/cljsc ../src/cljs/cljsc.cljs > cljsc.js && cp ../src/cljs/goog.js out
    Run like this:
        ./run.js cljsc.js hello.cljs > hello.js
    It will attempt to compile using out2 as the output directory
    and will blow up trying to compile core.cljs.
  2. cljs.compiler: better already provided detection.

    kanaka committed Jan 25, 2013
    Trying to provide multiple times should just be a no-op.
Commits on May 19, 2007