Port tools.reader to Clojurescript

Description

As part of the effort to get the Clojurescript compiler bootstrapped,
this is a patch porting org.clojure/tools.reader to clojurescript.

The port follows the Clojure implementation quite closely, except in the case of:

  • Numbers: all numbers are reduced to js/Number

  • Chars: reduced to string as in Clojurescript

  • Macros: only used to compile in/out features (not) available in cljs builds

  • There is no `(defn read [] ...)` zero arity implementation as we don't have `in`

  • Custom implementation of clojure.lang.RT/nextID using an atom

  • Run tests using: `lein cljsbuild test`

Contributors: Andrew Mcveigh, Jonathan Boston, Nicola Mometto and Thomas G. Kristensen

Environment

None

Assignee

Nicola Mometto

Reporter

Andrew Mcveigh

Labels

Approval

None

Patch

Code and Test

Priority

Major
Configure