aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clojurescript/avoid-java-in-boot.patch6
-rw-r--r--clojurescript/boot.js1895
-rw-r--r--clojurescript/clj.js64
-rw-r--r--clojurescript/repl.cljs74
-rw-r--r--clojurescript/repl.html113
-rw-r--r--clojurescript/repl.js121
-rw-r--r--clojurescript/tojs.clj39
7 files changed, 1249 insertions, 1063 deletions
diff --git a/clojurescript/avoid-java-in-boot.patch b/clojurescript/avoid-java-in-boot.patch
index cd84ca85..6964ad73 100644
--- a/clojurescript/avoid-java-in-boot.patch
+++ b/clojurescript/avoid-java-in-boot.patch
@@ -1,11 +1,11 @@
-commit 0d0d8e3801c91ee8dd35c9051afe1f026a0aaed1
+commit 46c8f274922f705aa0f95e7177d7476968e95b91
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 b7d7ac7..882ff2a 100644
+index 4415d9b..22771db 100644
--- a/src/clj/clojure/boot.clj
+++ b/src/clj/clojure/boot.clj
@@ -315,7 +315,7 @@
@@ -264,7 +264,7 @@ index b7d7ac7..882ff2a 100644
(.write w ". ")
(print-args o w)
(.write w ")"))
-@@ -3628,11 +3630,11 @@
+@@ -3630,11 +3632,11 @@
(.write w ")"))
(.isArray c) (do
(.write w "#=(java.lang.Class/forName \"")
diff --git a/clojurescript/boot.js b/clojurescript/boot.js
index 1d31d8f0..39b437b7 100644
--- a/clojurescript/boot.js
+++ b/clojurescript/boot.js
@@ -2,13 +2,13 @@
//======
//(in-ns (quote clojure))
//---
-(function __user_fn_2882(){
-return (clojure.in_ns.apply(null,["'clojure"]))}).apply(null,[]);
+(function __user_fn_2877(){
+return (clojure.in_ns.apply(null,[clojure.symbol("clojure")]))}).apply(null,[]);
//======
//(def list (. clojure.lang.PersistentList creator))
//---
-(function __clojure_fn_2888(){
+(function __clojure_fn_2883(){
return (clojure.JS.def(clojure,"list",clojure.JS.getOrRun(clojure.lang.PersistentList,"creator")))}).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)))
@@ -20,8 +20,8 @@ return (clojure.JS.def(clojure,"list",clojure.JS.getOrRun(clojure.lang.Persisten
//======
//(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_2921(){
-return (clojure.JS.def(clojure,"conj",clojure.JS.variadic(2,(function __clojure_fn_2921_conj_2923(coll_1,x_2){switch(arguments.length){
+(function __clojure_fn_2916(){
+return (clojure.JS.def(clojure,"conj",clojure.JS.variadic(2,(function __clojure_fn_2916_conj_2918(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);
@@ -31,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_2926(){
-return (clojure.JS.def(clojure,"second",(function __clojure_fn_2926_second_2928(x_1){
+(function __clojure_fn_2921(){
+return (clojure.JS.def(clojure,"second",(function __clojure_fn_2921_second_2923(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_2931(){
-return (clojure.JS.def(clojure,"ffirst",(function __clojure_fn_2931_ffirst_2933(x_1){
+(function __clojure_fn_2926(){
+return (clojure.JS.def(clojure,"ffirst",(function __clojure_fn_2926_ffirst_2928(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_2936(){
-return (clojure.JS.def(clojure,"rfirst",(function __clojure_fn_2936_rfirst_2938(x_1){
+(function __clojure_fn_2931(){
+return (clojure.JS.def(clojure,"rfirst",(function __clojure_fn_2931_rfirst_2933(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_2941(){
-return (clojure.JS.def(clojure,"frest",(function __clojure_fn_2941_frest_2943(x_1){
+(function __clojure_fn_2936(){
+return (clojure.JS.def(clojure,"frest",(function __clojure_fn_2936_frest_2938(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_2946(){
-return (clojure.JS.def(clojure,"rrest",(function __clojure_fn_2946_rrest_2948(x_1){
+(function __clojure_fn_2941(){
+return (clojure.JS.def(clojure,"rrest",(function __clojure_fn_2941_rrest_2943(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))))
@@ -73,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_2961(){
-return (clojure.JS.def(clojure,"seq_QMARK_",(function __clojure_fn_2961_seq_QMARK_2963(x_1){
+(function __clojure_fn_2956(){
+return (clojure.JS.def(clojure,"seq_QMARK_",(function __clojure_fn_2956_seq_QMARK_2958(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)))
@@ -82,25 +82,25 @@ 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_2971(){
-return (clojure.JS.def(clojure,"map_QMARK_",(function __clojure_fn_2971_map_QMARK_2973(x_1){
+(function __clojure_fn_2966(){
+return (clojure.JS.def(clojure,"map_QMARK_",(function __clojure_fn_2966_map_QMARK_2968(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_2976(){
-return (clojure.JS.def(clojure,"vector_QMARK_",(function __clojure_fn_2976_vector_QMARK_2978(x_1){
+(function __clojure_fn_2971(){
+return (clojure.JS.def(clojure,"vector_QMARK_",(function __clojure_fn_2971_vector_QMARK_2973(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_2981(){
-return (clojure.JS.def(clojure,"sigs",(function __clojure_fn_2981_sigs_2983(fdecl_1){
-var ret_2,fdecl_3;
+(function __clojure_fn_2976(){
+return (clojure.JS.def(clojure,"sigs",(function __clojure_fn_2976_sigs_2978(fdecl_1){
+var fdecl_3,ret_2;
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;
_rtn=((fdecl_3)?((_cnt=1,_rtn=[clojure.conj.apply(null,[ret_2,clojure.first.apply(null,[clojure.first.apply(null,[fdecl_3])])]),clojure.rest.apply(null,[fdecl_3])],ret_2=_rtn[0],fdecl_3=_rtn[1])):(clojure.seq.apply(null,[ret_2])))}while(_cnt);return _rtn;})())):(clojure.list.apply(null,[clojure.first.apply(null,[fdecl_1])]))))})))}).apply(null,[]);
@@ -109,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_2992(){
-return (clojure.JS.def(clojure,"meta",(function __clojure_fn_2992_meta_2994(x_1){
+(function __clojure_fn_2987(){
+return (clojure.JS.def(clojure,"meta",(function __clojure_fn_2987_meta_2989(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_2997(){
-return (clojure.JS.def(clojure,"with_meta",(function __clojure_fn_2997_with_meta_2999(x_1,m_2){
+(function __clojure_fn_2992(){
+return (clojure.JS.def(clojure,"with_meta",(function __clojure_fn_2992_with_meta_2994(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_3002(){
-return (clojure.JS.def(clojure,"last",(function __clojure_fn_3002_last_3004(s_1){
+(function __clojure_fn_2997(){
+return (clojure.JS.def(clojure,"last",(function __clojure_fn_2997_last_2999(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,[]);
@@ -134,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_3007(){
-return (clojure.JS.def(clojure,"butlast",(function __clojure_fn_3007_butlast_3009(s_1){
-var ret_2,s_3,butlast_0=arguments.callee;
+(function __clojure_fn_3002(){
+return (clojure.JS.def(clojure,"butlast",(function __clojure_fn_3002_butlast_3004(s_1){
+var s_3,ret_2,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,[]);
@@ -146,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_3020(){
-return (clojure.JS.def(clojure,"cast",(function __clojure_fn_3020_cast_3022(c_1,x_2){
+(function __clojure_fn_3015(){
+return (clojure.JS.def(clojure,"cast",(function __clojure_fn_3015_cast_3017(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_3032(){
-return (clojure.JS.def(clojure,"vector",clojure.JS.variadic(0,(function __clojure_fn_3032_vector_3034(){switch(arguments.length){
+(function __clojure_fn_3027(){
+return (clojure.JS.def(clojure,"vector",clojure.JS.variadic(0,(function __clojure_fn_3027_vector_3029(){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,[]);
@@ -163,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_3039(){
-return (clojure.JS.def(clojure,"vec",(function __clojure_fn_3039_vec_3041(coll_1){
+(function __clojure_fn_3034(){
+return (clojure.JS.def(clojure,"vec",(function __clojure_fn_3034_vec_3036(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_3052(){
-return (clojure.JS.def(clojure,"hash_set",clojure.JS.variadic(0,(function __clojure_fn_3052_hash_set_3054(){switch(arguments.length){
+(function __clojure_fn_3047(){
+return (clojure.JS.def(clojure,"hash_set",clojure.JS.variadic(0,(function __clojure_fn_3047_hash_set_3049(){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,[]);
@@ -180,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_3059(){
-return (clojure.JS.def(clojure,"sorted_map",clojure.JS.variadic(0,(function __clojure_fn_3059_sorted_map_3061(){
+(function __clojure_fn_3054(){
+return (clojure.JS.def(clojure,"sorted_map",clojure.JS.variadic(0,(function __clojure_fn_3054_sorted_map_3056(){
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_3065(){
-return (clojure.JS.def(clojure,"sorted_set",clojure.JS.variadic(0,(function __clojure_fn_3065_sorted_set_3067(){
+(function __clojure_fn_3060(){
+return (clojure.JS.def(clojure,"sorted_set",clojure.JS.variadic(0,(function __clojure_fn_3060_sorted_set_3062(){
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_3071(){
-return (clojure.JS.def(clojure,"sorted_map_by",clojure.JS.variadic(1,(function __clojure_fn_3071_sorted_map_by_3073(comparator_1){
+(function __clojure_fn_3066(){
+return (clojure.JS.def(clojure,"sorted_map_by",clojure.JS.variadic(1,(function __clojure_fn_3066_sorted_map_by_3068(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))))))
@@ -208,66 +208,50 @@ 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_3098(){
-return (clojure.JS.def(clojure,"nil_QMARK_",(function __clojure_fn_3098_nil_QMARK_3100(x_1){
+(function __clojure_fn_3093(){
+return (clojure.JS.def(clojure,"nil_QMARK_",(function __clojure_fn_3093_nil_QMARK_3095(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_3104(){
-return (clojure.JS.def(clojure,"false_QMARK_",(function __clojure_fn_3104_false_QMARK_3106(x_1){
+(function __clojure_fn_3099(){
+return (clojure.JS.def(clojure,"false_QMARK_",(function __clojure_fn_3099_false_QMARK_3101(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_3110(){
-return (clojure.JS.def(clojure,"true_QMARK_",(function __clojure_fn_3110_true_QMARK_3112(x_1){
+(function __clojure_fn_3105(){
+return (clojure.JS.def(clojure,"true_QMARK_",(function __clojure_fn_3105_true_QMARK_3107(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_3116(){
-return (clojure.JS.def(clojure,"not",(function __clojure_fn_3116_not_3118(x_1){
+(function __clojure_fn_3111(){
+return (clojure.JS.def(clojure,"not",(function __clojure_fn_3111_not_3113(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_3122(){
-return (clojure.JS.def(clojure,"str",clojure.JS.variadic(1,(function __clojure_fn_3122_str_3124(x_1){switch(arguments.length){
+(function __clojure_fn_3117(){
+return (clojure.JS.def(clojure,"str",clojure.JS.variadic(1,(function __clojure_fn_3117_str_3119(x_1){switch(arguments.length){
case 0:return ("")
case 1:return (((clojure.nil_QMARK_.apply(null,[x_1]))?(""):((x_1).toString())))}
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,[]);
-
-//======
-//(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_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,[]);
-
-//======
-//(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_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,[]);
+// Skipping: (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))))
+// Skipping: (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))))
//======
//(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_3144(){
-return (clojure.JS.def(clojure,"gensym",(function __clojure_fn_3144_gensym_3146(prefix_string_1){switch(arguments.length){
+(function __clojure_fn_3139(){
+return (clojure.JS.def(clojure,"gensym",(function __clojure_fn_3139_gensym_3141(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))))))
@@ -275,16 +259,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_3157(){
-return (clojure.JS.def(clojure,"spread",(function __clojure_fn_3157_spread_3159(arglist_1){
+(function __clojure_fn_3152(){
+return (clojure.JS.def(clojure,"spread",(function __clojure_fn_3152_spread_3154(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_3169(){
-return (clojure.JS.def(clojure,"list_STAR_",clojure.JS.variadic(1,(function __clojure_fn_3169_list_STAR_3171(item_1){
+(function __clojure_fn_3164(){
+return (clojure.JS.def(clojure,"list_STAR_",clojure.JS.variadic(1,(function __clojure_fn_3164_list_STAR_3166(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)))
@@ -292,46 +276,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_3181(){
-return (clojure.JS.def(clojure,"delay_QMARK_",(function __clojure_fn_3181_delay_QMARK_3183(x_1){
+(function __clojure_fn_3176(){
+return (clojure.JS.def(clojure,"delay_QMARK_",(function __clojure_fn_3176_delay_QMARK_3178(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_3187(){
-return (clojure.JS.def(clojure,"force",(function __clojure_fn_3187_force_3189(x_1){
+(function __clojure_fn_3182(){
+return (clojure.JS.def(clojure,"force",(function __clojure_fn_3182_force_3184(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_3193(){
-return (clojure.JS.def(clojure,"fnseq",(function __clojure_fn_3193_fnseq_3195(first_1,restfn_2){
+(function __clojure_fn_3188(){
+return (clojure.JS.def(clojure,"fnseq",(function __clojure_fn_3188_fnseq_3190(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_3205(){
-return (clojure.JS.def(clojure,"cache_seq",(function __clojure_fn_3205_cache_seq_3207(s_1){
+(function __clojure_fn_3200(){
+return (clojure.JS.def(clojure,"cache_seq",(function __clojure_fn_3200_cache_seq_3202(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_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]))
+(function __clojure_fn_3206(){
+return (clojure.JS.def(clojure,"concat",clojure.JS.variadic(2,(function __clojure_fn_3206_concat_3208(x_1,y_2){switch(arguments.length){
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 2:return (((clojure.seq.apply(null,[x_1]))?((new clojure.lang.LazyCons((function __clojure_fn_3206_concat_3208_fn_3213(G__3212_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]))))}
+return (clojure.concat.apply(null,[clojure.rest.apply(null,[x_1]),y_2]))})))):(clojure.seq.apply(null,[y_2]))))
+case 1:return (clojure.seq.apply(null,[x_1]))}
var cat_4,zs_3=clojure.JS.rest_args(this,arguments,2);
-return (((cat_4=(function __clojure_fn_3211_concat_3213_cat_3223(xys_1,zs_2){
+return (((cat_4=(function __clojure_fn_3206_concat_3208_cat_3218(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_3211_concat_3213_cat_3223_fn_3225(G__3224_1){switch(arguments.length){
+do{_cnt=0;_rtn=((clojure.seq.apply(null,[xys_1]))?((new clojure.lang.LazyCons((function __clojure_fn_3206_concat_3208_cat_3218_fn_3220(G__3219_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;})),
@@ -340,10 +324,10 @@ 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_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)}
+(function __clojure_fn_3227(){
+return (clojure.JS.def(clojure,"_EQ_",clojure.JS.variadic(2,(function __clojure_fn_3227_EQ_3232(x_1,y_2){switch(arguments.length){
+case 1:return (true)
+case 2:return (clojure.lang.Util.equal(x_1,y_2))}
var _cnt,_rtn,more_3=clojure.JS.rest_args(this,arguments,2);
do{_cnt=0;_rtn=((clojure.lang.Util.equal(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.Util.equal(y_2,clojure.first.apply(null,[more_3]))))):(false))
}while(_cnt);return _rtn;}))))}).apply(null,[]);
@@ -351,8 +335,8 @@ 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_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){
+(function __clojure_fn_3238(){
+return (clojure.JS.def(clojure,"not_EQ_",clojure.JS.variadic(2,(function __clojure_fn_3238_not_EQ_3240(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);
@@ -361,23 +345,23 @@ return (clojure.not.apply(null,[clojure.apply.apply(null,[clojure._EQ_,x_1,y_2,m
//======
//(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_3251(){
-return (clojure.JS.def(clojure,"compare",(function __clojure_fn_3251_compare_3256(x_1,y_2){
+(function __clojure_fn_3246(){
+return (clojure.JS.def(clojure,"compare",(function __clojure_fn_3246_compare_3251(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__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)))))))
+// 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__3255)) (clojure/list x)))) (clojure/list (clojure/concat (clojure/list (quote if)) (clojure/list (quote and__3255)) (clojure/list (clojure/concat (clojure/list (quote clojure/and)) rest)) (clojure/list (quote and__3255)))))))
+// 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__3264)) (clojure/list x)))) (clojure/list (clojure/concat (clojure/list (quote if)) (clojure/list (quote or__3264)) (clojure/list (quote or__3264)) (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_3278(){
-return (clojure.JS.def(clojure,"reduce",(function __clojure_fn_3278_reduce_3280(f_1,val_2,coll_3){switch(arguments.length){
+(function __clojure_fn_3273(){
+return (clojure.JS.def(clojure,"reduce",(function __clojure_fn_3273_reduce_3275(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_3278_reduce_3280_fn_3283(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_3273_reduce_3275_fn_3278(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,[]);
@@ -385,37 +369,37 @@ 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_3288(){
-return (clojure.JS.def(clojure,"reverse",(function __clojure_fn_3288_reverse_3290(coll_1){
+(function __clojure_fn_3283(){
+return (clojure.JS.def(clojure,"reverse",(function __clojure_fn_3283_reverse_3285(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_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))
+(function __clojure_fn_3289(){
+return (clojure.JS.def(clojure,"_PLUS_",clojure.JS.variadic(2,(function __clojure_fn_3289_PLUS_3294(x_1,y_2){switch(arguments.length){
case 2:return (clojure.lang.Numbers.add(x_1,y_2))
-case 0:return ((0))}
+case 0:return ((0))
+case 1:return (clojure.lang.RT.numberCast(x_1))}
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_3306(){
-return (clojure.JS.def(clojure,"_STAR_",clojure.JS.variadic(2,(function __clojure_fn_3306_STAR_3311(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3301(){
+return (clojure.JS.def(clojure,"_STAR_",clojure.JS.variadic(2,(function __clojure_fn_3301_STAR_3306(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 0:return ((1))}
+case 0:return ((1))
+case 1:return (clojure.lang.RT.numberCast(x_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_3318(){
-return (clojure.JS.def(clojure,"_SLASH_",clojure.JS.variadic(2,(function __clojure_fn_3318_SLASH_3323(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3313(){
+return (clojure.JS.def(clojure,"_SLASH_",clojure.JS.variadic(2,(function __clojure_fn_3313_SLASH_3318(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))}
var more_3=clojure.JS.rest_args(this,arguments,2);
@@ -424,18 +408,18 @@ return (clojure.reduce.apply(null,[clojure._SLASH_,clojure.lang.Numbers.divide(x
//======
//(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_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))}
+(function __clojure_fn_3324(){
+return (clojure.JS.def(clojure,"_",clojure.JS.variadic(2,(function __clojure_fn_3324_3329(x_1,y_2){switch(arguments.length){
+case 1:return (clojure.lang.Numbers.minus(x_1))
+case 2:return (clojure.lang.Numbers.minus(x_1,y_2))}
var more_3=clojure.JS.rest_args(this,arguments,2);
return (clojure.reduce.apply(null,[clojure._,clojure.lang.Numbers.minus(x_1,y_2),more_3]))}))))}).apply(null,[]);
//======
//(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_3340(){
-return (clojure.JS.def(clojure,"_LT_",clojure.JS.variadic(2,(function __clojure_fn_3340_LT_3345(x_1,y_2){switch(arguments.length){
+(function __clojure_fn_3335(){
+return (clojure.JS.def(clojure,"_LT_",clojure.JS.variadic(2,(function __clojure_fn_3335_LT_3340(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);
@@ -445,8 +429,8 @@ 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_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){
+(function __clojure_fn_3346(){
+return (clojure.JS.def(clojure,"_LT__EQ_",clojure.JS.variadic(2,(function __clojure_fn_3346_LT_EQ_3351(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);
@@ -456,10 +440,10 @@ do{_cnt=0;_rtn=((clojure.lang.Numbers.lte(x_1,y_2))?(((clojure.rest.apply(null,[
//======
//(defn > "Returns non-nil if nums are in monotonically