aboutsummaryrefslogtreecommitdiff
path: root/clojurescript
diff options
context:
space:
mode:
Diffstat (limited to 'clojurescript')
-rw-r--r--clojurescript/avoid-java-in-boot.patch27
-rw-r--r--clojurescript/boot.js1911
-rw-r--r--clojurescript/clj.js69
-rw-r--r--clojurescript/repl.html4
-rw-r--r--clojurescript/tojs.clj16
5 files changed, 1038 insertions, 989 deletions
diff --git a/clojurescript/avoid-java-in-boot.patch b/clojurescript/avoid-java-in-boot.patch
index 489c1239..cd84ca85 100644
--- a/clojurescript/avoid-java-in-boot.patch
+++ b/clojurescript/avoid-java-in-boot.patch
@@ -1,5 +1,11 @@
+commit 0d0d8e3801c91ee8dd35c9051afe1f026a0aaed1
+Author: Chouser <chouser@n01se.net>
+Date: Sun Oct 26 01:09:48 2008 -0400
+
+ Less Java dependence in boot.clj (for ClojureScript)
+
diff --git a/src/clj/clojure/boot.clj b/src/clj/clojure/boot.clj
-index cb6b441..91d7d47 100644
+index b7d7ac7..882ff2a 100644
--- a/src/clj/clojure/boot.clj
+++ b/src/clj/clojure/boot.clj
@@ -315,7 +315,7 @@
@@ -249,7 +255,7 @@ index cb6b441..91d7d47 100644
raw-trace (.getStackTrace exception)
boring? #(not= (.getMethodName %) "doInvoke")
trace (into-array (drop 2 (drop-while boring? raw-trace)))]
-@@ -3452,7 +3454,7 @@
+@@ -3489,7 +3491,7 @@
(defn print-ctor [o print-args #^Writer w]
(.write w "#=(")
@@ -258,12 +264,17 @@ index cb6b441..91d7d47 100644
(.write w ". ")
(print-args o w)
(.write w ")"))
-@@ -3581,7 +3583,7 @@
-
- (defmethod print-method Class [#^Class c, #^Writer w]
- (.write w "#=")
-- (.write w (.getName c)))
-+ (.write w (RT/className c)))
+@@ -3628,11 +3630,11 @@
+ (.write w ")"))
+ (.isArray c) (do
+ (.write w "#=(java.lang.Class/forName \"")
+- (.write w (.getName c))
++ (.write w (RT/className c))
+ (.write w "\")"))
+ :else (do
+ (.write w "#=")
+- (.write w (.getName c)))))
++ (.write w (RT/className c)))))
(defmethod print-method java.math.BigDecimal [b, #^Writer w]
(.write w (str b))
diff --git a/clojurescript/boot.js b/clojurescript/boot.js
index 36b5f7e8..1d31d8f0 100644
--- a/clojurescript/boot.js
+++ b/clojurescript/boot.js
@@ -2,22 +2,15 @@
//======
//(in-ns (quote clojure))
//---
-(function __user_fn_2888(){
+(function __user_fn_2882(){
return (clojure.in_ns.apply(null,["'clojure"]))}).apply(null,[]);
//======
//(def list (. clojure.lang.PersistentList creator))
//---
-(function __clojure_fn_2894(){
+(function __clojure_fn_2888(){
return (clojure.JS.def(clojure,"list",clojure.JS.getOrRun(clojure.lang.PersistentList,"creator")))}).apply(null,[]);
-
-//======
-//(def cons (fn* cons [x seq] (. clojure.lang.RT (cons x seq))))
-//---
-(function __clojure_fn_2897(){
-return (clojure.JS.def(clojure,"cons",(function __clojure_fn_2897_cons_2899(x_1,seq_2){
-var cons_0=arguments.callee;
-return (clojure.lang.RT.cons(x_1,seq_2))})))}).apply(null,[]);
+// Skipping: (def cons (fn* cons [x seq] (. clojure.lang.RT (cons x seq))))
// Skipping: (def let (fn* let [& decl] (cons (quote let*) decl)))
// Skipping: (def loop (fn* loop [& decl] (cons (quote loop*) decl)))
// Skipping: (def fn (fn* fn [& decl] (cons (quote fn*) decl)))
@@ -27,8 +20,8 @@ return (clojure.lang.RT.cons(x_1,seq_2))})))}).apply(null,[]);
//======
//(def conj (fn conj ([coll x] (. clojure.lang.RT (conj coll x))) ([coll x & xs] (if xs (recur (conj coll x) (first xs) (rest xs)) (conj coll x)))))
//---
-(function __clojure_fn_2927(){
-return (clojure.JS.def(clojure,"conj",clojure.JS.variadic(2,(function __clojure_fn_2927_conj_2929(coll_1,x_2){switch(arguments.length){
+(function __clojure_fn_2921(){
+return (clojure.JS.def(clojure,"conj",clojure.JS.variadic(2,(function __clojure_fn_2921_conj_2923(coll_1,x_2){switch(arguments.length){
case 2:var conj_0=arguments.callee;
return (clojure.lang.RT.conj(coll_1,x_2))}
var _cnt,_rtn,conj_0=arguments.callee,xs_3=clojure.JS.rest_args(this,arguments,2);
@@ -38,40 +31,40 @@ do{_cnt=0;_rtn=((xs_3)?((_cnt=1,_rtn=[conj_0.apply(null,[coll_1,x_2]),clojure.fi
//======
//(def second (fn second [x] (first (rest x))))
//---
-(function __clojure_fn_2932(){
-return (clojure.JS.def(clojure,"second",(function __clojure_fn_2932_second_2934(x_1){
+(function __clojure_fn_2926(){
+return (clojure.JS.def(clojure,"second",(function __clojure_fn_2926_second_2928(x_1){
var second_0=arguments.callee;
return (clojure.first.apply(null,[clojure.rest.apply(null,[x_1])]))})))}).apply(null,[]);
//======
//(def ffirst (fn ffirst [x] (first (first x))))
//---
-(function __clojure_fn_2937(){
-return (clojure.JS.def(clojure,"ffirst",(function __clojure_fn_2937_ffirst_2939(x_1){
+(function __clojure_fn_2931(){
+return (clojure.JS.def(clojure,"ffirst",(function __clojure_fn_2931_ffirst_2933(x_1){
var ffirst_0=arguments.callee;
return (clojure.first.apply(null,[clojure.first.apply(null,[x_1])]))})))}).apply(null,[]);
//======
//(def rfirst (fn rfirst [x] (rest (first x))))
//---
-(function __clojure_fn_2942(){
-return (clojure.JS.def(clojure,"rfirst",(function __clojure_fn_2942_rfirst_2944(x_1){
+(function __clojure_fn_2936(){
+return (clojure.JS.def(clojure,"rfirst",(function __clojure_fn_2936_rfirst_2938(x_1){
var rfirst_0=arguments.callee;
return (clojure.rest.apply(null,[clojure.first.apply(null,[x_1])]))})))}).apply(null,[]);
//======
//(def frest (fn frest [x] (first (rest x))))
//---
-(function __clojure_fn_2947(){
-return (clojure.JS.def(clojure,"frest",(function __clojure_fn_2947_frest_2949(x_1){
+(function __clojure_fn_2941(){
+return (clojure.JS.def(clojure,"frest",(function __clojure_fn_2941_frest_2943(x_1){
var frest_0=arguments.callee;
return (clojure.first.apply(null,[clojure.rest.apply(null,[x_1])]))})))}).apply(null,[]);
//======
//(def rrest (fn rrest [x] (rest (rest x))))
//---
-(function __clojure_fn_2952(){
-return (clojure.JS.def(clojure,"rrest",(function __clojure_fn_2952_rrest_2954(x_1){
+(function __clojure_fn_2946(){
+return (clojure.JS.def(clojure,"rrest",(function __clojure_fn_2946_rrest_2948(x_1){
var rrest_0=arguments.callee;
return (clojure.rest.apply(null,[clojure.rest.apply(null,[x_1])]))})))}).apply(null,[]);
// Skipping: (def seq (fn seq [coll] (. clojure.lang.RT (seq coll))))
@@ -80,8 +73,8 @@ return (clojure.rest.apply(null,[clojure.rest.apply(null,[x_1])]))})))}).apply(n
//======
//(def seq? (fn seq? [x] (instance? clojure.lang.ISeq x)))
//---
-(function __clojure_fn_2967(){
-return (clojure.JS.def(clojure,"seq_QMARK_",(function __clojure_fn_2967_seq_QMARK_2969(x_1){
+(function __clojure_fn_2961(){
+return (clojure.JS.def(clojure,"seq_QMARK_",(function __clojure_fn_2961_seq_QMARK_2963(x_1){
var seq_QMARK__0=arguments.callee;
return (clojure.instance_QMARK_.apply(null,[clojure.lang.ISeq,x_1]))})))}).apply(null,[]);
// Skipping: (def string? (fn string? [x] (instance? String x)))
@@ -89,24 +82,24 @@ return (clojure.instance_QMARK_.apply(null,[clojure.lang.ISeq,x_1]))})))}).apply
//======
//(def map? (fn map? [x] (instance? clojure.lang.IPersistentMap x)))
//---
-(function __clojure_fn_2977(){
-return (clojure.JS.def(clojure,"map_QMARK_",(function __clojure_fn_2977_map_QMARK_2979(x_1){
+(function __clojure_fn_2971(){
+return (clojure.JS.def(clojure,"map_QMARK_",(function __clojure_fn_2971_map_QMARK_2973(x_1){
var map_QMARK__0=arguments.callee;
return (clojure.instance_QMARK_.apply(null,[clojure.lang.IPersistentMap,x_1]))})))}).apply(null,[]);
//======
//(def vector? (fn vector? [x] (instance? clojure.lang.IPersistentVector x)))
//---
-(function __clojure_fn_2982(){
-return (clojure.JS.def(clojure,"vector_QMARK_",(function __clojure_fn_2982_vector_QMARK_2984(x_1){
+(function __clojure_fn_2976(){
+return (clojure.JS.def(clojure,"vector_QMARK_",(function __clojure_fn_2976_vector_QMARK_2978(x_1){
var vector_QMARK__0=arguments.callee;
return (clojure.instance_QMARK_.apply(null,[clojure.lang.IPersistentVector,x_1]))})))}).apply(null,[]);
//======
//(def sigs (fn [fdecl] (if (seq? (first fdecl)) (loop [ret [] fdecl fdecl] (if fdecl (recur (conj ret (first (first fdecl))) (rest fdecl)) (seq ret))) (list (first fdecl)))))
//---
-(function __clojure_fn_2987(){
-return (clojure.JS.def(clojure,"sigs",(function __clojure_fn_2987_sigs_2989(fdecl_1){
+(function __clojure_fn_2981(){
+return (clojure.JS.def(clojure,"sigs",(function __clojure_fn_2981_sigs_2983(fdecl_1){
var ret_2,fdecl_3;
return (((clojure.seq_QMARK_.apply(null,[clojure.first.apply(null,[fdecl_1])]))?(((function __loop(){var _rtn,_cnt;(ret_2=clojure.lang.PersistentVector.EMPTY),
(fdecl_3=fdecl_1);do{_cnt=0;
@@ -116,24 +109,24 @@ _rtn=((fdecl_3)?((_cnt=1,_rtn=[clojure.conj.apply(null,[ret_2,clojure.first.appl
//======
//(def meta (fn meta [x] (if (instance? clojure.lang.IObj x) (. x (meta)))))
//---
-(function __clojure_fn_2998(){
-return (clojure.JS.def(clojure,"meta",(function __clojure_fn_2998_meta_3000(x_1){
+(function __clojure_fn_2992(){
+return (clojure.JS.def(clojure,"meta",(function __clojure_fn_2992_meta_2994(x_1){
var meta_0=arguments.callee;
return (((clojure.instance_QMARK_.apply(null,[clojure.lang.IObj,x_1]))?((x_1).meta()):(null)))})))}).apply(null,[]);
//======
//(def with-meta (fn with-meta [x m] (. x (withMeta m))))
//---
-(function __clojure_fn_3003(){
-return (clojure.JS.def(clojure,"with_meta",(function __clojure_fn_3003_with_meta_3005(x_1,m_2){
+(function __clojure_fn_2997(){
+return (clojure.JS.def(clojure,"with_meta",(function __clojure_fn_2997_with_meta_2999(x_1,m_2){
var with_meta_0=arguments.callee;
return ((x_1).withMeta(m_2))})))}).apply(null,[]);
//======
//(def last (fn last [s] (if (rest s) (recur (rest s)) (first s))))
//---
-(function __clojure_fn_3008(){
-return (clojure.JS.def(clojure,"last",(function __clojure_fn_3008_last_3010(s_1){
+(function __clojure_fn_3002(){
+return (clojure.JS.def(clojure,"last",(function __clojure_fn_3002_last_3004(s_1){
var _cnt,_rtn,last_0=arguments.callee;
do{_cnt=0;_rtn=((clojure.rest.apply(null,[s_1]))?((_cnt=1,_rtn=[clojure.rest.apply(null,[s_1])],s_1=_rtn[0])):(clojure.first.apply(null,[s_1])))
}while(_cnt);return _rtn;})))}).apply(null,[]);
@@ -141,9 +134,9 @@ do{_cnt=0;_rtn=((clojure.rest.apply(null,[s_1]))?((_cnt=1,_rtn=[clojure.rest.app
//======
//(def butlast (fn butlast [s] (loop [ret [] s s] (if (rest s) (recur (conj ret (first s)) (rest s)) (seq ret)))))
//---
-(function __clojure_fn_3013(){
-return (clojure.JS.def(clojure,"butlast",(function __clojure_fn_3013_butlast_3015(s_1){
-var s_3,ret_2,butlast_0=arguments.callee;
+(function __clojure_fn_3007(){
+return (clojure.JS.def(clojure,"butlast",(function __clojure_fn_3007_butlast_3009(s_1){
+var ret_2,s_3,butlast_0=arguments.callee;
return (((function __loop(){var _rtn,_cnt;(ret_2=clojure.lang.PersistentVector.EMPTY),
(s_3=s_1);do{_cnt=0;
_rtn=((clojure.rest.apply(null,[s_3]))?((_cnt=1,_rtn=[clojure.conj.apply(null,[ret_2,clojure.first.apply(null,[s_3])]),clojure.rest.apply(null,[s_3])],ret_2=_rtn[0],s_3=_rtn[1])):(clojure.seq.apply(null,[ret_2])))}while(_cnt);return _rtn;})()))})))}).apply(null,[]);
@@ -153,16 +146,16 @@ _rtn=((clojure.rest.apply(null,[s_3]))?((_cnt=1,_rtn=[clojure.conj.apply(null,[r
//======
//(defn cast "Throws a ClassCastException if x is not a c, else returns x." [c x] (. c (cast x)))
//---
-(function __clojure_fn_3026(){
-return (clojure.JS.def(clojure,"cast",(function __clojure_fn_3026_cast_3028(c_1,x_2){
+(function __clojure_fn_3020(){
+return (clojure.JS.def(clojure,"cast",(function __clojure_fn_3020_cast_3022(c_1,x_2){
return ((c_1).cast(x_2))})))}).apply(null,[]);
// Skipping: (defn to-array "Returns an array of Objects containing the contents of coll, which\n can be any Collection. Maps to java.util.Collection.toArray()." [coll] (. clojure.lang.RT (toArray coll)))
//======
//(defn vector "Creates a new vector containing the args." ([] []) ([& args] (. clojure.lang.LazilyPersistentVector (create args))))
//---
-(function __clojure_fn_3038(){
-return (clojure.JS.def(clojure,"vector",clojure.JS.variadic(0,(function __clojure_fn_3038_vector_3040(){switch(arguments.length){
+(function __clojure_fn_3032(){
+return (clojure.JS.def(clojure,"vector",clojure.JS.variadic(0,(function __clojure_fn_3032_vector_3034(){switch(arguments.length){
case 0:return (clojure.lang.PersistentVector.EMPTY)}
var args_1=clojure.JS.rest_args(this,arguments,0);
return (clojure.lang.LazilyPersistentVector.create(args_1))}))))}).apply(null,[]);
@@ -170,16 +163,16 @@ return (clojure.lang.LazilyPersistentVector.create(args_1))}))))}).apply(null,[]
//======
//(defn vec "Creates a new vector containing the contents of coll." ([coll] (. clojure.lang.LazilyPersistentVector (createOwning (to-array coll)))))
//---
-(function __clojure_fn_3045(){
-return (clojure.JS.def(clojure,"vec",(function __clojure_fn_3045_vec_3047(coll_1){
+(function __clojure_fn_3039(){
+return (clojure.JS.def(clojure,"vec",(function __clojure_fn_3039_vec_3041(coll_1){
return (clojure.lang.LazilyPersistentVector.createOwning(clojure.to_array.apply(null,[coll_1])))})))}).apply(null,[]);
// Skipping: (defn hash-map "keyval => key val\n Returns a new hash map with supplied mappings." ([] {}) ([& keyvals] (. clojure.lang.PersistentHashMap (create keyvals))))
//======
//(defn hash-set "Returns a new hash set with supplied keys." ([] #{}) ([& keys] (. clojure.lang.PersistentHashSet (create keys))))
//---
-(function __clojure_fn_3058(){
-return (clojure.JS.def(clojure,"hash_set",clojure.JS.variadic(0,(function __clojure_fn_3058_hash_set_3060(){switch(arguments.length){
+(function __clojure_fn_3052(){
+return (clojure.JS.def(clojure,"hash_set",clojure.JS.variadic(0,(function __clojure_fn_3052_hash_set_3054(){switch(arguments.length){
case 0:return (clojure.lang.PersistentHashSet.EMPTY)}
var keys_1=clojure.JS.rest_args(this,arguments,0);
return (clojure.lang.PersistentHashSet.create(keys_1))}))))}).apply(null,[]);
@@ -187,24 +180,24 @@ return (clojure.lang.PersistentHashSet.create(keys_1))}))))}).apply(null,[]);
//======
//(defn sorted-map "keyval => key val\n Returns a new sorted map with supplied mappings." ([& keyvals] (. clojure.lang.PersistentTreeMap (create keyvals))))
//---
-(function __clojure_fn_3065(){
-return (clojure.JS.def(clojure,"sorted_map",clojure.JS.variadic(0,(function __clojure_fn_3065_sorted_map_3067(){
+(function __clojure_fn_3059(){
+return (clojure.JS.def(clojure,"sorted_map",clojure.JS.variadic(0,(function __clojure_fn_3059_sorted_map_3061(){
var keyvals_1=clojure.JS.rest_args(this,arguments,0);
return (clojure.lang.PersistentTreeMap.create(keyvals_1))}))))}).apply(null,[]);
//======
//(defn sorted-set "Returns a new sorted set with supplied keys." ([& keys] (. clojure.lang.PersistentTreeSet (create keys))))
//---
-(function __clojure_fn_3071(){
-return (clojure.JS.def(clojure,"sorted_set",clojure.JS.variadic(0,(function __clojure_fn_3071_sorted_set_3073(){
+(function __clojure_fn_3065(){
+return (clojure.JS.def(clojure,"sorted_set",clojure.JS.variadic(0,(function __clojure_fn_3065_sorted_set_3067(){
var keys_1=clojure.JS.rest_args(this,arguments,0);
return (clojure.lang.PersistentTreeSet.create(keys_1))}))))}).apply(null,[]);
//======
//(defn sorted-map-by "keyval => key val\n Returns a new sorted map with supplied mappings, using the supplied comparator." ([comparator & keyvals] (. clojure.lang.PersistentTreeMap (create comparator keyvals))))
//---
-(function __clojure_fn_3077(){
-return (clojure.JS.def(clojure,"sorted_map_by",clojure.JS.variadic(1,(function __clojure_fn_3077_sorted_map_by_3079(comparator_1){
+(function __clojure_fn_3071(){
+return (clojure.JS.def(clojure,"sorted_map_by",clojure.JS.variadic(1,(function __clojure_fn_3071_sorted_map_by_3073(comparator_1){
var keyvals_2=clojure.JS.rest_args(this,arguments,1);
return (clojure.lang.PersistentTreeMap.create(comparator_1,keyvals_2))}))))}).apply(null,[]);
// Skipping: (def defmacro (fn [name & args] (list (quote do) (cons (quote clojure/defn) (cons name args)) (list (quote .) (list (quote var) name) (quote (setMacro))))))
@@ -215,39 +208,39 @@ return (clojure.lang.PersistentTreeMap.create(comparator_1,keyvals_2))}))))}).ap
//======
//(defn nil? "Returns true if x is nil, false otherwise." {:tag Boolean} [x] (identical? x nil))
//---
-(function __clojure_fn_3104(){
-return (clojure.JS.def(clojure,"nil_QMARK_",(function __clojure_fn_3104_nil_QMARK_3106(x_1){
+(function __clojure_fn_3098(){
+return (clojure.JS.def(clojure,"nil_QMARK_",(function __clojure_fn_3098_nil_QMARK_3100(x_1){
return (clojure.identical_QMARK_.apply(null,[x_1,null]))})))}).apply(null,[]);
//======
//(defn false? "Returns true if x is the value false, false otherwise." {:tag Boolean} [x] (identical? x false))
//---
-(function __clojure_fn_3110(){
-return (clojure.JS.def(clojure,"false_QMARK_",(function __clojure_fn_3110_false_QMARK_3112(x_1){
+(function __clojure_fn_3104(){
+return (clojure.JS.def(clojure,"false_QMARK_",(function __clojure_fn_3104_false_QMARK_3106(x_1){
return (clojure.identical_QMARK_.apply(null,[x_1,false]))})))}).apply(null,[]);
//======
//(defn true? "Returns true if x is the value true, false otherwise." {:tag Boolean} [x] (identical? x true))
//---
-(function __clojure_fn_3116(){
-return (clojure.JS.def(clojure,"true_QMARK_",(function __clojure_fn_3116_true_QMARK_3118(x_1){
+(function __clojure_fn_3110(){
+return (clojure.JS.def(clojure,"true_QMARK_",(function __clojure_fn_3110_true_QMARK_3112(x_1){
return (clojure.identical_QMARK_.apply(null,[x_1,true]))})))}).apply(null,[]);
//======
//(defn not "Returns true if x is logical false, false otherwise." {:tag Boolean} [x] (if x false true))
//---
-(function __clojure_fn_3122(){
-return (clojure.JS.def(clojure,"not",(function __clojure_fn_3122_not_3124(x_1){
+(function __clojure_fn_3116(){
+return (clojure.JS.def(clojure,"not",(function __clojure_fn_3116_not_3118(x_1){
return (((x_1)?(false):(true)))})))}).apply(null,[]);
//======
//(defn str "With no args, returns the empty string. With one arg x, returns\n x.toString(). (str nil) returns the empty string. With more than\n one arg, returns the concatenation of the str values of the args." {:tag String} ([] "") ([x] (if (nil? x) "" (. x (toString)))) ([x & ys] (loop [sb (clojure.lang.RT/makeStringBuilder (str x)) more ys] (if more (recur (. sb (append (str (first more)))) (rest more)) (str sb)))))
//---
-(function __clojure_fn_3128(){
-return (clojure.JS.def(clojure,"str",clojure.JS.variadic(1,(function __clojure_fn_3128_str_3130(x_1){switch(arguments.length){
+(function __clojure_fn_3122(){
+return (clojure.JS.def(clojure,"str",clojure.JS.variadic(1,(function __clojure_fn_3122_str_3124(x_1){switch(arguments.length){
case 0:return ("")
case 1:return (((clojure.nil_QMARK_.apply(null,[x_1]))?(""):((x_1).toString())))}
-var sb_3,more_4,ys_2=clojure.JS.rest_args(this,arguments,1);
+var more_4,sb_3,ys_2=clojure.JS.rest_args(this,arguments,1);
return (((function __loop(){var _rtn,_cnt;(sb_3=clojure.lang.RT.makeStringBuilder(clojure.str.apply(null,[x_1]))),
(more_4=ys_2);do{_cnt=0;
_rtn=((more_4)?((_cnt=1,_rtn=[(sb_3).append(clojure.str.apply(null,[clojure.first.apply(null,[more_4])])),clojure.rest.apply(null,[more_4])],sb_3=_rtn[0],more_4=_rtn[1])):(clojure.str.apply(null,[sb_3])))}while(_cnt);return _rtn;})()))}))))}).apply(null,[]);
@@ -255,8 +248,8 @@ _rtn=((more_4)?((_cnt=1,_rtn=[(sb_3).append(clojure.str.apply(null,[clojure.firs
//======
//(defn symbol "Returns a Symbol with the given namespace and name." ([name] (. clojure.lang.Symbol (intern name))) ([ns name] (. clojure.lang.Symbol (intern ns name))))
//---
-(function __clojure_fn_3136(){
-return (clojure.JS.def(clojure,"symbol",(function __clojure_fn_3136_symbol_3138(ns_1,name_2){switch(arguments.length){
+(function __clojure_fn_3130(){
+return (clojure.JS.def(clojure,"symbol",(function __clojure_fn_3130_symbol_3132(ns_1,name_2){switch(arguments.length){
case 1:var name_1=arguments[0];
return (clojure.lang.Symbol.intern(name_1))}
return (clojure.lang.Symbol.intern(ns_1,name_2))})))}).apply(null,[]);
@@ -264,8 +257,8 @@ return (clojure.lang.Symbol.intern(ns_1,name_2))})))}).apply(null,[]);
//======
//(defn keyword "Returns a Keyword with the given namespace and name. Do not use :\n in the keyword strings, it will be added automatically." ([name] (. clojure.lang.Keyword (intern nil name))) ([ns name] (. clojure.lang.Keyword (intern ns name))))
//---
-(function __clojure_fn_3143(){
-return (clojure.JS.def(clojure,"keyword",(function __clojure_fn_3143_keyword_3145(ns_1,name_2){switch(arguments.length){
+(function __clojure_fn_3137(){
+return (clojure.JS.def(clojure,"keyword",(function __clojure_fn_3137_keyword_3139(ns_1,name_2){switch(arguments.length){
case 1:var name_1=arguments[0];
return (clojure.lang.Keyword.intern(null,name_1))}
return (clojure.lang.Keyword.intern(ns_1,name_2))})))}).apply(null,[]);
@@ -273,8 +266,8 @@ return (clojure.lang.Keyword.intern(ns_1,name_2))})))}).apply(null,[]);
//======
//(defn gensym "Returns a new symbol with a unique name. If a prefix string is\n supplied, the name is prefix# where # is some unique number. If\n prefix is not supplied, the prefix is 'G'." ([] (gensym "G__")) ([prefix-string] (. clojure.lang.Symbol (intern (str prefix-string (str (. clojure.lang.RT (nextID))))))))
//---
-(function __clojure_fn_3150(){
-return (clojure.JS.def(clojure,"gensym",(function __clojure_fn_3150_gensym_3152(prefix_string_1){switch(arguments.length){
+(function __clojure_fn_3144(){
+return (clojure.JS.def(clojure,"gensym",(function __clojure_fn_3144_gensym_3146(prefix_string_1){switch(arguments.length){
case 0:return (clojure.gensym.apply(null,["G__"]))}
return (clojure.lang.Symbol.intern(clojure.str.apply(null,[prefix_string_1,clojure.str.apply(null,[clojure.lang.RT.nextID()])])))})))}).apply(null,[]);
// Skipping: (defmacro cond "Takes a set of test/expr pairs. It evaluates each test one at a\n time. If a test returns logical true, cond evaluates and returns\n the value of the corresponding expr and doesn't evaluate any of the\n other tests or exprs. (cond) returns nil." [& clauses] (when clauses (list (quote if) (first clauses) (second clauses) (cons (quote cond) (rest (rest clauses))))))
@@ -282,16 +275,16 @@ return (clojure.lang.Symbol.intern(clojure.str.apply(null,[prefix_string_1,cloju
//======
//(defn spread {:private true} [arglist] (cond (nil? arglist) nil (nil? (rest arglist)) (seq (first arglist)) :else (cons (first arglist) (spread (rest arglist)))))
//---
-(function __clojure_fn_3163(){
-return (clojure.JS.def(clojure,"spread",(function __clojure_fn_3163_spread_3165(arglist_1){
+(function __clojure_fn_3157(){
+return (clojure.JS.def(clojure,"spread",(function __clojure_fn_3157_spread_3159(arglist_1){
return (((clojure.nil_QMARK_.apply(null,[arglist_1]))?(null):(((clojure.nil_QMARK_.apply(null,[clojure.rest.apply(null,[arglist_1])]))?(clojure.seq.apply(null,[clojure.first.apply(null,[arglist_1])])):(((clojure.keyword("","else"))?(clojure.cons.apply(null,[clojure.first.apply(null,[arglist_1]),clojure.spread.apply(null,[clojure.rest.apply(null,[arglist_1])])])):(null)))))))})))}).apply(null,[]);
// Skipping: (defn apply "Applies fn f to the argument list formed by prepending args to argseq." {:arglists (quote ([f args* argseq]))} [f & args] (. f (applyTo (spread args))))
//======
//(defn list* "Creates a new list containing the item prepended to more." [item & more] (spread (cons item more)))
//---
-(function __clojure_fn_3175(){
-return (clojure.JS.def(clojure,"list_STAR_",clojure.JS.variadic(1,(function __clojure_fn_3175_list_STAR_3177(item_1){
+(function __clojure_fn_3169(){
+return (clojure.JS.def(clojure,"list_STAR_",clojure.JS.variadic(1,(function __clojure_fn_3169_list_STAR_3171(item_1){
var more_2=clojure.JS.rest_args(this,arguments,1);
return (clojure.spread.apply(null,[clojure.cons.apply(null,[item_1,more_2])]))}))))}).apply(null,[]);
// Skipping: (defmacro delay "Takes a body of expressions and yields a Delay object than will\n invoke the body only the first time it is forced (with force), and\n will cache the result and return it on all subsequent force calls" [& body] (list (quote new) (quote clojure.lang.Delay) (list* (quote clojure/fn) [] body)))
@@ -299,46 +292,46 @@ return (clojure.spread.apply(null,[clojure.cons.apply(null,[item_1,more_2])]))})
//======
//(defn delay? "returns true if x is a Delay created with delay" [x] (instance? clojure.lang.Delay x))
//---
-(function __clojure_fn_3187(){
-return (clojure.JS.def(clojure,"delay_QMARK_",(function __clojure_fn_3187_delay_QMARK_3189(x_1){
+(function __clojure_fn_3181(){
+return (clojure.JS.def(clojure,"delay_QMARK_",(function __clojure_fn_3181_delay_QMARK_3183(x_1){
return (clojure.instance_QMARK_.apply(null,[clojure.lang.Delay,x_1]))})))}).apply(null,[]);
//======
//(defn force "If x is a Delay, returns the (possibly cached) value of its expression, else returns x" [x] (. clojure.lang.Delay (force x)))
//---
-(function __clojure_fn_3193(){
-return (clojure.JS.def(clojure,"force",(function __clojure_fn_3193_force_3195(x_1){
+(function __clojure_fn_3187(){
+return (clojure.JS.def(clojure,"force",(function __clojure_fn_3187_force_3189(x_1){
return (clojure.lang.Delay.force(x_1))})))}).apply(null,[]);
//======
//(defn fnseq "Returns a seq object whose first is first and whose rest is the\n value produced by calling restfn with no arguments. restfn will be\n called at most once per step in the sequence, e.g. calling rest\n repeatedly on the head of the seq calls restfn once - the value it\n yields is cached." [first restfn] (new clojure.lang.FnSeq first restfn))
//---
-(function __clojure_fn_3199(){
-return (clojure.JS.def(clojure,"fnseq",(function __clojure_fn_3199_fnseq_3201(first_1,restfn_2){
+(function __clojure_fn_3193(){
+return (clojure.JS.def(clojure,"fnseq",(function __clojure_fn_3193_fnseq_3195(first_1,restfn_2){
return ((new clojure.lang.FnSeq(first_1,restfn_2)))})))}).apply(null,[]);
// Skipping: (defmacro lazy-cons "Expands to code which produces a seq object whose first is\n first-expr and whose rest is rest-expr, neither of which is\n evaluated until first/rest is called. Each expr will be evaluated at most\n once per step in the sequence, e.g. calling first/rest repeatedly on the\n same node of the seq evaluates first/rest-expr once - the values they yield are\n cached." [first-expr & rest-expr] (list (quote new) (quote clojure.lang.LazyCons) (list (quote clojure/fn) (list [] first-expr) (list* [(gensym)] rest-expr))))
//======
//(defn cache-seq "Given a seq s, returns a lazy seq that will touch each element of s\n at most once, caching the results." [s] (when s (clojure.lang.CachedSeq. s)))
//---
-(function __clojure_fn_3211(){
-return (clojure.JS.def(clojure,"cache_seq",(function __clojure_fn_3211_cache_seq_3213(s_1){
+(function __clojure_fn_3205(){
+return (clojure.JS.def(clojure,"cache_seq",(function __clojure_fn_3205_cache_seq_3207(s_1){
return (((s_1)?((new clojure.lang.CachedSeq(s_1))):(null)))})))}).apply(null,[]);
//======
//(defn concat "Returns a lazy seq representing the concatenation of\tthe elements in the supplied colls." ([] nil) ([x] (seq x)) ([x y] (if (seq x) (lazy-cons (first x) (concat (rest x) y)) (seq y))) ([x y & zs] (let [cat (fn cat [xys zs] (if (seq xys) (lazy-cons (first xys) (cat (rest xys) zs)) (when zs (recur (first zs) (rest zs)))))] (cat (concat x y) zs))))
//---
-(function __clojure_fn_3217(){
-return (clojure.JS.def(clojure,"concat",clojure.JS.variadic(2,(function __clojure_fn_3217_concat_3219(x_1,y_2){switch(arguments.length){
-case 2:return (((clojure.seq.apply(null,[x_1]))?((new clojure.lang.LazyCons((function __clojure_fn_3217_concat_3219_fn_3224(G__3223_1){switch(arguments.length){
-case 0:return (clojure.first.apply(null,[x_1]))}
-return (clojure.concat.apply(null,[clojure.rest.apply(null,[x_1]),y_2]))})))):(clojure.seq.apply(null,[y_2]))))
+(function __clojure_fn_3211(){
+return (clojure.JS.def(clojure,"concat",clojure.JS.variadic(2,(function __clojure_fn_3211_concat_3213(x_1,y_2){switch(arguments.length){
case 1:return (clojure.seq.apply(null,[x_1]))
-case 0:return (null)}
+case 0:return (null)
+case 2:return (((clojure.seq.apply(null,[x_1]))?((new clojure.lang.LazyCons((function __clojure_fn_3211_concat_3213_fn_3218(G__3217_1){switch(arguments.length){
+case 0:return (clojure.first.apply(null,[x_1]))}
+return (clojure.concat.apply(null,[clojure.rest.apply(null,[x_1]),y_2]))})))):(clojure.seq.apply(null,[y_2]))))}
var cat_4,zs_3=clojure.JS.rest_args(this,arguments,2);
-return (((cat_4=(function __clojure_fn_3217_concat_3219_cat_3229(xys_1,zs_2){
+return (((cat_4=(function __clojure_fn_3211_concat_3213_cat_3223(xys_1,zs_2){
var _cnt,_rtn,cat_0=arguments.callee;
-do{_cnt=0;_rtn=((clojure.seq.apply(null,[xys_1]))?((new clojure.lang.LazyCons((function __clojure_fn_3217_concat_3219_cat_3229_fn_3231(G__3230_1){switch(arguments.length){
+do{_cnt=0;_rtn=((clojure.seq.apply(null,[xys_1]))?((new clojure.lang.LazyCons((function __clojure_fn_3211_concat_3213_cat_3223_fn_3225(G__3224_1){switch(arguments.length){
case 0:return (clojure.first.apply(null,[xys_1]))}
return (cat_0.apply(null,[clojure.rest.apply(null,[xys_1]),zs_2]))})))):(((zs_2)?((_cnt=1,_rtn=[clojure.first.apply(null,[zs_2]),clojure.rest.apply(null,[zs_2])],xys_1=_rtn[0],zs_2=_rtn[1])):(null))))
}while(_cnt);return _rtn;})),
@@ -347,8 +340,8 @@ cat_4.apply(null,[clojure.concat.apply(null,[x_1,y_2]),zs_3])))}))))}).apply(nul
//======
//(defn = "Equality. Returns true if x equals y, false if not. Same as\n Java x.equals(y) except it also works for nil, and compares\n numbers in a type-independent manner. Clojure's immutable data\n structures define equals() (and thus =) as a value, not an identity,\n comparison." {:tag Boolean, :inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Util)) (clojure/list (quote clojure/equal)) (clojure/list x) (clojure/list y))), :inline-arities #{2}} ([x] true) ([x y] (. clojure.lang.Util (equal x y))) ([x y & more] (if (= x y) (if (rest more) (recur y (first more) (rest more)) (= y (first more))) false)))
//---
-(function __clojure_fn_3238(){
-return (clojure.JS.def(clojure,"_EQ_",clojure.JS.variadic(2,(function __clojure_fn_3238_EQ_3243(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3232(){
+return (clojure.JS.def(clojure,"_EQ_",clojure.JS.variadic(2,(function __clojure_fn_3232_EQ_3237(x_1,y_2){switch(arguments.length){
case 2:return (clojure.lang.Util.equal(x_1,y_2))
case 1:return (true)}
var _cnt,_rtn,more_3=clojure.JS.rest_args(this,arguments,2);
@@ -358,33 +351,33 @@ do{_cnt=0;_rtn=((clojure.lang.Util.equal(x_1,y_2))?(((clojure.rest.apply(null,[m
//======
//(defn not= "Same as (not (= obj1 obj2))" {:tag Boolean} ([x] false) ([x y] (not (= x y))) ([x y & more] (not (apply = x y more))))
//---
-(function __clojure_fn_3249(){
-return (clojure.JS.def(clojure,"not_EQ_",clojure.JS.variadic(2,(function __clojure_fn_3249_not_EQ_3251(x_1,y_2){switch(arguments.length){
-case 1:return (false)
-case 2:return (clojure.not.apply(null,[clojure.lang.Util.equal(x_1,y_2)]))}
+(function __clojure_fn_3243(){
+return (clojure.JS.def(clojure,"not_EQ_",clojure.JS.variadic(2,(function __clojure_fn_3243_not_EQ_3245(x_1,y_2){switch(arguments.length){
+case 2:return (clojure.not.apply(null,[clojure.lang.Util.equal(x_1,y_2)]))
+case 1:return (false)}
var more_3=clojure.JS.rest_args(this,arguments,2);
return (clojure.not.apply(null,[clojure.apply.apply(null,[clojure._EQ_,x_1,y_2,more_3])]))}))))}).apply(null,[]);
//======
//(defn compare "Comparator. Returns 0 if x equals y, -1 if x is logically 'less\n than' y, else 1. Same as Java x.compareTo(y) except it also works\n for nil, and compares numbers in a type-independent manner. x must\n implement Comparable" {:tag Integer, :inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Util)) (clojure/list (quote clojure/compare)) (clojure/list x) (clojure/list y)))} [x y] (. clojure.lang.Util (compare x y)))
//---
-(function __clojure_fn_3257(){
-return (clojure.JS.def(clojure,"compare",(function __clojure_fn_3257_compare_3262(x_1,y_2){
+(function __clojure_fn_3251(){
+return (clojure.JS.def(clojure,"compare",(function __clojure_fn_3251_compare_3256(x_1,y_2){
return (clojure.lang.Util.compare(x_1,y_2))})))}).apply(null,[]);
-// Skipping: (defmacro and "Evaluates exprs one at a time, from left to right. If a form\n returns logical false (nil or false), and returns that value and\n doesn't evaluate any of the other expressions, otherwise it returns\n the value of the last expr. (and) returns true." ([] true) ([x] x) ([x & rest] (clojure/concat (clojure/list (quote clojure/let)) (clojure/list (clojure/apply clojure/vector (clojure/concat (clojure/list (quote and__3266)) (clojure/list x)))) (clojure/list (clojure/concat (clojure/list (quote if)) (clojure/list (quote and__3266)) (clojure/list (clojure/concat (clojure/list (quote clojure/and)) rest)) (clojure/list (quote and__3266)))))))
-// Skipping: (defmacro or "Evaluates exprs one at a time, from left to right. If a form\n returns a logical true value, or returns that value and doesn't\n evaluate any of the other expressions, otherwise it returns the\n value of the last expression. (or) returns nil." ([] nil) ([x] x) ([x & rest] (clojure/concat (clojure/list (quote clojure/let)) (clojure/list (clojure/apply clojure/vector (clojure/concat (clojure/list (quote or__3275)) (clojure/list x)))) (clojure/list (clojure/concat (clojure/list (quote if)) (clojure/list (quote or__3275)) (clojure/list (quote or__3275)) (clojure/list (clojure/concat (clojure/list (quote clojure/or)) rest)))))))
+// Skipping: (defmacro and "Evaluates exprs one at a time, from left to right. If a form\n returns logical false (nil or false), and returns that value and\n doesn't evaluate any of the other expressions, otherwise it returns\n the value of the last expr. (and) returns true." ([] true) ([x] x) ([x & rest] (clojure/concat (clojure/list (quote clojure/let)) (clojure/list (clojure/apply clojure/vector (clojure/concat (clojure/list (quote and__3260)) (clojure/list x)))) (clojure/list (clojure/concat (clojure/list (quote if)) (clojure/list (quote and__3260)) (clojure/list (clojure/concat (clojure/list (quote clojure/and)) rest)) (clojure/list (quote and__3260)))))))
+// Skipping: (defmacro or "Evaluates exprs one at a time, from left to right. If a form\n returns a logical true value, or returns that value and doesn't\n evaluate any of the other expressions, otherwise it returns the\n value of the last expression. (or) returns nil." ([] nil) ([x] x) ([x & rest] (clojure/concat (clojure/list (quote clojure/let)) (clojure/list (clojure/apply clojure/vector (clojure/concat (clojure/list (quote or__3269)) (clojure/list x)))) (clojure/list (clojure/concat (clojure/list (quote if)) (clojure/list (quote or__3269)) (clojure/list (quote or__3269)) (clojure/list (clojure/concat (clojure/list (quote clojure/or)) rest)))))))
//======
//(defn reduce "f should be a function of 2 arguments. If val is not supplied,\n returns the result of applying f to the first 2 items in coll, then\n applying f to that result and the 3rd item, etc. If coll contains no\n items, f must accept no arguments as well, and reduce returns the\n result of calling f with no arguments. If coll has only 1 item, it\n is returned and f is not called. If val is supplied, returns the\n result of applying f to val and the first item in coll, then\n applying f to that result and the 2nd item, etc. If coll contains no\n items, returns val and f is not called." ([f coll] (let [s (seq coll)] (if s (if (instance? clojure.lang.IReduce s) (. s (reduce f)) (reduce f (first s) (rest s))) (f)))) ([f val coll] (let [s (seq coll)] (if (instance? clojure.lang.IReduce s) (. s (reduce f val)) ((fn [f val s] (if s (recur f (f val (first s)) (rest s)) val)) f val s)))))
//---
-(function __clojure_fn_3284(){
-return (clojure.JS.def(clojure,"reduce",(function __clojure_fn_3284_reduce_3286(f_1,val_2,coll_3){switch(arguments.length){
+(function __clojure_fn_3278(){
+return (clojure.JS.def(clojure,"reduce",(function __clojure_fn_3278_reduce_3280(f_1,val_2,coll_3){switch(arguments.length){
case 2:var s_3,coll_2=arguments[1];
return (((s_3=clojure.seq.apply(null,[coll_2])),
((s_3)?(((clojure.instance_QMARK_.apply(null,[clojure.lang.IReduce,s_3]))?((s_3).reduce(f_1)):(clojure.reduce.apply(null,[f_1,clojure.first.apply(null,[s_3]),clojure.rest.apply(null,[s_3])])))):(f_1.apply(null,[])))))}
var s_4;
return (((s_4=clojure.seq.apply(null,[coll_3])),
-((clojure.instance_QMARK_.apply(null,[clojure.lang.IReduce,s_4]))?((s_4).reduce(f_1,val_2)):((function __clojure_fn_3284_reduce_3286_fn_3289(f_1,val_2,s_3){
+((clojure.instance_QMARK_.apply(null,[clojure.lang.IReduce,s_4]))?((s_4).reduce(f_1,val_2)):((function __clojure_fn_3278_reduce_3280_fn_3283(f_1,val_2,s_3){
var _cnt,_rtn;
do{_cnt=0;_rtn=((s_3)?((_cnt=1,_rtn=[f_1,f_1.apply(null,[val_2,clojure.first.apply(null,[s_3])]),clojure.rest.apply(null,[s_3])],f_1=_rtn[0],val_2=_rtn[1],s_3=_rtn[2])):(val_2))
}while(_cnt);return _rtn;}).apply(null,[f_1,val_2,s_4])))))})))}).apply(null,[]);
@@ -392,47 +385,47 @@ do{_cnt=0;_rtn=((s_3)?((_cnt=1,_rtn=[f_1,f_1.apply(null,[val_2,clojure.first.app
//======
//(defn reverse "Returns a seq of the items in coll in reverse order. Not lazy." [coll] (reduce conj nil coll))
//---
-(function __clojure_fn_3294(){
-return (clojure.JS.def(clojure,"reverse",(function __clojure_fn_3294_reverse_3296(coll_1){
+(function __clojure_fn_3288(){
+return (clojure.JS.def(clojure,"reverse",(function __clojure_fn_3288_reverse_3290(coll_1){
return (clojure.reduce.apply(null,[clojure.conj,null,coll_1]))})))}).apply(null,[]);
//======
//(defn + "Returns the sum of nums. (+) returns 0." {:inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Numbers)) (clojure/list (clojure/concat (clojure/list (quote clojure/add)) (clojure/list x) (clojure/list y))))), :inline-arities #{2}} ([] 0) ([x] (clojure.lang.RT/numberCast x)) ([x y] (. clojure.lang.Numbers (add x y))) ([x y & more] (reduce + (+ x y) more)))
//---
-(function __clojure_fn_3300(){
-return (clojure.JS.def(clojure,"_PLUS_",clojure.JS.variadic(2,(function __clojure_fn_3300_PLUS_3305(x_1,y_2){switch(arguments.length){
-case 2:return (clojure.lang.Numbers.add(x_1,y_2))
+(function __clojure_fn_3294(){
+return (clojure.JS.def(clojure,"_PLUS_",clojure.JS.variadic(2,(function __clojure_fn_3294_PLUS_3299(x_1,y_2){switch(arguments.length){
case 1:return (clojure.lang.RT.numberCast(x_1))
-case 0:return (0)}
+case 2:return (clojure.lang.Numbers.add(x_1,y_2))
+case 0:return ((0))}
var more_3=clojure.JS.rest_args(this,arguments,2);
return (clojure.reduce.apply(null,[clojure._PLUS_,clojure.lang.Numbers.add(x_1,y_2),more_3]))}))))}).apply(null,[]);
//======
//(defn * "Returns the product of nums. (*) returns 1." {:inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Numbers)) (clojure/list (clojure/concat (clojure/list (quote clojure/multiply)) (clojure/list x) (clojure/list y))))), :inline-arities #{2}} ([] 1) ([x] (clojure.lang.RT/numberCast x)) ([x y] (. clojure.lang.Numbers (multiply x y))) ([x y & more] (reduce * (* x y) more)))
//---
-(function __clojure_fn_3312(){
-return (clojure.JS.def(clojure,"_STAR_",clojure.JS.variadic(2,(function __clojure_fn_3312_STAR_3317(x_1,y_2){switch(arguments.length){
-case 0:return (1)
+(function __clojure_fn_3306(){
+return (clojure.JS.def(clojure,"_STAR_",clojure.JS.variadic(2,(function __clojure_fn_3306_STAR_3311(x_1,y_2){switch(arguments.length){
+case 2:return (clojure.lang.Numbers.multiply(x_1,y_2))
case 1:return (clojure.lang.RT.numberCast(x_1))
-case 2:return (clojure.lang.Numbers.multiply(x_1,y_2))}
+case 0:return ((1))}
var more_3=clojure.JS.rest_args(this,arguments,2);
return (clojure.reduce.apply(null,[clojure._STAR_,clojure.lang.Numbers.multiply(x_1,y_2),more_3]))}))))}).apply(null,[]);
//======
//(defn / "If no denominators are supplied, returns 1/numerator,\n else returns numerator divided by all of the denominators." {:inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Numbers)) (clojure/list (clojure/concat (clojure/list (quote clojure/divide)) (clojure/list x) (clojure/list y))))), :inline-arities #{2}} ([x] (/ 1 x)) ([x y] (. clojure.lang.Numbers (divide x y))) ([x y & more] (reduce / (/ x y) more)))
//---
-(function __clojure_fn_3324(){
-return (clojure.JS.def(clojure,"_SLASH_",clojure.JS.variadic(2,(function __clojure_fn_3324_SLASH_3329(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3318(){
+return (clojure.JS.def(clojure,"_SLASH_",clojure.JS.variadic(2,(function __clojure_fn_3318_SLASH_3323(x_1,y_2){switch(arguments.length){
case 2:return (clojure.lang.Numbers.divide(x_1,y_2))
-case 1:return (clojure.lang.Numbers.divide(1,x_1))}
+case 1:return (clojure.lang.Numbers.divide((1),x_1))}
var more_3=clojure.JS.rest_args(this,arguments,2);
return (clojure.reduce.apply(null,[clojure._SLASH_,clojure.lang.Numbers.divide(x_1,y_2),more_3]))}))))}).apply(null,[]);
//======
//(defn - "If no ys are supplied, returns the negation of x, else subtracts\n the ys from x and returns the result." {:inline (fn [& args] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Numbers)) (clojure/list (clojure/concat (clojure/list (quote clojure/minus)) args)))), :inline-arities #{1 2}} ([x] (. clojure.lang.Numbers (minus x))) ([x y] (. clojure.lang.Numbers (minus x y))) ([x y & more] (reduce - (- x y) more)))
//---
-(function __clojure_fn_3335(){
-return (clojure.JS.def(clojure,"_",clojure.JS.variadic(2,(function __clojure_fn_3335_3340(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3329(){
+return (clojure.JS.def(clojure,"_",clojure.JS.variadic(2,(function __clojure_fn_3329_3334(x_1,y_2){switch(arguments.length){
case 2:return (clojure.lang.Numbers.minus(x_1,y_2))
case 1:return (clojure.lang.Numbers.minus(x_1))}
var more_3=clojure.JS.rest_args(this,arguments,2);
@@ -441,8 +434,8 @@ return (clojure.reduce.apply(null,[clojure._,clojure.lang.Numbers.minus(x_1,y_2)
//======
//(defn < "Returns non-nil if nums are in monotonically increasing order,\n otherwise false." {:inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Numbers)) (clojure/list (clojure/concat (clojure/list (quote clojure/lt)) (clojure/list x) (clojure/list y))))), :inline-arities #{2}} ([x] true) ([x y] (. clojure.lang.Numbers (lt x y))) ([x y & more] (if (< x y) (if (rest more) (recur y (first more) (rest more)) (< y (first more))) false)))
//---
-(function __clojure_fn_3346(){
-return (clojure.JS.def(clojure,"_LT_",clojure.JS.variadic(2,(function __clojure_fn_3346_LT_3351(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3340(){
+return (clojure.JS.def(clojure,"_LT_",clojure.JS.variadic(2,(function __clojure_fn_3340_LT_3345(x_1,y_2){switch(arguments.length){
case 1:return (true)
case 2:return (clojure.lang.Numbers.lt(x_1,y_2))}
var _cnt,_rtn,more_3=clojure.JS.rest_args(this,arguments,2);
@@ -452,10 +445,10 @@ do{_cnt=0;_rtn=((clojure.lang.Numbers.lt(x_1,y_2))?(((clojure.rest.apply(null,[m
//======
//(defn <= "Returns non-nil if nums are in monotonically non-decreasing order,\n otherwise false." {:inline (fn [x y] (clojure/concat (clojure/list (quote .)) (clojure/list (quote clojure.lang.Numbers)) (clojure/list (clojure/concat (clojure/list (quote clojure/lte)) (clojure/list x) (clojure/list y))))), :inline-arities #{2}} ([x] true) ([x y] (. clojure.lang.Numbers (lte x y))) ([x y & more] (if (<= x y) (if (rest more) (recur y (first more) (rest more)) (<= y (first more))) false)))
//---
-(function __clojure_fn_3357(){
-return (clojure.JS.def(clojure,"_LT__EQ_",clojure.JS.variadic(2,(function __clojure_fn_3357_LT_EQ_3362(x_1,y_2){switch(arguments.length){
-case 2:return (clojure.lang.Numbers.lte(x_1,y_2))
-case 1:return (true)}
+(function __clojure_fn_3351(){
+return (clojure.JS.def(clojure,"_LT__EQ_",clojure.JS.variadic(2,(function __clojure_fn_3351_LT_EQ_3356(x_1,y_2){switch(arguments.length){
+case 1:return (true)
+case 2:return (clojure.lang.Numbers.lte(x_1,y_2))}
var _cnt,_rtn,more_3=clojure.JS.rest_args(this,arguments,2);
do{_cnt=0;_rtn=((clojure.lang.Numbers.lte(x_1,y_2))?(((clojure.rest.apply(null,[more_3]))?((_cnt=1,_rtn=[y_2,clojure.first.apply(null,[more_3]),clojure.rest.apply(null,[more_3])],x_1=_rtn[0],y_2=_rtn[1],more_3=_rtn[2])):(clojure.lang.Numbers.lte(y_2,clojure.first.apply(null,[more_3]))))):(false))
}whil