From 7d0e2f2b6109efadead4e3472e94fd1f67e05a35 Mon Sep 17 00:00:00 2001 From: Yogthos Date: Sun, 21 Jun 2026 15:42:01 -0400 Subject: [PATCH] dedupe: add the 0-arg transducer arity (jolt-05i2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (into [] (dedupe) coll) / (sequence (dedupe) coll) threw an arity error — dedupe was [coll]-only. Add the 0-arg stateful transducer (tracks [seen? prev] in a volatile, no sentinel). Re-minted. --- host/chez/seed/prelude.ss | 278 ++++++++++++++--------------- jolt-core/clojure/core/20-coll.clj | 46 +++-- 2 files changed, 168 insertions(+), 156 deletions(-) diff --git a/host/chez/seed/prelude.ss b/host/chez/seed/prelude.ss index ca5c88c..3902818 100644 --- a/host/chez/seed/prelude.ss +++ b/host/chez/seed/prelude.ss @@ -1,117 +1,117 @@ (guard (e (#t #f)) - (def-var! "clojure.core" "zero?" (letrec ((zero? (lambda (x) (let fnrec951 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) (jolt= x 0) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "zero? requires a number, got: " x))))))) zero?))) + (def-var! "clojure.core" "zero?" (letrec ((zero? (lambda (x) (let fnrec960 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) (jolt= x 0) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "zero? requires a number, got: " x))))))) zero?))) (guard (e (#t #f)) - (def-var! "clojure.core" "pos?" (letrec ((pos? (lambda (x) (let fnrec952 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) (> x 0) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "pos? requires a number, got: " x))))))) pos?))) + (def-var! "clojure.core" "pos?" (letrec ((pos? (lambda (x) (let fnrec961 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) (> x 0) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "pos? requires a number, got: " x))))))) pos?))) (guard (e (#t #f)) - (def-var! "clojure.core" "every?" (letrec ((every? (lambda (pred coll) (let fnrec953 ((pred pred) (coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") (jolt-seq coll))) #t (if (jolt-truthy? (jolt-invoke pred (jolt-first coll))) (fnrec953 pred (jolt-next coll)) #f)))))) every?))) + (def-var! "clojure.core" "every?" (letrec ((every? (lambda (pred coll) (let fnrec962 ((pred pred) (coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") (jolt-seq coll))) #t (if (jolt-truthy? (jolt-invoke pred (jolt-first coll))) (fnrec962 pred (jolt-next coll)) #f)))))) every?))) (guard (e (#t #f)) - (def-var! "clojure.core" "empty?" (letrec ((empty? (lambda (coll) (let fnrec954 ((coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) #t (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (jolt-zero? (jolt-count coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") coll)) (jolt-zero? (jolt-count coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "set?") coll)) (jolt-zero? (jolt-count coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "string?") coll)) (jolt-zero? (jolt-count coll)) (jolt-invoke (var-deref "clojure.core" "nil?") (jolt-seq coll))))))))))) empty?))) + (def-var! "clojure.core" "empty?" (letrec ((empty? (lambda (coll) (let fnrec963 ((coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) #t (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (jolt-zero? (jolt-count coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") coll)) (jolt-zero? (jolt-count coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "set?") coll)) (jolt-zero? (jolt-count coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "string?") coll)) (jolt-zero? (jolt-count coll)) (jolt-invoke (var-deref "clojure.core" "nil?") (jolt-seq coll))))))))))) empty?))) (guard (e (#t #f)) - (def-var! "clojure.core" "keys" (letrec ((keys (lambda (m) (let fnrec955 ((m m)) (let* ((s (jolt-seq m))) (if (jolt-truthy? s) (jolt-map (lambda (e) (let fnrec956 ((e e)) (jolt-nth e 0))) s) jolt-nil)))))) keys))) + (def-var! "clojure.core" "keys" (letrec ((keys (lambda (m) (let fnrec964 ((m m)) (let* ((s (jolt-seq m))) (if (jolt-truthy? s) (jolt-map (lambda (e) (let fnrec965 ((e e)) (jolt-nth e 0))) s) jolt-nil)))))) keys))) (guard (e (#t #f)) - (def-var! "clojure.core" "vals" (letrec ((vals (lambda (m) (let fnrec957 ((m m)) (let* ((s (jolt-seq m))) (if (jolt-truthy? s) (jolt-map (lambda (e) (let fnrec958 ((e e)) (jolt-nth e 1))) s) jolt-nil)))))) vals))) + (def-var! "clojure.core" "vals" (letrec ((vals (lambda (m) (let fnrec966 ((m m)) (let* ((s (jolt-seq m))) (if (jolt-truthy? s) (jolt-map (lambda (e) (let fnrec967 ((e e)) (jolt-nth e 1))) s) jolt-nil)))))) vals))) (guard (e (#t #f)) (def-var! "clojure.core" "when" - (lambda (test . body) (let fnrec959 ((test test) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") test) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body)))))) + (lambda (test . body) (let fnrec968 ((test test) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") test) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body)))))) (mark-macro! "clojure.core" "when")) (guard (e (#t #f)) (def-var! "clojure.core" "when-not" - (lambda (test . body) (let fnrec960 ((test test) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "not")) (jolt-invoke (var-deref "clojure.core" "__sq1") test))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body)))))) + (lambda (test . body) (let fnrec969 ((test test) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "not")) (jolt-invoke (var-deref "clojure.core" "__sq1") test))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body)))))) (mark-macro! "clojure.core" "when-not")) (guard (e (#t #f)) (def-var! "clojure.core" "and" - (lambda exprs (let fnrec961 ((exprs (list->cseq exprs))) (if (jolt-empty? exprs) #t (if (jolt-empty? (jolt-rest exprs)) (jolt-first exprs) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "and__13__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first exprs)))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "and__13__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "and")) (jolt-rest exprs))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "and__13__auto")))))))))) + (lambda exprs (let fnrec970 ((exprs (list->cseq exprs))) (if (jolt-empty? exprs) #t (if (jolt-empty? (jolt-rest exprs)) (jolt-first exprs) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "and__13__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first exprs)))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "and__13__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "and")) (jolt-rest exprs))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "and__13__auto")))))))))) (mark-macro! "clojure.core" "and")) (guard (e (#t #f)) (def-var! "clojure.core" "or" - (lambda exprs (let fnrec962 ((exprs (list->cseq exprs))) (if (jolt-empty? exprs) jolt-nil (if (jolt-empty? (jolt-rest exprs)) (jolt-first exprs) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "or__14__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first exprs)))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "or__14__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "or__14__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "or")) (jolt-rest exprs))))))))))) + (lambda exprs (let fnrec971 ((exprs (list->cseq exprs))) (if (jolt-empty? exprs) jolt-nil (if (jolt-empty? (jolt-rest exprs)) (jolt-first exprs) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "or__14__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first exprs)))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "or__14__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "or__14__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "or")) (jolt-rest exprs))))))))))) (mark-macro! "clojure.core" "or")) (guard (e (#t #f)) (def-var! "clojure.core" "cond" - (lambda clauses (let fnrec963 ((clauses (list->cseq clauses))) (if (jolt-empty? clauses) jolt-nil (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first clauses)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth clauses 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "cond")) (jolt-drop 2 clauses)))))))) + (lambda clauses (let fnrec972 ((clauses (list->cseq clauses))) (if (jolt-empty? clauses) jolt-nil (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first clauses)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth clauses 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "cond")) (jolt-drop 2 clauses)))))))) (mark-macro! "clojure.core" "cond")) (guard (e (#t #f)) (def-var! "clojure.core" "ns" - (lambda (nm . clauses) (let fnrec964 ((nm nm) (clauses (list->cseq clauses))) (let* ((nm (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "seq?") nm))) (if (jolt-truthy? and__13__auto) (jolt= (jolt-symbol #f "with-meta") (jolt-first nm)) and__13__auto))) (jolt-invoke (var-deref "clojure.core" "second") nm) nm)) (calls (jolt-reduce (lambda (acc clause) (let fnrec965 ((acc acc) (clause clause)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") clause)) (let* ((head (jolt-first clause)) (args (jolt-rest clause))) (if (jolt= head (keyword #f "require")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "require")) (jolt-map (lambda (s) (let fnrec969 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt= head (keyword #f "use")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "use")) (jolt-map (lambda (s) (let fnrec968 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt= head (keyword #f "import")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "import")) (jolt-map (lambda (s) (let fnrec967 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt= head (keyword #f "refer-clojure")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "refer-clojure")) (jolt-map (lambda (s) (let fnrec966 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt-truthy? (keyword #f "else")) acc jolt-nil)))))) acc))) (jolt-vector) clauses))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "in-ns")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") nm))))) calls))))) + (lambda (nm . clauses) (let fnrec973 ((nm nm) (clauses (list->cseq clauses))) (let* ((nm (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "seq?") nm))) (if (jolt-truthy? and__13__auto) (jolt= (jolt-symbol #f "with-meta") (jolt-first nm)) and__13__auto))) (jolt-invoke (var-deref "clojure.core" "second") nm) nm)) (calls (jolt-reduce (lambda (acc clause) (let fnrec974 ((acc acc) (clause clause)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") clause)) (let* ((head (jolt-first clause)) (args (jolt-rest clause))) (if (jolt= head (keyword #f "require")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "require")) (jolt-map (lambda (s) (let fnrec978 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt= head (keyword #f "use")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "use")) (jolt-map (lambda (s) (let fnrec977 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt= head (keyword #f "import")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "import")) (jolt-map (lambda (s) (let fnrec976 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt= head (keyword #f "refer-clojure")) (jolt-conj acc (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "refer-clojure")) (jolt-map (lambda (s) (let fnrec975 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) args))) (if (jolt-truthy? (keyword #f "else")) acc jolt-nil)))))) acc))) (jolt-vector) clauses))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "in-ns")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") nm))))) calls))))) (mark-macro! "clojure.core" "ns")) (guard (e (#t #f)) (def-var! "clojure.core" "->" - (lambda (x . forms) (let fnrec970 ((x x) (forms (list->cseq forms))) (if (jolt-empty? forms) x (let* ((form (jolt-first forms)) (threaded (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") form)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first form)) (jolt-invoke (var-deref "clojure.core" "__sq1") x) (jolt-rest form)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") form) (jolt-invoke (var-deref "clojure.core" "__sq1") x))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "->")) (jolt-invoke (var-deref "clojure.core" "__sq1") threaded) (jolt-rest forms))))))) + (lambda (x . forms) (let fnrec979 ((x x) (forms (list->cseq forms))) (if (jolt-empty? forms) x (let* ((form (jolt-first forms)) (threaded (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") form)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first form)) (jolt-invoke (var-deref "clojure.core" "__sq1") x) (jolt-rest form)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") form) (jolt-invoke (var-deref "clojure.core" "__sq1") x))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "->")) (jolt-invoke (var-deref "clojure.core" "__sq1") threaded) (jolt-rest forms))))))) (mark-macro! "clojure.core" "->")) (guard (e (#t #f)) (def-var! "clojure.core" "->>" - (lambda (x . forms) (let fnrec971 ((x x) (forms (list->cseq forms))) (if (jolt-empty? forms) x (let* ((form (jolt-first forms)) (threaded (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") form)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first form)) (jolt-rest form) (jolt-invoke (var-deref "clojure.core" "__sq1") x)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") form) (jolt-invoke (var-deref "clojure.core" "__sq1") x))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "->>")) (jolt-invoke (var-deref "clojure.core" "__sq1") threaded) (jolt-rest forms))))))) + (lambda (x . forms) (let fnrec980 ((x x) (forms (list->cseq forms))) (if (jolt-empty? forms) x (let* ((form (jolt-first forms)) (threaded (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") form)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first form)) (jolt-rest form) (jolt-invoke (var-deref "clojure.core" "__sq1") x)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") form) (jolt-invoke (var-deref "clojure.core" "__sq1") x))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "->>")) (jolt-invoke (var-deref "clojure.core" "__sq1") threaded) (jolt-rest forms))))))) (mark-macro! "clojure.core" "->>")) (guard (e (#t #f)) (def-var! "clojure.core" "declare" - (lambda syms (let fnrec972 ((syms (list->cseq syms))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-map (lambda (s) (let fnrec973 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "def")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) syms))))) + (lambda syms (let fnrec981 ((syms (list->cseq syms))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-map (lambda (s) (let fnrec982 ((s s)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "def")) (jolt-invoke (var-deref "clojure.core" "__sq1") s)))) syms))))) (mark-macro! "clojure.core" "declare")) (guard (e (#t #f)) - (def-var! "clojure.core" "destructure" (letrec ((destructure (lambda (bindings) (let fnrec974 ((bindings bindings)) (let* ((find-or (lambda (or-map nm) (let fnrec975 ((or-map or-map) (nm nm)) (jolt-reduce (lambda (acc k) (let fnrec976 ((acc acc) (k k)) (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "symbol?") k))) (if (jolt-truthy? and__13__auto) (jolt= nm (jolt-invoke (var-deref "clojure.core" "name") k)) and__13__auto))) (let* ((_o$977 #t) (_o$978 (jolt-get or-map k))) (jolt-vector _o$977 _o$978)) acc))) (let* ((_o$979 #f) (_o$980 jolt-nil)) (jolt-vector _o$979 _o$980)) (if (jolt-truthy? or-map) (jolt-keys or-map) (jolt-vector)))))) (amp? (lambda (x) (let fnrec981 ((x x)) (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "symbol?") x))) (if (jolt-truthy? and__13__auto) (jolt= "&" (jolt-invoke (var-deref "clojure.core" "name") x)) and__13__auto))))) (proc (letrec ((proc (lambda (pat init acc) (let fnrec982 ((pat pat) (init init) (acc acc)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") pat)) (jolt-conj (jolt-conj acc pat) init) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") pat)) (let* ((g (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))) (n (jolt-count pat)) (vloop (letrec ((vloop (lambda (i idx a) (let fnrec986 ((i i) (idx idx) (a a)) (if (< i n) (let* ((elem (jolt-nth pat i))) (if (jolt-truthy? (jolt-invoke amp? elem)) (jolt-invoke vloop (+ i 2) idx (jolt-invoke proc (jolt-nth pat (jolt-inc i)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "nthnext")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") idx)) a)) (if (jolt= elem (keyword #f "as")) (jolt-invoke vloop (+ i 2) idx (jolt-invoke proc (jolt-nth pat (jolt-inc i)) g a)) (if (jolt-truthy? (keyword #f "else")) (jolt-invoke vloop (jolt-inc i) (jolt-inc idx) (jolt-invoke proc elem (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "nth")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") idx) (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil)) a)) jolt-nil)))) a))))) vloop))) (jolt-invoke vloop 0 0 (jolt-conj (jolt-conj acc g) init))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") pat)) (let* ((g (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))) (gm (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))) (coerce (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "sequential?")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "and")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "=")) (jolt-invoke (var-deref "clojure.core" "__sq1") 1) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "count")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "map?")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "first")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))))))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "first")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "apply")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "hash-map")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))))) (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (or-map (jolt-get pat (keyword #f "or"))) (as-sym (jolt-get pat (keyword #f "as"))) (bound (jolt-conj (jolt-conj (jolt-conj (jolt-conj acc g) init) gm) coerce)) (base (if (jolt-truthy? as-sym) (jolt-conj (jolt-conj bound as-sym) gm) bound)) (group (lambda (a kw kind) (let fnrec984 ((a a) (kw kw) (kind kind)) (let* ((names (jolt-get pat kw))) (if (jolt-truthy? names) (jolt-reduce (lambda (aa s) (let fnrec985 ((aa aa) (s s)) (let* ((local (jolt-invoke (var-deref "clojure.core" "name") s)) (nsp (jolt-invoke (var-deref "clojure.core" "namespace") s)) (keyform (if (jolt= kind (keyword #f "kw")) (jolt-invoke (var-deref "clojure.core" "keyword") (if (jolt-truthy? nsp) (jolt-invoke (var-deref "clojure.core" "str") nsp "/" local) local)) (if (jolt= kind (keyword #f "str")) local (if (jolt-truthy? (keyword #f "else")) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "symbol") nsp local))) jolt-nil)))) (fo (jolt-invoke find-or or-map local))) (jolt-conj (jolt-conj aa (jolt-invoke (var-deref "clojure.core" "symbol") local)) (if (jolt-truthy? (jolt-nth fo 0)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "get")) (jolt-invoke (var-deref "clojure.core" "__sq1") gm) (jolt-invoke (var-deref "clojure.core" "__sq1") keyform) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth fo 1))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "get")) (jolt-invoke (var-deref "clojure.core" "__sq1") gm) (jolt-invoke (var-deref "clojure.core" "__sq1") keyform))))))) a names) a))))) (g1 (jolt-invoke group base (keyword #f "keys") (keyword #f "kw"))) (g2 (jolt-invoke group g1 (keyword #f "strs") (keyword #f "str"))) (g3 (jolt-invoke group g2 (keyword #f "syms") (keyword #f "sym")))) (jolt-reduce (lambda (a k) (let fnrec983 ((a a) (k k)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "keyword?") k)) a (jolt-invoke proc k (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "get")) (jolt-invoke (var-deref "clojure.core" "__sq1") gm) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-get pat k))) a)))) g3 (jolt-keys pat))) (if (jolt-truthy? (keyword #f "else")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "unsupported destructuring pattern")) jolt-nil)))))))) proc)) (ploop (letrec ((ploop (lambda (i acc) (let fnrec987 ((i i) (acc acc)) (if (< i (jolt-count bindings)) (jolt-invoke ploop (+ i 2) (jolt-invoke proc (jolt-nth bindings i) (jolt-nth bindings (jolt-inc i)) acc)) acc))))) ploop))) (jolt-invoke ploop 0 (jolt-vector))))))) destructure))) + (def-var! "clojure.core" "destructure" (letrec ((destructure (lambda (bindings) (let fnrec983 ((bindings bindings)) (let* ((find-or (lambda (or-map nm) (let fnrec984 ((or-map or-map) (nm nm)) (jolt-reduce (lambda (acc k) (let fnrec985 ((acc acc) (k k)) (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "symbol?") k))) (if (jolt-truthy? and__13__auto) (jolt= nm (jolt-invoke (var-deref "clojure.core" "name") k)) and__13__auto))) (let* ((_o$986 #t) (_o$987 (jolt-get or-map k))) (jolt-vector _o$986 _o$987)) acc))) (let* ((_o$988 #f) (_o$989 jolt-nil)) (jolt-vector _o$988 _o$989)) (if (jolt-truthy? or-map) (jolt-keys or-map) (jolt-vector)))))) (amp? (lambda (x) (let fnrec990 ((x x)) (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "symbol?") x))) (if (jolt-truthy? and__13__auto) (jolt= "&" (jolt-invoke (var-deref "clojure.core" "name") x)) and__13__auto))))) (proc (letrec ((proc (lambda (pat init acc) (let fnrec991 ((pat pat) (init init) (acc acc)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") pat)) (jolt-conj (jolt-conj acc pat) init) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") pat)) (let* ((g (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))) (n (jolt-count pat)) (vloop (letrec ((vloop (lambda (i idx a) (let fnrec995 ((i i) (idx idx) (a a)) (if (< i n) (let* ((elem (jolt-nth pat i))) (if (jolt-truthy? (jolt-invoke amp? elem)) (jolt-invoke vloop (+ i 2) idx (jolt-invoke proc (jolt-nth pat (jolt-inc i)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "nthnext")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") idx)) a)) (if (jolt= elem (keyword #f "as")) (jolt-invoke vloop (+ i 2) idx (jolt-invoke proc (jolt-nth pat (jolt-inc i)) g a)) (if (jolt-truthy? (keyword #f "else")) (jolt-invoke vloop (jolt-inc i) (jolt-inc idx) (jolt-invoke proc elem (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "nth")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") idx) (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil)) a)) jolt-nil)))) a))))) vloop))) (jolt-invoke vloop 0 0 (jolt-conj (jolt-conj acc g) init))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") pat)) (let* ((g (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))) (gm (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))) (coerce (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "sequential?")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "and")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "=")) (jolt-invoke (var-deref "clojure.core" "__sq1") 1) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "count")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "map?")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "first")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))))))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "first")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "apply")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "hash-map")) (jolt-invoke (var-deref "clojure.core" "__sq1") g))))) (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (or-map (jolt-get pat (keyword #f "or"))) (as-sym (jolt-get pat (keyword #f "as"))) (bound (jolt-conj (jolt-conj (jolt-conj (jolt-conj acc g) init) gm) coerce)) (base (if (jolt-truthy? as-sym) (jolt-conj (jolt-conj bound as-sym) gm) bound)) (group (lambda (a kw kind) (let fnrec993 ((a a) (kw kw) (kind kind)) (let* ((names (jolt-get pat kw))) (if (jolt-truthy? names) (jolt-reduce (lambda (aa s) (let fnrec994 ((aa aa) (s s)) (let* ((local (jolt-invoke (var-deref "clojure.core" "name") s)) (nsp (jolt-invoke (var-deref "clojure.core" "namespace") s)) (keyform (if (jolt= kind (keyword #f "kw")) (jolt-invoke (var-deref "clojure.core" "keyword") (if (jolt-truthy? nsp) (jolt-invoke (var-deref "clojure.core" "str") nsp "/" local) local)) (if (jolt= kind (keyword #f "str")) local (if (jolt-truthy? (keyword #f "else")) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "symbol") nsp local))) jolt-nil)))) (fo (jolt-invoke find-or or-map local))) (jolt-conj (jolt-conj aa (jolt-invoke (var-deref "clojure.core" "symbol") local)) (if (jolt-truthy? (jolt-nth fo 0)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "get")) (jolt-invoke (var-deref "clojure.core" "__sq1") gm) (jolt-invoke (var-deref "clojure.core" "__sq1") keyform) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth fo 1))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "get")) (jolt-invoke (var-deref "clojure.core" "__sq1") gm) (jolt-invoke (var-deref "clojure.core" "__sq1") keyform))))))) a names) a))))) (g1 (jolt-invoke group base (keyword #f "keys") (keyword #f "kw"))) (g2 (jolt-invoke group g1 (keyword #f "strs") (keyword #f "str"))) (g3 (jolt-invoke group g2 (keyword #f "syms") (keyword #f "sym")))) (jolt-reduce (lambda (a k) (let fnrec992 ((a a) (k k)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "keyword?") k)) a (jolt-invoke proc k (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "get")) (jolt-invoke (var-deref "clojure.core" "__sq1") gm) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-get pat k))) a)))) g3 (jolt-keys pat))) (if (jolt-truthy? (keyword #f "else")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "unsupported destructuring pattern")) jolt-nil)))))))) proc)) (ploop (letrec ((ploop (lambda (i acc) (let fnrec996 ((i i) (acc acc)) (if (< i (jolt-count bindings)) (jolt-invoke ploop (+ i 2) (jolt-invoke proc (jolt-nth bindings i) (jolt-nth bindings (jolt-inc i)) acc)) acc))))) ploop))) (jolt-invoke ploop 0 (jolt-vector))))))) destructure))) (guard (e (#t #f)) (def-var! "clojure.core" "let" - (lambda (bindings . body) (let fnrec988 ((bindings bindings) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "destructure") bindings))) body)))) + (lambda (bindings . body) (let fnrec997 ((bindings bindings) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "destructure") bindings))) body)))) (mark-macro! "clojure.core" "let")) (guard (e (#t #f)) (def-var! "clojure.core" "loop" - (lambda (bindings . body) (let fnrec989 ((bindings bindings) (body (list->cseq body))) (let* ((d (jolt-invoke (var-deref "clojure.core" "destructure") bindings))) (if (jolt= d bindings) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "loop*")) (jolt-invoke (var-deref "clojure.core" "__sq1") bindings) body) (let* ((bs (jolt-invoke (var-deref "clojure.core" "take-nth") 2 bindings)) (vs (jolt-invoke (var-deref "clojure.core" "take-nth") 2 (jolt-drop 1 bindings))) (gs (jolt-map (lambda (b) (let fnrec990 ((b b)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") b)) b (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))))) bs)) (outer (jolt-reduce (lambda (acc t) (let fnrec991 ((acc acc) (t t)) (let* ((b (jolt-nth t 0)) (v (jolt-nth t 1)) (g (jolt-nth t 2))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") b)) (jolt-conj (jolt-conj acc g) v) (jolt-conj (jolt-conj (jolt-conj (jolt-conj acc g) v) b) g))))) (jolt-vector) (jolt-map jolt-vector bs vs gs))) (inner (jolt-reduce (lambda (acc t) (let fnrec992 ((acc acc) (t t)) (jolt-conj (jolt-conj acc (jolt-nth t 0)) (jolt-nth t 1)))) (jolt-vector) (jolt-map jolt-vector bs gs))) (loopv (jolt-reduce (lambda (acc g) (let fnrec993 ((acc acc) (g g)) (jolt-conj (jolt-conj acc g) g))) (jolt-vector) gs))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") outer)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "loop*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") loopv)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") inner)) body))))))))))) + (lambda (bindings . body) (let fnrec998 ((bindings bindings) (body (list->cseq body))) (let* ((d (jolt-invoke (var-deref "clojure.core" "destructure") bindings))) (if (jolt= d bindings) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "loop*")) (jolt-invoke (var-deref "clojure.core" "__sq1") bindings) body) (let* ((bs (jolt-invoke (var-deref "clojure.core" "take-nth") 2 bindings)) (vs (jolt-invoke (var-deref "clojure.core" "take-nth") 2 (jolt-drop 1 bindings))) (gs (jolt-map (lambda (b) (let fnrec999 ((b b)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") b)) b (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") )))))) bs)) (outer (jolt-reduce (lambda (acc t) (let fnrec1000 ((acc acc) (t t)) (let* ((b (jolt-nth t 0)) (v (jolt-nth t 1)) (g (jolt-nth t 2))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") b)) (jolt-conj (jolt-conj acc g) v) (jolt-conj (jolt-conj (jolt-conj (jolt-conj acc g) v) b) g))))) (jolt-vector) (jolt-map jolt-vector bs vs gs))) (inner (jolt-reduce (lambda (acc t) (let fnrec1001 ((acc acc) (t t)) (jolt-conj (jolt-conj acc (jolt-nth t 0)) (jolt-nth t 1)))) (jolt-vector) (jolt-map jolt-vector bs gs))) (loopv (jolt-reduce (lambda (acc g) (let fnrec1002 ((acc acc) (g g)) (jolt-conj (jolt-conj acc g) g))) (jolt-vector) gs))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") outer)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "loop*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") loopv)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") inner)) body))))))))))) (mark-macro! "clojure.core" "loop")) (guard (e (#t #f)) (def-var! "clojure.core" "fn" - (lambda raw (let fnrec994 ((raw (list->cseq raw))) (let* ((nm (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") (jolt-first raw))) (jolt-first raw) jolt-nil)) (aftn (if (jolt-truthy? nm) (jolt-next raw) raw)) (unhint (lambda (x) (let fnrec995 ((x x)) (if (jolt-truthy? (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") x)) (jolt= (jolt-symbol #f "with-meta") (jolt-first x)) #f)) (jolt-nth x 1) x)))) (md (letrec ((go (lambda (ps nps lets) (let fnrec996 ((ps ps) (nps nps) (lets lets)) (if (jolt-truthy? (jolt-seq ps)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") (jolt-first ps))) (jolt-invoke go (jolt-next ps) (jolt-conj nps (jolt-first ps)) lets) (let* ((g (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") ))))) (jolt-invoke go (jolt-next ps) (jolt-conj nps g) (jolt-conj (jolt-conj lets (jolt-first ps)) g)))) (let* ((_o$997 nps) (_o$998 lets)) (jolt-vector _o$997 _o$998))))))) go)) (mk (lambda (sig) (let fnrec999 ((sig sig)) (let* ((ps (jolt-invoke unhint (jolt-first sig))) (hinted (jolt-not (jolt= ps (jolt-first sig)))) (r (jolt-invoke md (jolt-seq ps) (jolt-vector) (jolt-vector)))) (if (jolt-truthy? (if (jolt-empty? (jolt-nth r 1)) (jolt-not hinted) #f)) sig (let* ((pv (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-nth r 0))) (lv (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-nth r 1)))) (if (jolt-empty? (jolt-nth r 1)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") pv) (jolt-rest sig)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") pv) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") lv) (jolt-rest sig)))))))))))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") (jolt-invoke unhint (jolt-first aftn)))) (let* ((a (jolt-invoke mk aftn))) (if (jolt-truthy? nm) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) (jolt-invoke (var-deref "clojure.core" "__sq1") nm) a) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) a))) (let* ((as (jolt-invoke (var-deref "clojure.core" "vec") (jolt-map mk aftn)))) (if (jolt-truthy? nm) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) (jolt-invoke (var-deref "clojure.core" "__sq1") nm) as) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) as)))))))) + (lambda raw (let fnrec1003 ((raw (list->cseq raw))) (let* ((nm (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") (jolt-first raw))) (jolt-first raw) jolt-nil)) (aftn (if (jolt-truthy? nm) (jolt-next raw) raw)) (unhint (lambda (x) (let fnrec1004 ((x x)) (if (jolt-truthy? (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") x)) (jolt= (jolt-symbol #f "with-meta") (jolt-first x)) #f)) (jolt-nth x 1) x)))) (md (letrec ((go (lambda (ps nps lets) (let fnrec1005 ((ps ps) (nps nps) (lets lets)) (if (jolt-truthy? (jolt-seq ps)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") (jolt-first ps))) (jolt-invoke go (jolt-next ps) (jolt-conj nps (jolt-first ps)) lets) (let* ((g (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") ))))) (jolt-invoke go (jolt-next ps) (jolt-conj nps g) (jolt-conj (jolt-conj lets (jolt-first ps)) g)))) (let* ((_o$1006 nps) (_o$1007 lets)) (jolt-vector _o$1006 _o$1007))))))) go)) (mk (lambda (sig) (let fnrec1008 ((sig sig)) (let* ((ps (jolt-invoke unhint (jolt-first sig))) (hinted (jolt-not (jolt= ps (jolt-first sig)))) (r (jolt-invoke md (jolt-seq ps) (jolt-vector) (jolt-vector)))) (if (jolt-truthy? (if (jolt-empty? (jolt-nth r 1)) (jolt-not hinted) #f)) sig (let* ((pv (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-nth r 0))) (lv (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-nth r 1)))) (if (jolt-empty? (jolt-nth r 1)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") pv) (jolt-rest sig)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") pv) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") lv) (jolt-rest sig)))))))))))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") (jolt-invoke unhint (jolt-first aftn)))) (let* ((a (jolt-invoke mk aftn))) (if (jolt-truthy? nm) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) (jolt-invoke (var-deref "clojure.core" "__sq1") nm) a) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) a))) (let* ((as (jolt-invoke (var-deref "clojure.core" "vec") (jolt-map mk aftn)))) (if (jolt-truthy? nm) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) (jolt-invoke (var-deref "clojure.core" "__sq1") nm) as) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) as)))))))) (mark-macro! "clojure.core" "fn")) (guard (e (#t #f)) (def-var! "clojure.core" "defn" - (lambda (fn-name . body) (let fnrec1000 ((fn-name fn-name) (body (list->cseq body))) (let* ((body (if (jolt-truthy? (let* ((and__13__auto (jolt-seq body))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "string?") (jolt-first body)) and__13__auto))) (jolt-rest body) body)) (body (if (jolt-truthy? (let* ((and__13__auto (jolt-seq body))) (if (jolt-truthy? and__13__auto) (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "map?") (jolt-first body)))) (if (jolt-truthy? and__13__auto) (jolt-not (jolt-invoke (var-deref "clojure.core" "symbol?") (jolt-first body))) and__13__auto)) and__13__auto))) (jolt-rest body) body)) (fn-only-name (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") fn-name)) fn-name (jolt-first (jolt-rest fn-name))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "def")) (jolt-invoke (var-deref "clojure.core" "__sq1") fn-name) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") fn-only-name) body))))))) + (lambda (fn-name . body) (let fnrec1009 ((fn-name fn-name) (body (list->cseq body))) (let* ((body (if (jolt-truthy? (let* ((and__13__auto (jolt-seq body))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "string?") (jolt-first body)) and__13__auto))) (jolt-rest body) body)) (body (if (jolt-truthy? (let* ((and__13__auto (jolt-seq body))) (if (jolt-truthy? and__13__auto) (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "map?") (jolt-first body)))) (if (jolt-truthy? and__13__auto) (jolt-not (jolt-invoke (var-deref "clojure.core" "symbol?") (jolt-first body))) and__13__auto)) and__13__auto))) (jolt-rest body) body)) (fn-only-name (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") fn-name)) fn-name (jolt-first (jolt-rest fn-name))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "def")) (jolt-invoke (var-deref "clojure.core" "__sq1") fn-name) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") fn-only-name) body))))))) (mark-macro! "clojure.core" "defn")) (guard (e (#t #f)) (def-var! "clojure.core" "defn-" - (lambda (fn-name . body) (let fnrec1001 ((fn-name fn-name) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "defn")) (jolt-invoke (var-deref "clojure.core" "__sq1") fn-name) body)))) + (lambda (fn-name . body) (let fnrec1010 ((fn-name fn-name) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "defn")) (jolt-invoke (var-deref "clojure.core" "__sq1") fn-name) body)))) (mark-macro! "clojure.core" "defn-")) (guard (e (#t #f)) - (def-var! "clojure.core" "fresh-sym" (letrec ((fresh-sym (lambda () (let fnrec1002 () (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") ))))))) fresh-sym))) + (def-var! "clojure.core" "fresh-sym" (letrec ((fresh-sym (lambda () (let fnrec1011 () (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") (jolt-invoke (var-deref "clojure.core" "gensym") ))))))) fresh-sym))) (guard (e (#t #f)) (def-var! "clojure.core" "cond->" - (lambda (expr . clauses) (let fnrec1003 ((expr expr) (clauses (list->cseq clauses))) (let* ((step (letrec ((step (lambda (prev cls) (let fnrec1004 ((prev prev) (cls cls)) (if (jolt-empty? cls) prev (let* ((t (jolt-first cls)) (f (jolt-nth cls 1)) (gn (jolt-invoke (var-deref "clojure.core" "fresh-sym") )) (call (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") f)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first f)) (jolt-invoke (var-deref "clojure.core" "__sq1") prev) (jolt-rest f)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") f) (jolt-invoke (var-deref "clojure.core" "__sq1") prev))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") gn) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") t) (jolt-invoke (var-deref "clojure.core" "__sq1") call) (jolt-invoke (var-deref "clojure.core" "__sq1") prev))))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke step gn (jolt-drop 2 cls)))))))))) step)) (g0 (jolt-invoke (var-deref "clojure.core" "fresh-sym") ))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") g0) (jolt-invoke (var-deref "clojure.core" "__sq1") expr))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke step g0 clauses))))))) + (lambda (expr . clauses) (let fnrec1012 ((expr expr) (clauses (list->cseq clauses))) (let* ((step (letrec ((step (lambda (prev cls) (let fnrec1013 ((prev prev) (cls cls)) (if (jolt-empty? cls) prev (let* ((t (jolt-first cls)) (f (jolt-nth cls 1)) (gn (jolt-invoke (var-deref "clojure.core" "fresh-sym") )) (call (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") f)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-first f)) (jolt-invoke (var-deref "clojure.core" "__sq1") prev) (jolt-rest f)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") f) (jolt-invoke (var-deref "clojure.core" "__sq1") prev))))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") gn) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") t) (jolt-invoke (var-deref "clojure.core" "__sq1") call) (jolt-invoke (var-deref "clojure.core" "__sq1") prev))))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke step gn (jolt-drop 2 cls)))))))))) step)) (g0 (jolt-invoke (var-deref "clojure.core" "fresh-sym") ))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") g0) (jolt-invoke (var-deref "clojure.core" "__sq1") expr))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke step g0 clauses))))))) (mark-macro! "clojure.core" "cond->")) (guard (e (#t #f)) (def-var! "clojure.core" "case" - (lambda (expr . clauses) (let fnrec1005 ((expr expr) (clauses (list->cseq clauses))) (let* ((g (jolt-invoke (var-deref "clojure.core" "fresh-sym") )) (mk-const (lambda (c) (let fnrec1006 ((c c)) (if (jolt-truthy? (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "symbol?") c))) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-invoke (var-deref "clojure.core" "seq?") c)))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") c)) c)))) (mk-test (lambda (c) (let fnrec1007 ((c c)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") c)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "or")) (jolt-map (lambda (v) (let fnrec1008 ((v v)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "=")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke mk-const v))))) c)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "=")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke mk-const c))))))) (collect (letrec ((collect (lambda (cls acc) (let fnrec1009 ((cls cls) (acc acc)) (if (jolt-truthy? (let* ((or__14__auto (jolt-empty? cls))) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-empty? (jolt-rest cls))))) acc (let* ((t (jolt-first cls)) (acc (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") t)) (jolt-reduce jolt-conj acc t) (jolt-conj acc t)))) (jolt-invoke collect (jolt-drop 2 cls) acc))))))) collect)) (first-dup (letrec ((fd (lambda (items seen) (let fnrec1010 ((items items) (seen seen)) (if (jolt-empty? items) jolt-nil (let* ((x (jolt-first items))) (if (jolt-truthy? (jolt-reduce (lambda (f s) (let fnrec1011 ((f f) (s s)) (let* ((or__14__auto f)) (if (jolt-truthy? or__14__auto) or__14__auto (jolt= s x))))) #f seen)) (jolt-vector x) (jolt-invoke fd (jolt-rest items) (jolt-conj seen x))))))))) fd)) (dup (jolt-invoke first-dup (jolt-invoke collect clauses (jolt-vector)) (jolt-vector))) (build (letrec ((build (lambda (cls) (let fnrec1012 ((cls cls)) (if (jolt-empty? cls) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "throw")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "ex-info")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "str")) (jolt-invoke (var-deref "clojure.core" "__sq1") "No matching clause: ") (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqmap") ))))) (if (jolt-empty? (jolt-rest cls)) (jolt-first cls) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke mk-test (jolt-first cls))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth cls 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke build (jolt-drop 2 cls)))))))))) build))) (if (jolt-truthy? dup) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "Duplicate case test constant: " (jolt-first dup))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") expr))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke build clauses)))))))) + (lambda (expr . clauses) (let fnrec1014 ((expr expr) (clauses (list->cseq clauses))) (let* ((g (jolt-invoke (var-deref "clojure.core" "fresh-sym") )) (mk-const (lambda (c) (let fnrec1015 ((c c)) (if (jolt-truthy? (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "symbol?") c))) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-invoke (var-deref "clojure.core" "seq?") c)))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "quote")) (jolt-invoke (var-deref "clojure.core" "__sq1") c)) c)))) (mk-test (lambda (c) (let fnrec1016 ((c c)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") c)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "or")) (jolt-map (lambda (v) (let fnrec1017 ((v v)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "=")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke mk-const v))))) c)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "=")) (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke mk-const c))))))) (collect (letrec ((collect (lambda (cls acc) (let fnrec1018 ((cls cls) (acc acc)) (if (jolt-truthy? (let* ((or__14__auto (jolt-empty? cls))) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-empty? (jolt-rest cls))))) acc (let* ((t (jolt-first cls)) (acc (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") t)) (jolt-reduce jolt-conj acc t) (jolt-conj acc t)))) (jolt-invoke collect (jolt-drop 2 cls) acc))))))) collect)) (first-dup (letrec ((fd (lambda (items seen) (let fnrec1019 ((items items) (seen seen)) (if (jolt-empty? items) jolt-nil (let* ((x (jolt-first items))) (if (jolt-truthy? (jolt-reduce (lambda (f s) (let fnrec1020 ((f f) (s s)) (let* ((or__14__auto f)) (if (jolt-truthy? or__14__auto) or__14__auto (jolt= s x))))) #f seen)) (jolt-vector x) (jolt-invoke fd (jolt-rest items) (jolt-conj seen x))))))))) fd)) (dup (jolt-invoke first-dup (jolt-invoke collect clauses (jolt-vector)) (jolt-vector))) (build (letrec ((build (lambda (cls) (let fnrec1021 ((cls cls)) (if (jolt-empty? cls) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "throw")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "ex-info")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "str")) (jolt-invoke (var-deref "clojure.core" "__sq1") "No matching clause: ") (jolt-invoke (var-deref "clojure.core" "__sq1") g))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqmap") ))))) (if (jolt-empty? (jolt-rest cls)) (jolt-first cls) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke mk-test (jolt-first cls))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth cls 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke build (jolt-drop 2 cls)))))))))) build))) (if (jolt-truthy? dup) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "Duplicate case test constant: " (jolt-first dup))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") g) (jolt-invoke (var-deref "clojure.core" "__sq1") expr))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke build clauses)))))))) (mark-macro! "clojure.core" "case")) (guard (e (#t #f)) (def-var! "clojure.core" "for" - (lambda (bindings body) (let fnrec1013 ((bindings bindings) (body body)) (let* ((scan (letrec ((scan (lambda (bvec i bind coll mods) (let fnrec1014 ((bvec bvec) (i i) (bind bind) (coll coll) (mods mods)) (if (jolt-truthy? (let* ((and__13__auto (< i (jolt-count bvec)))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "keyword?") (jolt-nth bvec i)) and__13__auto))) (let* ((k (jolt-nth bvec i)) (v (jolt-nth bvec (jolt-inc i)))) (if (jolt= k (keyword #f "when")) (jolt-invoke scan bvec (+ i 2) bind coll (jolt-conj mods (let* ((_o$1021 (keyword #f "when")) (_o$1022 v)) (jolt-vector _o$1021 _o$1022)))) (if (jolt= k (keyword #f "let")) (jolt-invoke scan bvec (+ i 2) bind coll (jolt-conj mods (let* ((_o$1019 (keyword #f "let")) (_o$1020 v)) (jolt-vector _o$1019 _o$1020)))) (if (jolt= k (keyword #f "while")) (jolt-invoke scan bvec (+ i 2) bind (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "take-while")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") bind))) (jolt-invoke (var-deref "clojure.core" "__sq1") v))) (jolt-invoke (var-deref "clojure.core" "__sq1") coll)) mods) (if (jolt-truthy? (keyword #f "else")) (jolt-invoke scan bvec (jolt-inc i) bind coll mods) jolt-nil))))) (let* ((_o$1015 i) (_o$1016 bind) (_o$1017 coll) (_o$1018 mods)) (jolt-vector _o$1015 _o$1016 _o$1017 _o$1018))))))) scan)) (parse-groups (letrec ((parse-groups (lambda (bvec i groups) (let fnrec1023 ((bvec bvec) (i i) (groups groups)) (if (>= i (jolt-count bvec)) groups (let* ((r (jolt-invoke scan bvec (+ i 2) (jolt-nth bvec i) (jolt-nth bvec (jolt-inc i)) (jolt-vector)))) (jolt-invoke parse-groups bvec (jolt-nth r 0) (jolt-conj groups (let* ((_o$1024 (jolt-nth r 1)) (_o$1025 (jolt-nth r 2)) (_o$1026 (jolt-nth r 3))) (jolt-vector _o$1024 _o$1025 _o$1026)))))))))) parse-groups)) (wrap-mods (letrec ((wrap-mods (lambda (mods inner) (let fnrec1027 ((mods mods) (inner inner)) (if (jolt-empty? mods) inner (let* ((m (jolt-first mods)) (sub (jolt-invoke wrap-mods (jolt-rest mods) inner))) (if (jolt= (jolt-first m) (keyword #f "when")) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth m 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") sub) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") ))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth m 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") sub))))))))) wrap-mods)) (build (letrec ((build (lambda (idx groups) (let fnrec1028 ((idx idx) (groups groups)) (let* ((g (jolt-nth groups idx)) (my-bind (jolt-nth g 0)) (my-coll (jolt-nth g 1)) (my-mods (jolt-nth g 2)) (is-last (jolt= idx (jolt-dec (jolt-count groups))))) (if (jolt-truthy? (let* ((and__13__auto is-last)) (if (jolt-truthy? and__13__auto) (jolt-empty? my-mods) and__13__auto))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "map")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") my-bind))) (jolt-invoke (var-deref "clojure.core" "__sq1") body))) (jolt-invoke (var-deref "clojure.core" "__sq1") my-coll)) (let* ((base (if (jolt-truthy? is-last) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "list")) (jolt-invoke (var-deref "clojure.core" "__sq1") body)) (jolt-invoke build (jolt-inc idx) groups)))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "mapcat")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") my-bind))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke wrap-mods my-mods base)))) (jolt-invoke (var-deref "clojure.core" "__sq1") my-coll))))))))) build))) (if (>= (jolt-count bindings) 2) (jolt-invoke build 0 (jolt-invoke parse-groups bindings 0 (jolt-vector))) body))))) + (lambda (bindings body) (let fnrec1022 ((bindings bindings) (body body)) (let* ((scan (letrec ((scan (lambda (bvec i bind coll mods) (let fnrec1023 ((bvec bvec) (i i) (bind bind) (coll coll) (mods mods)) (if (jolt-truthy? (let* ((and__13__auto (< i (jolt-count bvec)))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "keyword?") (jolt-nth bvec i)) and__13__auto))) (let* ((k (jolt-nth bvec i)) (v (jolt-nth bvec (jolt-inc i)))) (if (jolt= k (keyword #f "when")) (jolt-invoke scan bvec (+ i 2) bind coll (jolt-conj mods (let* ((_o$1030 (keyword #f "when")) (_o$1031 v)) (jolt-vector _o$1030 _o$1031)))) (if (jolt= k (keyword #f "let")) (jolt-invoke scan bvec (+ i 2) bind coll (jolt-conj mods (let* ((_o$1028 (keyword #f "let")) (_o$1029 v)) (jolt-vector _o$1028 _o$1029)))) (if (jolt= k (keyword #f "while")) (jolt-invoke scan bvec (+ i 2) bind (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "take-while")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") bind))) (jolt-invoke (var-deref "clojure.core" "__sq1") v))) (jolt-invoke (var-deref "clojure.core" "__sq1") coll)) mods) (if (jolt-truthy? (keyword #f "else")) (jolt-invoke scan bvec (jolt-inc i) bind coll mods) jolt-nil))))) (let* ((_o$1024 i) (_o$1025 bind) (_o$1026 coll) (_o$1027 mods)) (jolt-vector _o$1024 _o$1025 _o$1026 _o$1027))))))) scan)) (parse-groups (letrec ((parse-groups (lambda (bvec i groups) (let fnrec1032 ((bvec bvec) (i i) (groups groups)) (if (>= i (jolt-count bvec)) groups (let* ((r (jolt-invoke scan bvec (+ i 2) (jolt-nth bvec i) (jolt-nth bvec (jolt-inc i)) (jolt-vector)))) (jolt-invoke parse-groups bvec (jolt-nth r 0) (jolt-conj groups (let* ((_o$1033 (jolt-nth r 1)) (_o$1034 (jolt-nth r 2)) (_o$1035 (jolt-nth r 3))) (jolt-vector _o$1033 _o$1034 _o$1035)))))))))) parse-groups)) (wrap-mods (letrec ((wrap-mods (lambda (mods inner) (let fnrec1036 ((mods mods) (inner inner)) (if (jolt-empty? mods) inner (let* ((m (jolt-first mods)) (sub (jolt-invoke wrap-mods (jolt-rest mods) inner))) (if (jolt= (jolt-first m) (keyword #f "when")) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth m 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") sub) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") ))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "let*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-nth m 1)) (jolt-invoke (var-deref "clojure.core" "__sq1") sub))))))))) wrap-mods)) (build (letrec ((build (lambda (idx groups) (let fnrec1037 ((idx idx) (groups groups)) (let* ((g (jolt-nth groups idx)) (my-bind (jolt-nth g 0)) (my-coll (jolt-nth g 1)) (my-mods (jolt-nth g 2)) (is-last (jolt= idx (jolt-dec (jolt-count groups))))) (if (jolt-truthy? (let* ((and__13__auto is-last)) (if (jolt-truthy? and__13__auto) (jolt-empty? my-mods) and__13__auto))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "map")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") my-bind))) (jolt-invoke (var-deref "clojure.core" "__sq1") body))) (jolt-invoke (var-deref "clojure.core" "__sq1") my-coll)) (let* ((base (if (jolt-truthy? is-last) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "list")) (jolt-invoke (var-deref "clojure.core" "__sq1") body)) (jolt-invoke build (jolt-inc idx) groups)))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "mapcat")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "fn")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") my-bind))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke wrap-mods my-mods base)))) (jolt-invoke (var-deref "clojure.core" "__sq1") my-coll))))))))) build))) (if (>= (jolt-count bindings) 2) (jolt-invoke build 0 (jolt-invoke parse-groups bindings 0 (jolt-vector))) body))))) (mark-macro! "clojure.core" "for")) (guard (e (#t #f)) (def-var! "clojure.core" "doseq" - (lambda (bindings . body) (let fnrec1029 ((bindings bindings) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "count")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "for")) (jolt-invoke (var-deref "clojure.core" "__sq1") bindings) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil))))))) (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil))))) + (lambda (bindings . body) (let fnrec1038 ((bindings bindings) (body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "count")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "for")) (jolt-invoke (var-deref "clojure.core" "__sq1") bindings) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil))))))) (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil))))) (mark-macro! "clojure.core" "doseq")) (guard (e (#t #f)) (def-var! "clojure.core" "when-let" - (lambda (bindings . body) (let fnrec1030 ((bindings bindings) (body (list->cseq body))) (let* ((form (jolt-invoke bindings 0)) (tst (jolt-invoke bindings 1))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "temp__15__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") tst))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "temp__15__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") form) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "temp__15__auto")))) body)) (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil)))))))) + (lambda (bindings . body) (let fnrec1039 ((bindings bindings) (body (list->cseq body))) (let* ((form (jolt-invoke bindings 0)) (tst (jolt-invoke bindings 1))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "temp__15__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") tst))) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "if")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "temp__15__auto")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "let")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") (jolt-invoke (var-deref "clojure.core" "__sq1") form) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "temp__15__auto")))) body)) (jolt-invoke (var-deref "clojure.core" "__sq1") jolt-nil)))))))) (mark-macro! "clojure.core" "when-let")) (guard (e (#t #f)) (def-var! "clojure.core" "lazy-seq" - (lambda body (let fnrec1031 ((body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "make-lazy-seq")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") )) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "coll->cells")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body)))))))))) + (lambda body (let fnrec1040 ((body (list->cseq body))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "make-lazy-seq")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "fn*")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqvec") )) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "coll->cells")) (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol #f "do")) body)))))))))) (mark-macro! "clojure.core" "lazy-seq")) (guard (e (#t #f)) (def-var! "clojure.core" "lazy-cat" - (lambda colls (let fnrec1032 ((colls (list->cseq colls))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "concat")) (jolt-map (lambda (c) (let fnrec1033 ((c c)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "lazy-seq")) (jolt-invoke (var-deref "clojure.core" "__sq1") c)))) colls))))) + (lambda colls (let fnrec1041 ((colls (list->cseq colls))) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "concat")) (jolt-map (lambda (c) (let fnrec1042 ((c c)) (jolt-invoke (var-deref "clojure.core" "__sqcat") (jolt-invoke (var-deref "clojure.core" "__sq1") (jolt-symbol "clojure.core" "lazy-seq")) (jolt-invoke (var-deref "clojure.core" "__sq1") c)))) colls))))) (mark-macro! "clojure.core" "lazy-cat")) (guard (e (#t #f)) - (def-var! "clojure.core" "not=" (letrec ((not= (case-lambda ((x) (let fnrec1034 ((x x)) #f)) ((x y) (let fnrec1035 ((x x) (y y)) (jolt-not (jolt= x y)))) ((x y . more) (let fnrec1036 ((x x) (y y) (more (list->cseq more))) (jolt-not (jolt-apply jolt= x y more))))))) not=))) + (def-var! "clojure.core" "not=" (letrec ((not= (case-lambda ((x) (let fnrec1043 ((x x)) #f)) ((x y) (let fnrec1044 ((x x) (y y)) (jolt-not (jolt= x y)))) ((x y . more) (let fnrec1045 ((x x) (y y) (more (list->cseq more))) (jolt-not (jolt-apply jolt= x y more))))))) not=))) (guard (e (#t #f)) - (def-var! "clojure.core" "unreduced" (letrec ((unreduced (lambda (x) (let fnrec1037 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "reduced?") x)) (jolt-invoke (var-deref "clojure.core" "deref") x) x))))) unreduced))) + (def-var! "clojure.core" "unreduced" (letrec ((unreduced (lambda (x) (let fnrec1046 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "reduced?") x)) (jolt-invoke (var-deref "clojure.core" "deref") x) x))))) unreduced))) (guard (e (#t #f)) - (def-var! "clojure.core" "second" (letrec ((second (lambda (coll) (let fnrec1038 ((coll coll)) (jolt-first (jolt-next coll)))))) second))) + (def-var! "clojure.core" "second" (letrec ((second (lambda (coll) (let fnrec1047 ((coll coll)) (jolt-first (jolt-next coll)))))) second))) (guard (e (#t #f)) - (def-var! "clojure.core" "peek" (letrec ((peek (lambda (coll) (let fnrec1039 ((coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) jolt-nil (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (if (jolt-zero? (jolt-count coll)) jolt-nil (jolt-nth coll (jolt-dec (jolt-count coll)))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") coll)) (jolt-first coll) (if (jolt-truthy? (keyword #f "else")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "peek not supported on: " coll)) jolt-nil)))))))) peek))) + (def-var! "clojure.core" "peek" (letrec ((peek (lambda (coll) (let fnrec1048 ((coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) jolt-nil (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (if (jolt-zero? (jolt-count coll)) jolt-nil (jolt-nth coll (jolt-dec (jolt-count coll)))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "seq?") coll)) (jolt-first coll) (if (jolt-truthy? (keyword #f "else")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "peek not supported on: " coll)) jolt-nil)))))))) peek))) (guard (e (#t #f)) - (def-var! "clojure.core" "subvec" (letrec ((subvec (case-lambda ((v start) (let fnrec1040 ((v v) (start start)) (jolt-invoke subvec v start (jolt-count v)))) ((v start end) (let fnrec1041 ((v v) (start start) (end end)) (begin (if (jolt-not (jolt-invoke (var-deref "clojure.core" "vector?") v)) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "subvec requires a vector")) jolt-nil) (let* ((coerce (lambda (x) (let fnrec1043 ((x x)) (if (jolt-not (jolt-invoke (var-deref "clojure.core" "number?") x)) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "subvec index must be a number")) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "not=") x x)) 0 (if (jolt-truthy? (keyword #f "else")) (jolt-invoke (var-deref "clojure.core" "long") x) jolt-nil)))))) (s (jolt-invoke coerce start)) (e (jolt-invoke coerce end))) (begin (if (jolt-truthy? (let* ((or__14__auto (< s 0))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (< e s))) (if (jolt-truthy? or__14__auto) or__14__auto (< (jolt-count v) e)))))) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "subvec index out of range: " s " " e)) jolt-nil) (let* ((i s) (acc (jolt-vector))) (let loop1042 ((i i) (acc acc)) (if (< i e) (loop1042 (jolt-inc i) (jolt-conj acc (jolt-nth v i))) acc))))))))))) subvec))) + (def-var! "clojure.core" "subvec" (letrec ((subvec (case-lambda ((v start) (let fnrec1049 ((v v) (start start)) (jolt-invoke subvec v start (jolt-count v)))) ((v start end) (let fnrec1050 ((v v) (start start) (end end)) (begin (if (jolt-not (jolt-invoke (var-deref "clojure.core" "vector?") v)) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "subvec requires a vector")) jolt-nil) (let* ((coerce (lambda (x) (let fnrec1052 ((x x)) (if (jolt-not (jolt-invoke (var-deref "clojure.core" "number?") x)) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "subvec index must be a number")) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "not=") x x)) 0 (if (jolt-truthy? (keyword #f "else")) (jolt-invoke (var-deref "clojure.core" "long") x) jolt-nil)))))) (s (jolt-invoke coerce start)) (e (jolt-invoke coerce end))) (begin (if (jolt-truthy? (let* ((or__14__auto (< s 0))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (< e s))) (if (jolt-truthy? or__14__auto) or__14__auto (< (jolt-count v) e)))))) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "subvec index out of range: " s " " e)) jolt-nil) (let* ((i s) (acc (jolt-vector))) (let loop1051 ((i i) (acc acc)) (if (< i e) (loop1051 (jolt-inc i) (jolt-conj acc (jolt-nth v i))) acc))))))))))) subvec))) (guard (e (#t #f)) - (def-var! "clojure.core" "mapv" (letrec ((mapv (lambda (f . colls) (let fnrec1044 ((f f) (colls (list->cseq colls))) (jolt-invoke (var-deref "clojure.core" "vec") (jolt-apply jolt-map f colls)))))) mapv))) + (def-var! "clojure.core" "mapv" (letrec ((mapv (lambda (f . colls) (let fnrec1053 ((f f) (colls (list->cseq colls))) (jolt-invoke (var-deref "clojure.core" "vec") (jolt-apply jolt-map f colls)))))) mapv))) (guard (e (#t #f)) - (def-var! "clojure.core" "update" (letrec ((update (lambda (m k f . args) (let fnrec1045 ((m m) (k k) (f f) (args (list->cseq args))) (jolt-assoc m k (jolt-apply f (jolt-get m k) args)))))) update))) + (def-var! "clojure.core" "update" (letrec ((update (lambda (m k f . args) (let fnrec1054 ((m m) (k k) (f f) (args (list->cseq args))) (jolt-assoc m k (jolt-apply f (jolt-get m k) args)))))) update))) (guard (e (#t #f)) (def-var! "clojure.core" "vreset!" (letrec ((vreset! (lambda (vol newval) (let fnrec498 ((vol vol) (newval newval)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") vol (keyword #f "val") newval) newval))))) vreset!))) (guard (e (#t #f)) @@ -371,129 +371,129 @@ (guard (e (#t #f)) (def-var! "clojure.core" "rationalize" (letrec ((rationalize (lambda (x) (let fnrec759 ((x x)) x)))) rationalize))) (guard (e (#t #f)) - (def-var! "clojure.core" "dedupe" (letrec ((dedupe (lambda (coll) (let fnrec760 ((coll coll)) (let* ((step (letrec ((step (lambda (s prev) (let fnrec762 ((s s) (prev prev)) (jolt-invoke (var-deref "clojure.core" "make-lazy-seq") (lambda () (let fnrec763 () (let* ((s (jolt-seq s))) (if (jolt-truthy? s) (let* ((x (jolt-first s))) (if (jolt= x prev) (jolt-invoke (var-deref "clojure.core" "coll->cells") (jolt-invoke step (jolt-rest s) prev)) (jolt-invoke (var-deref "clojure.core" "coll->cells") (jolt-cons x (jolt-invoke step (jolt-rest s) x))))) jolt-nil))))))))) step))) (let* ((s (jolt-seq coll))) (if (jolt-truthy? s) (jolt-invoke (var-deref "clojure.core" "make-lazy-seq") (lambda () (let fnrec761 () (jolt-invoke (var-deref "clojure.core" "coll->cells") (jolt-cons (jolt-first s) (jolt-invoke step (jolt-rest s) (jolt-first s))))))) (jolt-list )))))))) dedupe))) + (def-var! "clojure.core" "dedupe" (letrec ((dedupe (case-lambda (() (let fnrec760 () (lambda (rf) (let fnrec761 ((rf rf)) (let* ((pv (jolt-invoke (var-deref "clojure.core" "volatile!") (let* ((_o$767 #f) (_o$768 jolt-nil)) (jolt-vector _o$767 _o$768))))) (case-lambda (() (let fnrec762 () (jolt-invoke rf ))) ((result) (let fnrec763 ((result result)) (jolt-invoke rf result))) ((result input) (let fnrec764 ((result result) (input input)) (let* ((G__29 (jolt-invoke (var-deref "clojure.core" "deref") pv)) (seen (jolt-nth G__29 0 jolt-nil)) (prior (jolt-nth G__29 1 jolt-nil))) (begin (jolt-invoke (var-deref "clojure.core" "vreset!") pv (let* ((_o$765 #t) (_o$766 input)) (jolt-vector _o$765 _o$766))) (if (jolt-truthy? (let* ((and__13__auto seen)) (if (jolt-truthy? and__13__auto) (jolt= prior input) and__13__auto))) result (jolt-invoke rf result input)))))))))))) ((coll) (let fnrec769 ((coll coll)) (let* ((step (letrec ((step (lambda (s prev) (let fnrec771 ((s s) (prev prev)) (jolt-invoke (var-deref "clojure.core" "make-lazy-seq") (lambda () (let fnrec772 () (let* ((s (jolt-seq s))) (if (jolt-truthy? s) (let* ((x (jolt-first s))) (if (jolt= x prev) (jolt-invoke (var-deref "clojure.core" "coll->cells") (jolt-invoke step (jolt-rest s) prev)) (jolt-invoke (var-deref "clojure.core" "coll->cells") (jolt-cons x (jolt-invoke step (jolt-rest s) x))))) jolt-nil))))))))) step))) (let* ((s (jolt-seq coll))) (if (jolt-truthy? s) (jolt-invoke (var-deref "clojure.core" "make-lazy-seq") (lambda () (let fnrec770 () (jolt-invoke (var-deref "clojure.core" "coll->cells") (jolt-cons (jolt-first s) (jolt-invoke step (jolt-rest s) (jolt-first s))))))) (jolt-list ))))))))) dedupe))) (guard (e (#t #f)) - (def-var! "clojure.core" "seq-to-map-for-destructuring" (letrec ((seq-to-map-for-destructuring (lambda (s) (let fnrec764 ((s s)) (if (jolt-truthy? (jolt-next s)) (let* ((m (jolt-hash-map)) (xs (jolt-seq s))) (let loop765 ((m m) (xs xs)) (if (jolt-truthy? xs) (if (jolt-truthy? (jolt-next xs)) (loop765 (jolt-assoc m (jolt-first xs) (jolt-invoke (var-deref "clojure.core" "second") xs)) (jolt-invoke (var-deref "clojure.core" "nnext") xs)) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "No value supplied for key: " (jolt-first xs)))) m))) (if (jolt-truthy? (jolt-seq s)) (jolt-first s) (jolt-hash-map))))))) seq-to-map-for-destructuring))) + (def-var! "clojure.core" "seq-to-map-for-destructuring" (letrec ((seq-to-map-for-destructuring (lambda (s) (let fnrec773 ((s s)) (if (jolt-truthy? (jolt-next s)) (let* ((m (jolt-hash-map)) (xs (jolt-seq s))) (let loop774 ((m m) (xs xs)) (if (jolt-truthy? xs) (if (jolt-truthy? (jolt-next xs)) (loop774 (jolt-assoc m (jolt-first xs) (jolt-invoke (var-deref "clojure.core" "second") xs)) (jolt-invoke (var-deref "clojure.core" "nnext") xs)) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "No value supplied for key: " (jolt-first xs)))) m))) (if (jolt-truthy? (jolt-seq s)) (jolt-first s) (jolt-hash-map))))))) seq-to-map-for-destructuring))) (guard (e (#t #f)) - (def-var! "clojure.core" "vary-meta" (letrec ((vary-meta (lambda (obj f . args) (let fnrec766 ((obj obj) (f f) (args (list->cseq args))) (jolt-invoke (var-deref "clojure.core" "with-meta") obj (jolt-apply f (jolt-invoke (var-deref "clojure.core" "meta") obj) args)))))) vary-meta))) + (def-var! "clojure.core" "vary-meta" (letrec ((vary-meta (lambda (obj f . args) (let fnrec775 ((obj obj) (f f) (args (list->cseq args))) (jolt-invoke (var-deref "clojure.core" "with-meta") obj (jolt-apply f (jolt-invoke (var-deref "clojure.core" "meta") obj) args)))))) vary-meta))) (guard (e (#t #f)) - (def-var! "clojure.core" "namespace-munge" (letrec ((namespace-munge (lambda (s) (let fnrec767 ((s s)) (jolt-apply (var-deref "clojure.core" "str") (jolt-map (lambda (c) (let fnrec768 ((c c)) (if (jolt= c (integer->char 45)) (integer->char 95) c))) (jolt-seq (jolt-invoke (var-deref "clojure.core" "str") s)))))))) namespace-munge))) + (def-var! "clojure.core" "namespace-munge" (letrec ((namespace-munge (lambda (s) (let fnrec776 ((s s)) (jolt-apply (var-deref "clojure.core" "str") (jolt-map (lambda (c) (let fnrec777 ((c c)) (if (jolt= c (integer->char 45)) (integer->char 95) c))) (jolt-seq (jolt-invoke (var-deref "clojure.core" "str") s)))))))) namespace-munge))) (guard (e (#t #f)) - (def-var! "clojure.core" "reduce-kv" (letrec ((reduce-kv (lambda (f init coll) (let fnrec769 ((f f) (init init) (coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (jolt-reduce (lambda (acc i) (let fnrec771 ((acc acc) (i i)) (jolt-invoke f acc i (jolt-nth coll i)))) init (jolt-range (jolt-count coll))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") coll)) (jolt-reduce (lambda (acc k) (let fnrec770 ((acc acc) (k k)) (jolt-invoke f acc k (jolt-get coll k)))) init (jolt-keys coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) init (if (jolt-truthy? (keyword #f "else")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "reduce-kv not supported on: " coll)) jolt-nil)))))))) reduce-kv))) + (def-var! "clojure.core" "reduce-kv" (letrec ((reduce-kv (lambda (f init coll) (let fnrec778 ((f f) (init init) (coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (jolt-reduce (lambda (acc i) (let fnrec780 ((acc acc) (i i)) (jolt-invoke f acc i (jolt-nth coll i)))) init (jolt-range (jolt-count coll))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") coll)) (jolt-reduce (lambda (acc k) (let fnrec779 ((acc acc) (k k)) (jolt-invoke f acc k (jolt-get coll k)))) init (jolt-keys coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) init (if (jolt-truthy? (keyword #f "else")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "reduce-kv not supported on: " coll)) jolt-nil)))))))) reduce-kv))) (guard (e (#t #f)) - (def-var! "clojure.core" "ex-info-val?" (letrec ((ex-info-val? (lambda (x) (let fnrec772 ((x x)) (jolt= (jolt-get x (keyword "jolt" "type")) (keyword "jolt" "ex-info")))))) ex-info-val?))) + (def-var! "clojure.core" "ex-info-val?" (letrec ((ex-info-val? (lambda (x) (let fnrec781 ((x x)) (jolt= (jolt-get x (keyword "jolt" "type")) (keyword "jolt" "ex-info")))))) ex-info-val?))) (guard (e (#t #f)) - (def-var! "clojure.core" "ex-unwrap" (letrec ((ex-unwrap (lambda (e) (let fnrec773 ((e e)) (if (jolt= (jolt-get e (keyword "jolt" "type")) (keyword "jolt" "exception")) (jolt-get e (keyword #f "value")) e))))) ex-unwrap))) + (def-var! "clojure.core" "ex-unwrap" (letrec ((ex-unwrap (lambda (e) (let fnrec782 ((e e)) (if (jolt= (jolt-get e (keyword "jolt" "type")) (keyword "jolt" "exception")) (jolt-get e (keyword #f "value")) e))))) ex-unwrap))) (guard (e (#t #f)) - (def-var! "clojure.core" "ex-data" (letrec ((ex-data (lambda (e) (let fnrec774 ((e e)) (let* ((e (jolt-invoke (var-deref "clojure.core" "ex-unwrap") e))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "ex-info-val?") e)) (jolt-get e (keyword #f "data")) jolt-nil)))))) ex-data))) + (def-var! "clojure.core" "ex-data" (letrec ((ex-data (lambda (e) (let fnrec783 ((e e)) (let* ((e (jolt-invoke (var-deref "clojure.core" "ex-unwrap") e))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "ex-info-val?") e)) (jolt-get e (keyword #f "data")) jolt-nil)))))) ex-data))) (guard (e (#t #f)) - (def-var! "clojure.core" "ex-message" (letrec ((ex-message (lambda (e) (let fnrec775 ((e e)) (let* ((e (jolt-invoke (var-deref "clojure.core" "ex-unwrap") e))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "ex-info-val?") e)) (jolt-get e (keyword #f "message")) (if (jolt-truthy? (keyword #f "else")) jolt-nil jolt-nil))))))) ex-message))) + (def-var! "clojure.core" "ex-message" (letrec ((ex-message (lambda (e) (let fnrec784 ((e e)) (let* ((e (jolt-invoke (var-deref "clojure.core" "ex-unwrap") e))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "ex-info-val?") e)) (jolt-get e (keyword #f "message")) (if (jolt-truthy? (keyword #f "else")) jolt-nil jolt-nil))))))) ex-message))) (guard (e (#t #f)) - (def-var! "clojure.core" "ex-cause" (letrec ((ex-cause (lambda (e) (let fnrec776 ((e e)) (let* ((e (jolt-invoke (var-deref "clojure.core" "ex-unwrap") e))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "ex-info-val?") e)) (jolt-get e (keyword #f "cause")) jolt-nil)))))) ex-cause))) + (def-var! "clojure.core" "ex-cause" (letrec ((ex-cause (lambda (e) (let fnrec785 ((e e)) (let* ((e (jolt-invoke (var-deref "clojure.core" "ex-unwrap") e))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "ex-info-val?") e)) (jolt-get e (keyword #f "cause")) jolt-nil)))))) ex-cause))) (guard (e (#t #f)) - (def-var! "clojure.core" "inst-ms" (letrec ((inst-ms (lambda (x) (let fnrec777 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "inst?") x)) (jolt-get x (keyword #f "ms")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "inst-ms requires an inst, got: " x))))))) inst-ms))) + (def-var! "clojure.core" "inst-ms" (letrec ((inst-ms (lambda (x) (let fnrec786 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "inst?") x)) (jolt-get x (keyword #f "ms")) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "inst-ms requires an inst, got: " x))))))) inst-ms))) (guard (e (#t #f)) - (def-var! "clojure.core" "update-keys" (letrec ((update-keys (lambda (m f) (let fnrec778 ((m m) (f f)) (jolt-invoke (var-deref "clojure.core" "reduce-kv") (lambda (acc k v) (let fnrec779 ((acc acc) (k k) (v v)) (jolt-assoc acc (jolt-invoke f k) v))) (jolt-hash-map ) m))))) update-keys))) + (def-var! "clojure.core" "update-keys" (letrec ((update-keys (lambda (m f) (let fnrec787 ((m m) (f f)) (jolt-invoke (var-deref "clojure.core" "reduce-kv") (lambda (acc k v) (let fnrec788 ((acc acc) (k k) (v v)) (jolt-assoc acc (jolt-invoke f k) v))) (jolt-hash-map ) m))))) update-keys))) (guard (e (#t #f)) - (def-var! "clojure.core" "update-vals" (letrec ((update-vals (lambda (m f) (let fnrec780 ((m m) (f f)) (jolt-invoke (var-deref "clojure.core" "reduce-kv") (lambda (acc k v) (let fnrec781 ((acc acc) (k k) (v v)) (jolt-assoc acc k (jolt-invoke f v)))) (jolt-hash-map ) m))))) update-vals))) + (def-var! "clojure.core" "update-vals" (letrec ((update-vals (lambda (m f) (let fnrec789 ((m m) (f f)) (jolt-invoke (var-deref "clojure.core" "reduce-kv") (lambda (acc k v) (let fnrec790 ((acc acc) (k k) (v v)) (jolt-assoc acc k (jolt-invoke f v)))) (jolt-hash-map ) m))))) update-vals))) (guard (e (#t #f)) - (def-var! "clojure.core" "partitionv" (letrec ((partitionv (case-lambda ((n coll) (let fnrec782 ((n n) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition") n coll)))) ((n step coll) (let fnrec783 ((n n) (step step) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition") n step coll)))) ((n step pad coll) (let fnrec784 ((n n) (step step) (pad pad) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition") n step pad coll))))))) partitionv))) + (def-var! "clojure.core" "partitionv" (letrec ((partitionv (case-lambda ((n coll) (let fnrec791 ((n n) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition") n coll)))) ((n step coll) (let fnrec792 ((n n) (step step) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition") n step coll)))) ((n step pad coll) (let fnrec793 ((n n) (step step) (pad pad) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition") n step pad coll))))))) partitionv))) (guard (e (#t #f)) (declare-var! "clojure.core" "partition-all")) (guard (e (#t #f)) - (def-var! "clojure.core" "partitionv-all" (letrec ((partitionv-all (case-lambda ((n coll) (let fnrec785 ((n n) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition-all") n coll)))) ((n step coll) (let fnrec786 ((n n) (step step) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition-all") n step coll))))))) partitionv-all))) + (def-var! "clojure.core" "partitionv-all" (letrec ((partitionv-all (case-lambda ((n coll) (let fnrec794 ((n n) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition-all") n coll)))) ((n step coll) (let fnrec795 ((n n) (step step) (coll coll)) (jolt-map (var-deref "clojure.core" "vec") (jolt-invoke (var-deref "clojure.core" "partition-all") n step coll))))))) partitionv-all))) (guard (e (#t #f)) - (def-var! "clojure.core" "splitv-at" (letrec ((splitv-at (lambda (n coll) (let fnrec787 ((n n) (coll coll)) (let* ((_o$788 (jolt-invoke (var-deref "clojure.core" "vec") (jolt-take n coll))) (_o$789 (jolt-drop n coll))) (jolt-vector _o$788 _o$789)))))) splitv-at))) + (def-var! "clojure.core" "splitv-at" (letrec ((splitv-at (lambda (n coll) (let fnrec796 ((n n) (coll coll)) (let* ((_o$797 (jolt-invoke (var-deref "clojure.core" "vec") (jolt-take n coll))) (_o$798 (jolt-drop n coll))) (jolt-vector _o$797 _o$798)))))) splitv-at))) (guard (e (#t #f)) - (def-var! "clojure.core" "with-redefs-fn" (letrec ((with-redefs-fn (lambda (binding-map func) (let fnrec790 ((binding-map binding-map) (func func)) (let* ((vars (jolt-invoke (var-deref "clojure.core" "vec") (jolt-keys binding-map))) (saved (jolt-invoke (var-deref "clojure.core" "mapv") (var-deref "clojure.core" "var-get") vars))) (begin (begin (jolt-count (jolt-map (lambda (v) (let fnrec792 ((v v)) (begin (jolt-invoke (var-deref "clojure.core" "var-set") v (jolt-get binding-map v)) jolt-nil))) vars)) jolt-nil) (dynamic-wind (lambda () #f) (lambda () (jolt-invoke func )) (lambda () (let* ((i 0)) (let loop791 ((i i)) (if (< i (jolt-count vars)) (begin (jolt-invoke (var-deref "clojure.core" "var-set") (jolt-nth vars i) (jolt-nth saved i)) (loop791 (jolt-inc i))) jolt-nil))))))))))) with-redefs-fn))) + (def-var! "clojure.core" "with-redefs-fn" (letrec ((with-redefs-fn (lambda (binding-map func) (let fnrec799 ((binding-map binding-map) (func func)) (let* ((vars (jolt-invoke (var-deref "clojure.core" "vec") (jolt-keys binding-map))) (saved (jolt-invoke (var-deref "clojure.core" "mapv") (var-deref "clojure.core" "var-get") vars))) (begin (begin (jolt-count (jolt-map (lambda (v) (let fnrec801 ((v v)) (begin (jolt-invoke (var-deref "clojure.core" "var-set") v (jolt-get binding-map v)) jolt-nil))) vars)) jolt-nil) (dynamic-wind (lambda () #f) (lambda () (jolt-invoke func )) (lambda () (let* ((i 0)) (let loop800 ((i i)) (if (< i (jolt-count vars)) (begin (jolt-invoke (var-deref "clojure.core" "var-set") (jolt-nth vars i) (jolt-nth saved i)) (loop800 (jolt-inc i))) jolt-nil))))))))))) with-redefs-fn))) (guard (e (#t #f)) - (def-var! "clojure.core" "chunked-seq?" (letrec ((chunked-seq? (lambda (x) (let fnrec793 ((x x)) #f)))) chunked-seq?))) + (def-var! "clojure.core" "chunked-seq?" (letrec ((chunked-seq? (lambda (x) (let fnrec802 ((x x)) #f)))) chunked-seq?))) (guard (e (#t #f)) - (def-var! "clojure.core" "swap-vals!" (letrec ((swap-vals! (lambda (a f . args) (let fnrec794 ((a a) (f f) (args (list->cseq args))) (let* ((old (jolt-invoke (var-deref "clojure.core" "deref") a))) (let* ((_o$795 old) (_o$796 (jolt-apply (var-deref "clojure.core" "swap!") a f args))) (jolt-vector _o$795 _o$796))))))) swap-vals!))) + (def-var! "clojure.core" "swap-vals!" (letrec ((swap-vals! (lambda (a f . args) (let fnrec803 ((a a) (f f) (args (list->cseq args))) (let* ((old (jolt-invoke (var-deref "clojure.core" "deref") a))) (let* ((_o$804 old) (_o$805 (jolt-apply (var-deref "clojure.core" "swap!") a f args))) (jolt-vector _o$804 _o$805))))))) swap-vals!))) (guard (e (#t #f)) - (def-var! "clojure.core" "reset-vals!" (letrec ((reset-vals! (lambda (a newval) (let fnrec797 ((a a) (newval newval)) (let* ((old (jolt-invoke (var-deref "clojure.core" "deref") a))) (begin (jolt-invoke (var-deref "clojure.core" "reset!") a newval) (let* ((_o$798 old) (_o$799 newval)) (jolt-vector _o$798 _o$799)))))))) reset-vals!))) + (def-var! "clojure.core" "reset-vals!" (letrec ((reset-vals! (lambda (a newval) (let fnrec806 ((a a) (newval newval)) (let* ((old (jolt-invoke (var-deref "clojure.core" "deref") a))) (begin (jolt-invoke (var-deref "clojure.core" "reset!") a newval) (let* ((_o$807 old) (_o$808 newval)) (jolt-vector _o$807 _o$808)))))))) reset-vals!))) (guard (e (#t #f)) - (def-var! "clojure.core" "compare-and-set!" (letrec ((compare-and-set! (lambda (a oldval newval) (let fnrec800 ((a a) (oldval oldval) (newval newval)) (if (jolt= oldval (jolt-invoke (var-deref "clojure.core" "deref") a)) (begin (jolt-invoke (var-deref "clojure.core" "reset!") a newval) #t) #f))))) compare-and-set!))) + (def-var! "clojure.core" "compare-and-set!" (letrec ((compare-and-set! (lambda (a oldval newval) (let fnrec809 ((a a) (oldval oldval) (newval newval)) (if (jolt= oldval (jolt-invoke (var-deref "clojure.core" "deref") a)) (begin (jolt-invoke (var-deref "clojure.core" "reset!") a newval) #t) #f))))) compare-and-set!))) (guard (e (#t #f)) - (def-var! "clojure.core" "get-validator" (letrec ((get-validator (lambda (a) (let fnrec801 ((a a)) (jolt-get a (keyword #f "validator")))))) get-validator))) + (def-var! "clojure.core" "get-validator" (letrec ((get-validator (lambda (a) (let fnrec810 ((a a)) (jolt-get a (keyword #f "validator")))))) get-validator))) (guard (e (#t #f)) - (def-var! "clojure.core" "add-watch" (letrec ((add-watch (lambda (a key f) (let fnrec802 ((a a) (key key) (f f)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") (jolt-get a (keyword #f "watches")) key f) a))))) add-watch))) + (def-var! "clojure.core" "add-watch" (letrec ((add-watch (lambda (a key f) (let fnrec811 ((a a) (key key) (f f)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") (jolt-get a (keyword #f "watches")) key f) a))))) add-watch))) (guard (e (#t #f)) - (def-var! "clojure.core" "remove-watch" (letrec ((remove-watch (lambda (a key) (let fnrec803 ((a a) (key key)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") (jolt-get a (keyword #f "watches")) key jolt-nil) a))))) remove-watch))) + (def-var! "clojure.core" "remove-watch" (letrec ((remove-watch (lambda (a key) (let fnrec812 ((a a) (key key)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") (jolt-get a (keyword #f "watches")) key jolt-nil) a))))) remove-watch))) (guard (e (#t #f)) - (def-var! "clojure.core" "set-validator!" (letrec ((set-validator! (lambda (a f) (let fnrec804 ((a a) (f f)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") a (keyword #f "validator") f) jolt-nil))))) set-validator!))) + (def-var! "clojure.core" "set-validator!" (letrec ((set-validator! (lambda (a f) (let fnrec813 ((a a) (f f)) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") a (keyword #f "validator") f) jolt-nil))))) set-validator!))) (guard (e (#t #f)) - (def-var! "clojure.core" "future-done?" (letrec ((future-done? (lambda (x) (let fnrec805 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "future?") x)) (jolt-invoke (var-deref "clojure.core" "boolean") (jolt-get x (keyword #f "cached"))) (jolt-throw "future-done? requires a future")))))) future-done?))) + (def-var! "clojure.core" "future-done?" (letrec ((future-done? (lambda (x) (let fnrec814 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "future?") x)) (jolt-invoke (var-deref "clojure.core" "boolean") (jolt-get x (keyword #f "cached"))) (jolt-throw "future-done? requires a future")))))) future-done?))) (guard (e (#t #f)) - (def-var! "clojure.core" "future-cancelled?" (letrec ((future-cancelled? (lambda (x) (let fnrec806 ((x x)) (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "future?") x))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "boolean") (jolt-get x (keyword #f "cancelled"))) and__13__auto)))))) future-cancelled?))) + (def-var! "clojure.core" "future-cancelled?" (letrec ((future-cancelled? (lambda (x) (let fnrec815 ((x x)) (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "future?") x))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "boolean") (jolt-get x (keyword #f "cancelled"))) and__13__auto)))))) future-cancelled?))) (guard (e (#t #f)) - (def-var! "clojure.core" "ns-name" (letrec ((ns-name (lambda (ns) (let fnrec807 ((ns ns)) (let* ((nm (jolt-get ns (keyword #f "name")))) (if (jolt-truthy? nm) (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") nm)) jolt-nil)))))) ns-name))) + (def-var! "clojure.core" "ns-name" (letrec ((ns-name (lambda (ns) (let fnrec816 ((ns ns)) (let* ((nm (jolt-get ns (keyword #f "name")))) (if (jolt-truthy? nm) (jolt-invoke (var-deref "clojure.core" "symbol") (jolt-invoke (var-deref "clojure.core" "str") nm)) jolt-nil)))))) ns-name))) (guard (e (#t #f)) - (def-var! "clojure.core" "aget" (letrec ((aget (lambda (arr . idxs) (let fnrec808 ((arr arr) (idxs (list->cseq idxs))) (jolt-reduce (lambda (v i) (let fnrec809 ((v v) (i i)) (jolt-nth v i))) arr idxs))))) aget))) + (def-var! "clojure.core" "aget" (letrec ((aget (lambda (arr . idxs) (let fnrec817 ((arr arr) (idxs (list->cseq idxs))) (jolt-reduce (lambda (v i) (let fnrec818 ((v v) (i i)) (jolt-nth v i))) arr idxs))))) aget))) (guard (e (#t #f)) - (def-var! "clojure.core" "alength" (letrec ((alength (lambda (arr) (let fnrec810 ((arr arr)) (jolt-count arr))))) alength))) + (def-var! "clojure.core" "alength" (letrec ((alength (lambda (arr) (let fnrec819 ((arr arr)) (jolt-count arr))))) alength))) (guard (e (#t #f)) - (def-var! "clojure.core" "aset" (letrec ((aset (lambda (arr . idxs+val) (let fnrec811 ((arr arr) (idxs+val (list->cseq idxs+val))) (let* ((n (jolt-count idxs+val)) (val (jolt-nth idxs+val (jolt-dec n))) (target (jolt-reduce (lambda (t k) (let fnrec812 ((t t) (k k)) (jolt-nth t k))) arr (jolt-take (- n 2) idxs+val)))) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") target (jolt-nth idxs+val (- n 2)) val) val)))))) aset))) + (def-var! "clojure.core" "aset" (letrec ((aset (lambda (arr . idxs+val) (let fnrec820 ((arr arr) (idxs+val (list->cseq idxs+val))) (let* ((n (jolt-count idxs+val)) (val (jolt-nth idxs+val (jolt-dec n))) (target (jolt-reduce (lambda (t k) (let fnrec821 ((t t) (k k)) (jolt-nth t k))) arr (jolt-take (- n 2) idxs+val)))) (begin (jolt-invoke (var-deref "jolt.host" "ref-put!") target (jolt-nth idxs+val (- n 2)) val) val)))))) aset))) (guard (e (#t #f)) - (def-var! "clojure.core" "complement" (letrec ((complement (lambda (f) (let fnrec813 ((f f)) (lambda args (let fnrec814 ((args (list->cseq args))) (jolt-not (jolt-apply f args)))))))) complement))) + (def-var! "clojure.core" "complement" (letrec ((complement (lambda (f) (let fnrec822 ((f f)) (lambda args (let fnrec823 ((args (list->cseq args))) (jolt-not (jolt-apply f args)))))))) complement))) (guard (e (#t #f)) - (def-var! "clojure.core" "fnil" (letrec ((fnil (case-lambda ((f x) (let fnrec815 ((f f) (x x)) (lambda (a . args) (let fnrec816 ((a a) (args (list->cseq args))) (jolt-apply f (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") a)) x a) args))))) ((f x y) (let fnrec817 ((f f) (x x) (y y)) (lambda (a b . args) (let fnrec818 ((a a) (b b) (args (list->cseq args))) (jolt-apply f (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") a)) x a) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") b)) y b) args))))) ((f x y z) (let fnrec819 ((f f) (x x) (y y) (z z)) (lambda (a b c . args) (let fnrec820 ((a a) (b b) (c c) (args (list->cseq args))) (jolt-apply f (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") a)) x a) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") b)) y b) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") c)) z c) args)))))))) fnil))) + (def-var! "clojure.core" "fnil" (letrec ((fnil (case-lambda ((f x) (let fnrec824 ((f f) (x x)) (lambda (a . args) (let fnrec825 ((a a) (args (list->cseq args))) (jolt-apply f (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") a)) x a) args))))) ((f x y) (let fnrec826 ((f f) (x x) (y y)) (lambda (a b . args) (let fnrec827 ((a a) (b b) (args (list->cseq args))) (jolt-apply f (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") a)) x a) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") b)) y b) args))))) ((f x y z) (let fnrec828 ((f f) (x x) (y y) (z z)) (lambda (a b c . args) (let fnrec829 ((a a) (b b) (c c) (args (list->cseq args))) (jolt-apply f (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") a)) x a) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") b)) y b) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") c)) z c) args)))))))) fnil))) (guard (e (#t #f)) - (def-var! "clojure.core" "clojure-version" (letrec ((clojure-version (lambda () (let fnrec821 () "1.11.0-jolt")))) clojure-version))) + (def-var! "clojure.core" "clojure-version" (letrec ((clojure-version (lambda () (let fnrec830 () "1.11.0-jolt")))) clojure-version))) (guard (e (#t #f)) - (def-var! "clojure.core" "bigdec" (letrec ((bigdec (lambda (x) (let fnrec822 ((x x)) (* 1.0 x))))) bigdec))) + (def-var! "clojure.core" "bigdec" (letrec ((bigdec (lambda (x) (let fnrec831 ((x x)) (* 1.0 x))))) bigdec))) (guard (e (#t #f)) - (def-var! "clojure.core" "numerator" (letrec ((numerator (lambda (x) (let fnrec823 ((x x)) (jolt-throw (jolt-ex-info "numerator requires a ratio (Jolt has no ratios)" (jolt-hash-map))))))) numerator))) + (def-var! "clojure.core" "numerator" (letrec ((numerator (lambda (x) (let fnrec832 ((x x)) (jolt-throw (jolt-ex-info "numerator requires a ratio (Jolt has no ratios)" (jolt-hash-map))))))) numerator))) (guard (e (#t #f)) - (def-var! "clojure.core" "denominator" (letrec ((denominator (lambda (x) (let fnrec824 ((x x)) (jolt-throw (jolt-ex-info "denominator requires a ratio (Jolt has no ratios)" (jolt-hash-map))))))) denominator))) + (def-var! "clojure.core" "denominator" (letrec ((denominator (lambda (x) (let fnrec833 ((x x)) (jolt-throw (jolt-ex-info "denominator requires a ratio (Jolt has no ratios)" (jolt-hash-map))))))) denominator))) (guard (e (#t #f)) - (def-var! "clojure.core" "supers" (letrec ((supers (lambda (x) (let fnrec825 ((x x)) (jolt-hash-set))))) supers))) + (def-var! "clojure.core" "supers" (letrec ((supers (lambda (x) (let fnrec834 ((x x)) (jolt-hash-set))))) supers))) (guard (e (#t #f)) - (def-var! "clojure.core" "munge" (letrec ((munge (lambda (s) (let fnrec826 ((s s)) (let* ((m (jolt-invoke (var-deref "clojure.core" "str-replace-all") "-" "_" (jolt-invoke (var-deref "clojure.core" "str") s)))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") s)) (jolt-invoke (var-deref "clojure.core" "symbol") m) m)))))) munge))) + (def-var! "clojure.core" "munge" (letrec ((munge (lambda (s) (let fnrec835 ((s s)) (let* ((m (jolt-invoke (var-deref "clojure.core" "str-replace-all") "-" "_" (jolt-invoke (var-deref "clojure.core" "str") s)))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "symbol?") s)) (jolt-invoke (var-deref "clojure.core" "symbol") m) m)))))) munge))) (guard (e (#t #f)) - (def-var! "clojure.core" "test" (letrec ((test (lambda (v) (let fnrec827 ((v v)) (let* ((t (jolt-get (jolt-invoke (var-deref "clojure.core" "meta") v) (keyword #f "test")))) (if (jolt-truthy? t) (begin (jolt-invoke t ) (keyword #f "ok")) (keyword #f "no-test"))))))) test))) + (def-var! "clojure.core" "test" (letrec ((test (lambda (v) (let fnrec836 ((v v)) (let* ((t (jolt-get (jolt-invoke (var-deref "clojure.core" "meta") v) (keyword #f "test")))) (if (jolt-truthy? t) (begin (jolt-invoke t ) (keyword #f "ok")) (keyword #f "no-test"))))))) test))) (guard (e (#t #f)) - (def-var! "clojure.core" "find" (letrec ((find (lambda (m k) (let fnrec828 ((m m) (k k)) (if (jolt-contains? m k) (jolt-first (let* ((_o$829 k) (_o$830 (jolt-get m k))) (jolt-hash-map _o$829 _o$830))) jolt-nil))))) find))) + (def-var! "clojure.core" "find" (letrec ((find (lambda (m k) (let fnrec837 ((m m) (k k)) (if (jolt-contains? m k) (jolt-first (let* ((_o$838 k) (_o$839 (jolt-get m k))) (jolt-hash-map _o$838 _o$839))) jolt-nil))))) find))) (guard (e (#t #f)) - (def-var! "clojure.core" "true?" (letrec ((true? (lambda (x) (let fnrec831 ((x x)) (jolt= #t x))))) true?))) + (def-var! "clojure.core" "true?" (letrec ((true? (lambda (x) (let fnrec840 ((x x)) (jolt= #t x))))) true?))) (guard (e (#t #f)) - (def-var! "clojure.core" "false?" (letrec ((false? (lambda (x) (let fnrec832 ((x x)) (jolt= #f x))))) false?))) + (def-var! "clojure.core" "false?" (letrec ((false? (lambda (x) (let fnrec841 ((x x)) (jolt= #f x))))) false?))) (guard (e (#t #f)) - (def-var! "clojure.core" "select-keys" (letrec ((select-keys (lambda (map keyseq) (let fnrec833 ((map map) (keyseq keyseq)) (jolt-reduce (lambda (m k) (let fnrec834 ((m m) (k k)) (if (jolt-contains? map k) (jolt-assoc m k (jolt-get map k)) m))) (jolt-hash-map ) keyseq))))) select-keys))) + (def-var! "clojure.core" "select-keys" (letrec ((select-keys (lambda (map keyseq) (let fnrec842 ((map map) (keyseq keyseq)) (jolt-reduce (lambda (m k) (let fnrec843 ((m m) (k k)) (if (jolt-contains? map k) (jolt-assoc m k (jolt-get map k)) m))) (jolt-hash-map ) keyseq))))) select-keys))) (guard (e (#t #f)) - (def-var! "clojure.core" "zipmap" (letrec ((zipmap (lambda (keys vals) (let fnrec835 ((keys keys) (vals vals)) (let* ((m (jolt-hash-map )) (ks (jolt-seq keys)) (vs (jolt-seq vals))) (let loop836 ((m m) (ks ks) (vs vs)) (if (jolt-truthy? (let* ((and__13__auto ks)) (if (jolt-truthy? and__13__auto) vs and__13__auto))) (loop836 (jolt-assoc m (jolt-first ks) (jolt-first vs)) (jolt-next ks) (jolt-next vs)) m))))))) zipmap))) + (def-var! "clojure.core" "zipmap" (letrec ((zipmap (lambda (keys vals) (let fnrec844 ((keys keys) (vals vals)) (let* ((m (jolt-hash-map )) (ks (jolt-seq keys)) (vs (jolt-seq vals))) (let loop845 ((m m) (ks ks) (vs vs)) (if (jolt-truthy? (let* ((and__13__auto ks)) (if (jolt-truthy? and__13__auto) vs and__13__auto))) (loop845 (jolt-assoc m (jolt-first ks) (jolt-first vs)) (jolt-next ks) (jolt-next vs)) m))))))) zipmap))) (guard (e (#t #f)) - (def-var! "clojure.core" "merge" (letrec ((merge (lambda maps (let fnrec837 ((maps (list->cseq maps))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "some") jolt-identity maps)) (jolt-reduce (lambda (acc m) (let fnrec838 ((acc acc) (m m)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") m)) acc (jolt-conj (let* ((or__14__auto acc)) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-hash-map ))) m)))) maps) jolt-nil))))) merge))) + (def-var! "clojure.core" "merge" (letrec ((merge (lambda maps (let fnrec846 ((maps (list->cseq maps))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "some") jolt-identity maps)) (jolt-reduce (lambda (acc m) (let fnrec847 ((acc acc) (m m)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") m)) acc (jolt-conj (let* ((or__14__auto acc)) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-hash-map ))) m)))) maps) jolt-nil))))) merge))) (guard (e (#t #f)) - (def-var! "clojure.core" "merge-with" (letrec ((merge-with (lambda (f . maps) (let fnrec839 ((f f) (maps (list->cseq maps))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "some") jolt-identity maps)) (let* ((merge-entry (lambda (m e) (let fnrec840 ((m m) (e e)) (let* ((k (jolt-invoke (var-deref "clojure.core" "key") e)) (v (jolt-invoke (var-deref "clojure.core" "val") e))) (if (jolt-contains? m k) (jolt-assoc m k (jolt-invoke f (jolt-get m k) v)) (jolt-assoc m k v)))))) (merge2 (lambda (m1 m2) (let fnrec841 ((m1 m1) (m2 m2)) (jolt-reduce merge-entry (let* ((or__14__auto m1)) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-hash-map ))) (jolt-seq m2)))))) (jolt-reduce merge2 maps)) jolt-nil))))) merge-with))) + (def-var! "clojure.core" "merge-with" (letrec ((merge-with (lambda (f . maps) (let fnrec848 ((f f) (maps (list->cseq maps))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "some") jolt-identity maps)) (let* ((merge-entry (lambda (m e) (let fnrec849 ((m m) (e e)) (let* ((k (jolt-invoke (var-deref "clojure.core" "key") e)) (v (jolt-invoke (var-deref "clojure.core" "val") e))) (if (jolt-contains? m k) (jolt-assoc m k (jolt-invoke f (jolt-get m k) v)) (jolt-assoc m k v)))))) (merge2 (lambda (m1 m2) (let fnrec850 ((m1 m1) (m2 m2)) (jolt-reduce merge-entry (let* ((or__14__auto m1)) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-hash-map ))) (jolt-seq m2)))))) (jolt-reduce merge2 maps)) jolt-nil))))) merge-with))) (guard (e (#t #f)) - (def-var! "clojure.core" "get-in" (letrec ((get-in (case-lambda ((m ks) (let fnrec842 ((m m) (ks ks)) (jolt-reduce jolt-get m ks))) ((m ks not-found) (let fnrec843 ((m m) (ks ks) (not-found not-found)) (let* ((sentinel (jolt-hash-map ))) (let* ((m m) (ks (jolt-seq ks))) (let loop844 ((m m) (ks ks)) (if (jolt-truthy? ks) (let* ((nxt (jolt-get m (jolt-first ks) sentinel))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "identical?") sentinel nxt)) not-found (loop844 nxt (jolt-next ks)))) m))))))))) get-in))) + (def-var! "clojure.core" "get-in" (letrec ((get-in (case-lambda ((m ks) (let fnrec851 ((m m) (ks ks)) (jolt-reduce jolt-get m ks))) ((m ks not-found) (let fnrec852 ((m m) (ks ks) (not-found not-found)) (let* ((sentinel (jolt-hash-map ))) (let* ((m m) (ks (jolt-seq ks))) (let loop853 ((m m) (ks ks)) (if (jolt-truthy? ks) (let* ((nxt (jolt-get m (jolt-first ks) sentinel))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "identical?") sentinel nxt)) not-found (loop853 nxt (jolt-next ks)))) m))))))))) get-in))) (guard (e (#t #f)) - (def-var! "clojure.core" "memoize" (letrec ((memoize (lambda (f) (let fnrec845 ((f f)) (let* ((mem (jolt-invoke (var-deref "clojure.core" "atom") (jolt-hash-map )))) (lambda args (let fnrec846 ((args (list->cseq args))) (let* ((e (jolt-invoke (var-deref "clojure.core" "find") (jolt-invoke (var-deref "clojure.core" "deref") mem) args))) (if (jolt-truthy? e) (jolt-invoke (var-deref "clojure.core" "val") e) (let* ((ret (jolt-apply f args))) (begin (jolt-invoke (var-deref "clojure.core" "swap!") mem jolt-assoc args ret) ret))))))))))) memoize))) + (def-var! "clojure.core" "memoize" (letrec ((memoize (lambda (f) (let fnrec854 ((f f)) (let* ((mem (jolt-invoke (var-deref "clojure.core" "atom") (jolt-hash-map )))) (lambda args (let fnrec855 ((args (list->cseq args))) (let* ((e (jolt-invoke (var-deref "clojure.core" "find") (jolt-invoke (var-deref "clojure.core" "deref") mem) args))) (if (jolt-truthy? e) (jolt-invoke (var-deref "clojure.core" "val") e) (let* ((ret (jolt-apply f args))) (begin (jolt-invoke (var-deref "clojure.core" "swap!") mem jolt-assoc args ret) ret))))))))))) memoize))) (guard (e (#t #f)) - (def-var! "clojure.core" "partial" (letrec ((partial (case-lambda ((f) (let fnrec847 ((f f)) f)) ((f a) (let fnrec848 ((f f) (a a)) (lambda args (let fnrec849 ((args (list->cseq args))) (jolt-apply f a args))))) ((f a b) (let fnrec850 ((f f) (a a) (b b)) (lambda args (let fnrec851 ((args (list->cseq args))) (jolt-apply f a b args))))) ((f a b c) (let fnrec852 ((f f) (a a) (b b) (c c)) (lambda args (let fnrec853 ((args (list->cseq args))) (jolt-apply f a b c args))))) ((f a b c . more) (let fnrec854 ((f f) (a a) (b b) (c c) (more (list->cseq more))) (lambda args (let fnrec855 ((args (list->cseq args))) (jolt-apply f a b c (jolt-concat more args))))))))) partial))) + (def-var! "clojure.core" "partial" (letrec ((partial (case-lambda ((f) (let fnrec856 ((f f)) f)) ((f a) (let fnrec857 ((f f) (a a)) (lambda args (let fnrec858 ((args (list->cseq args))) (jolt-apply f a args))))) ((f a b) (let fnrec859 ((f f) (a a) (b b)) (lambda args (let fnrec860 ((args (list->cseq args))) (jolt-apply f a b args))))) ((f a b c) (let fnrec861 ((f f) (a a) (b b) (c c)) (lambda args (let fnrec862 ((args (list->cseq args))) (jolt-apply f a b c args))))) ((f a b c . more) (let fnrec863 ((f f) (a a) (b b) (c c) (more (list->cseq more))) (lambda args (let fnrec864 ((args (list->cseq args))) (jolt-apply f a b c (jolt-concat more args))))))))) partial))) (guard (e (#t #f)) - (def-var! "clojure.core" "trampoline" (letrec ((trampoline (case-lambda ((f) (let fnrec856 ((f f)) (let* ((ret (jolt-invoke f ))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "fn?") ret)) (jolt-invoke trampoline ret) ret)))) ((f . args) (let fnrec857 ((f f) (args (list->cseq args))) (jolt-invoke trampoline (lambda () (let fnrec858 () (jolt-apply f args))))))))) trampoline))) + (def-var! "clojure.core" "trampoline" (letrec ((trampoline (case-lambda ((f) (let fnrec865 ((f f)) (let* ((ret (jolt-invoke f ))) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "fn?") ret)) (jolt-invoke trampoline ret) ret)))) ((f . args) (let fnrec866 ((f f) (args (list->cseq args))) (jolt-invoke trampoline (lambda () (let fnrec867 () (jolt-apply f args))))))))) trampoline))) (guard (e (#t #f)) - (def-var! "clojure.core" "max" (letrec ((max (case-lambda ((x) (let fnrec859 ((x x)) x)) ((x y) (let fnrec860 ((x x) (y y)) (if (> x y) x y))) ((x y . more) (let fnrec861 ((x x) (y y) (more (list->cseq more))) (jolt-reduce max (jolt-invoke max x y) more)))))) max))) + (def-var! "clojure.core" "max" (letrec ((max (case-lambda ((x) (let fnrec868 ((x x)) x)) ((x y) (let fnrec869 ((x x) (y y)) (if (> x y) x y))) ((x y . more) (let fnrec870 ((x x) (y y) (more (list->cseq more))) (jolt-reduce max (jolt-invoke max x y) more)))))) max))) (guard (e (#t #f)) - (def-var! "clojure.core" "min" (letrec ((min (case-lambda ((x) (let fnrec862 ((x x)) x)) ((x y) (let fnrec863 ((x x) (y y)) (if (< x y) x y))) ((x y . more) (let fnrec864 ((x x) (y y) (more (list->cseq more))) (jolt-reduce min (jolt-invoke min x y) more)))))) min))) + (def-var! "clojure.core" "min" (letrec ((min (case-lambda ((x) (let fnrec871 ((x x)) x)) ((x y) (let fnrec872 ((x x) (y y)) (if (< x y) x y))) ((x y . more) (let fnrec873 ((x x) (y y) (more (list->cseq more))) (jolt-reduce min (jolt-invoke min x y) more)))))) min))) (guard (e (#t #f)) - (def-var! "clojure.core" "reverse" (letrec ((reverse (lambda (coll) (let fnrec865 ((coll coll)) (jolt-reduce jolt-conj (jolt-list ) coll))))) reverse))) + (def-var! "clojure.core" "reverse" (letrec ((reverse (lambda (coll) (let fnrec874 ((coll coll)) (jolt-reduce jolt-conj (jolt-list ) coll))))) reverse))) (guard (e (#t #f)) - (def-var! "clojure.core" "empty" (letrec ((empty (lambda (coll) (let fnrec866 ((coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) jolt-nil (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "sorted?") coll)) (jolt-invoke (jolt-get (jolt-invoke (var-deref "jolt.host" "ref-get") coll (keyword #f "ops")) (keyword #f "empty")) coll) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") coll)) (jolt-hash-map) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "set?") coll)) (jolt-hash-set) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (jolt-vector) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "coll?") coll)) (jolt-list ) (if (jolt-truthy? (keyword #f "else")) jolt-nil jolt-nil))))))))))) empty))) + (def-var! "clojure.core" "empty" (letrec ((empty (lambda (coll) (let fnrec875 ((coll coll)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "nil?") coll)) jolt-nil (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "sorted?") coll)) (jolt-invoke (jolt-get (jolt-invoke (var-deref "jolt.host" "ref-get") coll (keyword #f "ops")) (keyword #f "empty")) coll) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") coll)) (jolt-hash-map) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "set?") coll)) (jolt-hash-set) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "vector?") coll)) (jolt-vector) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "coll?") coll)) (jolt-list ) (if (jolt-truthy? (keyword #f "else")) jolt-nil jolt-nil))))))))))) empty))) (guard (e (#t #f)) - (def-var! "clojure.core" "assoc-in" (letrec ((assoc-in (lambda (m G__29 v) (let fnrec867 ((m m) (G__29 G__29) (v v)) (let* ((G__30 G__29) (k (jolt-nth G__30 0 jolt-nil)) (ks (jolt-invoke (var-deref "clojure.core" "nthnext") G__30 1))) (if (jolt-truthy? ks) (jolt-assoc m k (jolt-invoke assoc-in (jolt-get m k) ks v)) (jolt-assoc m k v))))))) assoc-in))) + (def-var! "clojure.core" "assoc-in" (letrec ((assoc-in (lambda (m G__30 v) (let fnrec876 ((m m) (G__30 G__30) (v v)) (let* ((G__31 G__30) (k (jolt-nth G__31 0 jolt-nil)) (ks (jolt-invoke (var-deref "clojure.core" "nthnext") G__31 1))) (if (jolt-truthy? ks) (jolt-assoc m k (jolt-invoke assoc-in (jolt-get m k) ks v)) (jolt-assoc m k v))))))) assoc-in))) (guard (e (#t #f)) - (def-var! "clojure.core" "update-in" (letrec ((update-in (lambda (m ks f . args) (let fnrec868 ((m m) (ks ks) (f f) (args (list->cseq args))) (let* ((up (letrec ((up (lambda (m ks f args) (let fnrec869 ((m m) (ks ks) (f f) (args args)) (let* ((G__31 ks) (k (jolt-nth G__31 0 jolt-nil)) (ks (jolt-invoke (var-deref "clojure.core" "nthnext") G__31 1))) (if (jolt-truthy? ks) (jolt-assoc m k (jolt-invoke up (jolt-get m k) ks f args)) (jolt-assoc m k (jolt-apply f (jolt-get m k) args)))))))) up))) (jolt-invoke up m ks f args)))))) update-in))) + (def-var! "clojure.core" "update-in" (letrec ((update-in (lambda (m ks f . args) (let fnrec877 ((m m) (ks ks) (f f) (args (list->cseq args))) (let* ((up (letrec ((up (lambda (m ks f args) (let fnrec878 ((m m) (ks ks) (f f) (args args)) (let* ((G__32 ks) (k (jolt-nth G__32 0 jolt-nil)) (ks (jolt-invoke (var-deref "clojure.core" "nthnext") G__32 1))) (if (jolt-truthy? ks) (jolt-assoc m k (jolt-invoke up (jolt-get m k) ks f args)) (jolt-assoc m k (jolt-apply f (jolt-get m k) args)))))))) up))) (jolt-invoke up m ks f args)))))) update-in))) (guard (e (#t #f)) - (def-var! "clojure.core" "find-keyword" (letrec ((find-keyword (case-lambda ((nm) (let fnrec870 ((nm nm)) (jolt-invoke (var-deref "clojure.core" "keyword") nm))) ((ns nm) (let fnrec871 ((ns ns) (nm nm)) (jolt-invoke (var-deref "clojure.core" "keyword") ns nm)))))) find-keyword))) + (def-var! "clojure.core" "find-keyword" (letrec ((find-keyword (case-lambda ((nm) (let fnrec879 ((nm nm)) (jolt-invoke (var-deref "clojure.core" "keyword") nm))) ((ns nm) (let fnrec880 ((ns ns) (nm nm)) (jolt-invoke (var-deref "clojure.core" "keyword") ns nm)))))) find-keyword))) (guard (e (#t #f)) - (def-var! "clojure.core" "inst-ms*" (letrec ((inst-ms* (lambda (i) (let fnrec872 ((i i)) (jolt-invoke (var-deref "clojure.core" "inst-ms") i))))) inst-ms*))) + (def-var! "clojure.core" "inst-ms*" (letrec ((inst-ms* (lambda (i) (let fnrec881 ((i i)) (jolt-invoke (var-deref "clojure.core" "inst-ms") i))))) inst-ms*))) (guard (e (#t #f)) - (def-var! "clojure.core" "comp" (letrec ((comp (case-lambda (() (let fnrec873 () jolt-identity)) ((f) (let fnrec874 ((f f)) f)) ((f g) (let fnrec875 ((f f) (g g)) (case-lambda (() (let fnrec876 () (jolt-invoke f (jolt-invoke g )))) ((x) (let fnrec877 ((x x)) (jolt-invoke f (jolt-invoke g x)))) ((x y) (let fnrec878 ((x x) (y y)) (jolt-invoke f (jolt-invoke g x y)))) ((x y z) (let fnrec879 ((x x) (y y) (z z)) (jolt-invoke f (jolt-invoke g x y z)))) ((x y z . args) (let fnrec880 ((x x) (y y) (z z) (args (list->cseq args))) (jolt-invoke f (jolt-apply g x y z args))))))) ((f g . fs) (let fnrec881 ((f f) (g g) (fs (list->cseq fs))) (jolt-reduce comp (jolt-invoke comp f g) fs)))))) comp))) + (def-var! "clojure.core" "comp" (letrec ((comp (case-lambda (() (let fnrec882 () jolt-identity)) ((f) (let fnrec883 ((f f)) f)) ((f g) (let fnrec884 ((f f) (g g)) (case-lambda (() (let fnrec885 () (jolt-invoke f (jolt-invoke g )))) ((x) (let fnrec886 ((x x)) (jolt-invoke f (jolt-invoke g x)))) ((x y) (let fnrec887 ((x x) (y y)) (jolt-invoke f (jolt-invoke g x y)))) ((x y z) (let fnrec888 ((x x) (y y) (z z)) (jolt-invoke f (jolt-invoke g x y z)))) ((x y z . args) (let fnrec889 ((x x) (y y) (z z) (args (list->cseq args))) (jolt-invoke f (jolt-apply g x y z args))))))) ((f g . fs) (let fnrec890 ((f f) (g g) (fs (list->cseq fs))) (jolt-reduce comp (jolt-invoke comp f g) fs)))))) comp))) (guard (e (#t #f)) - (def-var! "clojure.core" "ifn?" (letrec ((ifn? (lambda (x) (let fnrec882 ((x x)) (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "fn?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "keyword?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "symbol?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "map?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "set?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "vector?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-invoke (var-deref "clojure.core" "var?") x))))))))))))))))) ifn?))) + (def-var! "clojure.core" "ifn?" (letrec ((ifn? (lambda (x) (let fnrec891 ((x x)) (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "fn?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "keyword?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "symbol?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "map?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "set?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (let* ((or__14__auto (jolt-invoke (var-deref "clojure.core" "vector?") x))) (if (jolt-truthy? or__14__auto) or__14__auto (jolt-invoke (var-deref "clojure.core" "var?") x))))))))))))))))) ifn?))) (guard (e (#t #f)) (def-var! "clojure.core" "+'" jolt-add)) (guard (e (#t #f)) @@ -505,17 +505,17 @@ (guard (e (#t #f)) (def-var! "clojure.core" "dec'" jolt-dec)) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-add" (letrec ((unchecked-add (lambda (x y) (let fnrec883 ((x x) (y y)) (+ x y))))) unchecked-add))) + (def-var! "clojure.core" "unchecked-add" (letrec ((unchecked-add (lambda (x y) (let fnrec892 ((x x) (y y)) (+ x y))))) unchecked-add))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-subtract" (letrec ((unchecked-subtract (lambda (x y) (let fnrec884 ((x x) (y y)) (- x y))))) unchecked-subtract))) + (def-var! "clojure.core" "unchecked-subtract" (letrec ((unchecked-subtract (lambda (x y) (let fnrec893 ((x x) (y y)) (- x y))))) unchecked-subtract))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-multiply" (letrec ((unchecked-multiply (lambda (x y) (let fnrec885 ((x x) (y y)) (* x y))))) unchecked-multiply))) + (def-var! "clojure.core" "unchecked-multiply" (letrec ((unchecked-multiply (lambda (x y) (let fnrec894 ((x x) (y y)) (* x y))))) unchecked-multiply))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-negate" (letrec ((unchecked-negate (lambda (x) (let fnrec886 ((x x)) (- x))))) unchecked-negate))) + (def-var! "clojure.core" "unchecked-negate" (letrec ((unchecked-negate (lambda (x) (let fnrec895 ((x x)) (- x))))) unchecked-negate))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-inc" (letrec ((unchecked-inc (lambda (x) (let fnrec887 ((x x)) (+ x 1))))) unchecked-inc))) + (def-var! "clojure.core" "unchecked-inc" (letrec ((unchecked-inc (lambda (x) (let fnrec896 ((x x)) (+ x 1))))) unchecked-inc))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-dec" (letrec ((unchecked-dec (lambda (x) (let fnrec888 ((x x)) (- x 1))))) unchecked-dec))) + (def-var! "clojure.core" "unchecked-dec" (letrec ((unchecked-dec (lambda (x) (let fnrec897 ((x x)) (- x 1))))) unchecked-dec))) (guard (e (#t #f)) (def-var! "clojure.core" "unchecked-add-int" (var-deref "clojure.core" "unchecked-add"))) (guard (e (#t #f)) @@ -529,79 +529,79 @@ (guard (e (#t #f)) (def-var! "clojure.core" "unchecked-dec-int" (var-deref "clojure.core" "unchecked-dec"))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-divide-int" (letrec ((unchecked-divide-int (lambda (x y) (let fnrec889 ((x x) (y y)) (quotient x y))))) unchecked-divide-int))) + (def-var! "clojure.core" "unchecked-divide-int" (letrec ((unchecked-divide-int (lambda (x y) (let fnrec898 ((x x) (y y)) (quotient x y))))) unchecked-divide-int))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-remainder-int" (letrec ((unchecked-remainder-int (lambda (x y) (let fnrec890 ((x x) (y y)) (remainder x y))))) unchecked-remainder-int))) + (def-var! "clojure.core" "unchecked-remainder-int" (letrec ((unchecked-remainder-int (lambda (x y) (let fnrec899 ((x x) (y y)) (remainder x y))))) unchecked-remainder-int))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-int" (letrec ((unchecked-int (lambda (x) (let fnrec891 ((x x)) (jolt-invoke (var-deref "clojure.core" "int") x))))) unchecked-int))) + (def-var! "clojure.core" "unchecked-int" (letrec ((unchecked-int (lambda (x) (let fnrec900 ((x x)) (jolt-invoke (var-deref "clojure.core" "int") x))))) unchecked-int))) (guard (e (#t #f)) (def-var! "clojure.core" "unchecked-long" (var-deref "clojure.core" "unchecked-int"))) (guard (e (#t #f)) - (def-var! "clojure.core" "int?" (letrec ((int? (lambda (x) (let fnrec892 ((x x)) (jolt-invoke (var-deref "clojure.core" "integer?") x))))) int?))) + (def-var! "clojure.core" "int?" (letrec ((int? (lambda (x) (let fnrec901 ((x x)) (jolt-invoke (var-deref "clojure.core" "integer?") x))))) int?))) (guard (e (#t #f)) - (def-var! "clojure.core" "num" (letrec ((num (lambda (x) (let fnrec893 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) x (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "num requires a number, got: " x))))))) num))) + (def-var! "clojure.core" "num" (letrec ((num (lambda (x) (let fnrec902 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) x (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "num requires a number, got: " x))))))) num))) (guard (e (#t #f)) - (def-var! "clojure.core" "==" (letrec ((== (case-lambda ((x) (let fnrec894 ((x x)) #t)) ((x y) (let fnrec895 ((x x) (y y)) (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "number?") x))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "number?") y) and__13__auto))) (jolt= x y) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "Cannot cast to number: " (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) y x)))))) ((x y . more) (let fnrec896 ((x x) (y y) (more (list->cseq more))) (if (jolt-truthy? (jolt-invoke == x y)) (jolt-apply == y more) #f)))))) ==))) + (def-var! "clojure.core" "==" (letrec ((== (case-lambda ((x) (let fnrec903 ((x x)) #t)) ((x y) (let fnrec904 ((x x) (y y)) (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "number?") x))) (if (jolt-truthy? and__13__auto) (jolt-invoke (var-deref "clojure.core" "number?") y) and__13__auto))) (jolt= x y) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "Cannot cast to number: " (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "number?") x)) y x)))))) ((x y . more) (let fnrec905 ((x x) (y y) (more (list->cseq more))) (if (jolt-truthy? (jolt-invoke == x y)) (jolt-apply == y more) #f)))))) ==))) (guard (e (#t #f)) - (def-var! "clojure.core" "ensure-reduced" (letrec ((ensure-reduced (lambda (x) (let fnrec897 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "reduced?") x)) x (jolt-invoke (var-deref "clojure.core" "reduced") x)))))) ensure-reduced))) + (def-var! "clojure.core" "ensure-reduced" (letrec ((ensure-reduced (lambda (x) (let fnrec906 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "reduced?") x)) x (jolt-invoke (var-deref "clojure.core" "reduced") x)))))) ensure-reduced))) (guard (e (#t #f)) - (def-var! "clojure.core" "halt-when" (letrec ((halt-when (case-lambda ((pred) (let fnrec898 ((pred pred)) (jolt-invoke halt-when pred jolt-nil))) ((pred retf) (let fnrec899 ((pred pred) (retf retf)) (lambda (rf) (let fnrec900 ((rf rf)) (case-lambda (() (let fnrec901 () (jolt-invoke rf ))) ((result) (let fnrec902 ((result result)) (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "map?") result))) (if (jolt-truthy? and__13__auto) (jolt-contains? result (keyword #f "halt")) and__13__auto))) (jolt-get result (keyword #f "halt")) (jolt-invoke rf result)))) ((result input) (let fnrec903 ((result result) (input input)) (if (jolt-truthy? (jolt-invoke pred input)) (jolt-invoke (var-deref "clojure.core" "reduced") (jolt-hash-map (keyword #f "halt") (if (jolt-truthy? retf) (jolt-invoke retf (jolt-invoke rf result) input) input))) (jolt-invoke rf result input)))))))))))) halt-when))) + (def-var! "clojure.core" "halt-when" (letrec ((halt-when (case-lambda ((pred) (let fnrec907 ((pred pred)) (jolt-invoke halt-when pred jolt-nil))) ((pred retf) (let fnrec908 ((pred pred) (retf retf)) (lambda (rf) (let fnrec909 ((rf rf)) (case-lambda (() (let fnrec910 () (jolt-invoke rf ))) ((result) (let fnrec911 ((result result)) (if (jolt-truthy? (let* ((and__13__auto (jolt-invoke (var-deref "clojure.core" "map?") result))) (if (jolt-truthy? and__13__auto) (jolt-contains? result (keyword #f "halt")) and__13__auto))) (jolt-get result (keyword #f "halt")) (jolt-invoke rf result)))) ((result input) (let fnrec912 ((result result) (input input)) (if (jolt-truthy? (jolt-invoke pred input)) (jolt-invoke (var-deref "clojure.core" "reduced") (jolt-hash-map (keyword #f "halt") (if (jolt-truthy? retf) (jolt-invoke retf (jolt-invoke rf result) input) input))) (jolt-invoke rf result input)))))))))))) halt-when))) (guard (e (#t #f)) - (def-var! "clojure.core" "parse-boolean" (letrec ((parse-boolean (lambda (s) (let fnrec904 ((s s)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "string?") s)) (if (jolt= s "true") #t (if (jolt= s "false") #f (if (jolt-truthy? (keyword #f "else")) jolt-nil jolt-nil))) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "parse-boolean requires a string, got: " s))))))) parse-boolean))) + (def-var! "clojure.core" "parse-boolean" (letrec ((parse-boolean (lambda (s) (let fnrec913 ((s s)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "string?") s)) (if (jolt= s "true") #t (if (jolt= s "false") #f (if (jolt-truthy? (keyword #f "else")) jolt-nil jolt-nil))) (jolt-throw (jolt-invoke (var-deref "clojure.core" "str") "parse-boolean requires a string, got: " s))))))) parse-boolean))) (guard (e (#t #f)) - (def-var! "clojure.core" "newline" (letrec ((newline (lambda () (let fnrec905 () (begin (jolt-invoke (var-deref "clojure.core" "print") "\n") jolt-nil))))) newline))) + (def-var! "clojure.core" "newline" (letrec ((newline (lambda () (let fnrec914 () (begin (jolt-invoke (var-deref "clojure.core" "print") "\n") jolt-nil))))) newline))) (guard (e (#t #f)) - (def-var! "clojure.core" "seque" (letrec ((seque (case-lambda ((s) (let fnrec906 ((s s)) s)) ((n-or-q s) (let fnrec907 ((n-or-q n-or-q) (s s)) s))))) seque))) + (def-var! "clojure.core" "seque" (letrec ((seque (case-lambda ((s) (let fnrec915 ((s s)) s)) ((n-or-q s) (let fnrec916 ((n-or-q n-or-q) (s s)) s))))) seque))) (guard (e (#t #f)) - (def-var! "clojure.core" "array-seq" (letrec ((array-seq (lambda (arr . _) (let fnrec908 ((arr arr) (_ (list->cseq _))) (jolt-seq arr))))) array-seq))) + (def-var! "clojure.core" "array-seq" (letrec ((array-seq (lambda (arr . _) (let fnrec917 ((arr arr) (_ (list->cseq _))) (jolt-seq arr))))) array-seq))) (guard (e (#t #f)) - (def-var! "clojure.core" "to-array-2d" (letrec ((to-array-2d (lambda (coll) (let fnrec909 ((coll coll)) (jolt-invoke (var-deref "clojure.core" "to-array") (jolt-map (var-deref "clojure.core" "to-array") coll)))))) to-array-2d))) + (def-var! "clojure.core" "to-array-2d" (letrec ((to-array-2d (lambda (coll) (let fnrec918 ((coll coll)) (jolt-invoke (var-deref "clojure.core" "to-array") (jolt-map (var-deref "clojure.core" "to-array") coll)))))) to-array-2d))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-byte" (letrec ((unchecked-byte (lambda (x) (let fnrec910 ((x x)) (jolt-invoke (var-deref "clojure.core" "bit-and") (jolt-invoke (var-deref "clojure.core" "int") x) 255))))) unchecked-byte))) + (def-var! "clojure.core" "unchecked-byte" (letrec ((unchecked-byte (lambda (x) (let fnrec919 ((x x)) (jolt-invoke (var-deref "clojure.core" "bit-and") (jolt-invoke (var-deref "clojure.core" "int") x) 255))))) unchecked-byte))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-short" (letrec ((unchecked-short (lambda (x) (let fnrec911 ((x x)) (jolt-invoke (var-deref "clojure.core" "bit-and") (jolt-invoke (var-deref "clojure.core" "int") x) 65535))))) unchecked-short))) + (def-var! "clojure.core" "unchecked-short" (letrec ((unchecked-short (lambda (x) (let fnrec920 ((x x)) (jolt-invoke (var-deref "clojure.core" "bit-and") (jolt-invoke (var-deref "clojure.core" "int") x) 65535))))) unchecked-short))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-char" (letrec ((unchecked-char (lambda (x) (let fnrec912 ((x x)) (jolt-invoke (var-deref "clojure.core" "bit-and") (jolt-invoke (var-deref "clojure.core" "int") x) 65535))))) unchecked-char))) + (def-var! "clojure.core" "unchecked-char" (letrec ((unchecked-char (lambda (x) (let fnrec921 ((x x)) (jolt-invoke (var-deref "clojure.core" "bit-and") (jolt-invoke (var-deref "clojure.core" "int") x) 65535))))) unchecked-char))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-float" (letrec ((unchecked-float (lambda (x) (let fnrec913 ((x x)) (jolt-invoke (var-deref "clojure.core" "double") x))))) unchecked-float))) + (def-var! "clojure.core" "unchecked-float" (letrec ((unchecked-float (lambda (x) (let fnrec922 ((x x)) (jolt-invoke (var-deref "clojure.core" "double") x))))) unchecked-float))) (guard (e (#t #f)) - (def-var! "clojure.core" "unchecked-double" (letrec ((unchecked-double (lambda (x) (let fnrec914 ((x x)) (jolt-invoke (var-deref "clojure.core" "double") x))))) unchecked-double))) + (def-var! "clojure.core" "unchecked-double" (letrec ((unchecked-double (lambda (x) (let fnrec923 ((x x)) (jolt-invoke (var-deref "clojure.core" "double") x))))) unchecked-double))) (guard (e (#t #f)) - (def-var! "clojure.core" "transduce" (letrec ((transduce (case-lambda ((xform f coll) (let fnrec915 ((xform xform) (f f) (coll coll)) (jolt-invoke transduce xform f (jolt-invoke f ) coll))) ((xform f init coll) (let fnrec916 ((xform xform) (f f) (init init) (coll coll)) (let* ((xf (jolt-invoke xform f))) (jolt-invoke xf (jolt-reduce xf init coll)))))))) transduce))) + (def-var! "clojure.core" "transduce" (letrec ((transduce (case-lambda ((xform f coll) (let fnrec924 ((xform xform) (f f) (coll coll)) (jolt-invoke transduce xform f (jolt-invoke f ) coll))) ((xform f init coll) (let fnrec925 ((xform xform) (f f) (init init) (coll coll)) (let* ((xf (jolt-invoke xform f))) (jolt-invoke xf (jolt-reduce xf init coll)))))))) transduce))) (guard (e (#t #f)) - (def-var! "clojure.core" "eduction" (letrec ((eduction (lambda args (let fnrec917 ((args (list->cseq args))) (let* ((coll (jolt-last args)) (xforms (jolt-invoke (var-deref "clojure.core" "butlast") args))) (if (jolt-truthy? xforms) (jolt-invoke jolt-into (jolt-vector) (jolt-apply (var-deref "clojure.core" "comp") xforms) coll) (jolt-into (jolt-vector) coll))))))) eduction))) + (def-var! "clojure.core" "eduction" (letrec ((eduction (lambda args (let fnrec926 ((args (list->cseq args))) (let* ((coll (jolt-last args)) (xforms (jolt-invoke (var-deref "clojure.core" "butlast") args))) (if (jolt-truthy? xforms) (jolt-invoke jolt-into (jolt-vector) (jolt-apply (var-deref "clojure.core" "comp") xforms) coll) (jolt-into (jolt-vector) coll))))))) eduction))) (guard (e (#t #f)) - (def-var! "clojure.core" "->Eduction" (letrec ((->Eduction (lambda (xform coll) (let fnrec918 ((xform xform) (coll coll)) (jolt-invoke jolt-into (jolt-vector) xform coll))))) ->Eduction))) + (def-var! "clojure.core" "->Eduction" (letrec ((->Eduction (lambda (xform coll) (let fnrec927 ((xform xform) (coll coll)) (jolt-invoke jolt-into (jolt-vector) xform coll))))) ->Eduction))) (guard (e (#t #f)) - (def-var! "clojure.core" "enumeration-seq" (letrec ((enumeration-seq (lambda (e) (let fnrec919 ((e e)) (jolt-seq e))))) enumeration-seq))) + (def-var! "clojure.core" "enumeration-seq" (letrec ((enumeration-seq (lambda (e) (let fnrec928 ((e e)) (jolt-seq e))))) enumeration-seq))) (guard (e (#t #f)) - (def-var! "clojure.core" "iterator-seq" (letrec ((iterator-seq (lambda (i) (let fnrec920 ((i i)) (jolt-seq i))))) iterator-seq))) + (def-var! "clojure.core" "iterator-seq" (letrec ((iterator-seq (lambda (i) (let fnrec929 ((i i)) (jolt-seq i))))) iterator-seq))) (guard (e (#t #f)) - (def-var! "clojure.core" "promise" (letrec ((promise (lambda () (let fnrec921 () (jolt-invoke (var-deref "clojure.core" "atom") jolt-nil))))) promise))) + (def-var! "clojure.core" "promise" (letrec ((promise (lambda () (let fnrec930 () (jolt-invoke (var-deref "clojure.core" "atom") jolt-nil))))) promise))) (guard (e (#t #f)) - (def-var! "clojure.core" "deliver" (letrec ((deliver (lambda (p v) (let fnrec922 ((p p) (v v)) (begin (jolt-invoke (var-deref "clojure.core" "reset!") p v) p))))) deliver))) + (def-var! "clojure.core" "deliver" (letrec ((deliver (lambda (p v) (let fnrec931 ((p p) (v v)) (begin (jolt-invoke (var-deref "clojure.core" "reset!") p v) p))))) deliver))) (guard (e (#t #f)) - (def-var! "clojure.core" "bean" (letrec ((bean (lambda (x) (let fnrec923 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") x)) x (jolt-hash-map)))))) bean))) + (def-var! "clojure.core" "bean" (letrec ((bean (lambda (x) (let fnrec932 ((x x)) (if (jolt-truthy? (jolt-invoke (var-deref "clojure.core" "map?") x)) x (jolt-hash-map)))))) bean))) (guard (e (#t #f)) - (def-var! "clojure.core" "uri?" (letrec ((uri? (lambda (x) (let fnrec924 ((x x)) #f)))) uri?))) + (def-var! "clojure.core" "uri?" (letrec ((uri? (lambda (x) (let fnrec933 ((x x)) #f)))) uri?))) (guard (e (#t #f)) - (def-var-with-meta! "clojure.core" "special-syms" (let* ((_o$925 (jolt-symbol #f "if")) (_o$926 (jolt-symbol #f "do")) (_o$927 (jolt-symbol #f "let*")) (_o$928 (jolt-symbol #f "fn*")) (_o$929 (jolt-symbol #f "quote")) (_o$930 (jolt-symbol #f "var")) (_o$931 (jolt-symbol #f "def")) (_o$932 (jolt-symbol #f "loop*")) (_o$933 (jolt-symbol #f "recur")) (_o$934 (jolt-symbol #f "throw")) (_o$935 (jolt-symbol #f "try")) (_o$936 (jolt-symbol #f "catch")) (_o$937 (jolt-symbol #f "finally")) (_o$938 (jolt-symbol #f "new")) (_o$939 (jolt-symbol #f "set!")) (_o$940 (jolt-symbol #f ".")) (_o$941 (jolt-symbol #f "monitor-enter")) (_o$942 (jolt-symbol #f "monitor-exit"))) (jolt-hash-set _o$925 _o$926 _o$927 _o$928 _o$929 _o$930 _o$931 _o$932 _o$933 _o$934 _o$935 _o$936 _o$937 _o$938 _o$939 _o$940 _o$941 _o$942)) (jolt-hash-map (keyword #f "private") #t))) + (def-var-with-meta! "clojure.core" "special-syms" (let* ((_o$934 (jolt-symbol #f "if")) (_o$935 (jolt-symbol #f "do")) (_o$936 (jolt-symbol #f "let*")) (_o$937 (jolt-symbol #f "fn*")) (_o$938 (jolt-symbol #f "quote")) (_o$939 (jolt-symbol #f "var")) (_o$940 (jolt-symbol #f "def")) (_o$941 (jolt-symbol #f "loop*")) (_o$942 (jolt-symbol #f "recur")) (_o$943 (jolt-symbol #f "throw")) (_o$944 (jolt-symbol #f "try")) (_o$945 (jolt-symbol #f "catch")) (_o$946 (jolt-symbol #f "finally")) (_o$947 (jolt-symbol #f "new")) (_o$948 (jolt-symbol #f "set!")) (_o$949 (jolt-symbol #f ".")) (_o$950 (jolt-symbol #f "monitor-enter")) (_o$951 (jolt-symbol #f "monitor-exit"))) (jolt-hash-set _o$934 _o$935 _o$936 _o$937 _o$938 _o$939 _o$940 _o$941 _o$942 _o$943 _o$944 _o$945 _o$946 _o$947 _o$948 _o$949 _o$950 _o$951)) (jolt-hash-map (keyword #f "private") #t))) (guard (e (#t #f)) - (def-var! "clojure.core" "special-symbol?" (letrec ((special-symbol? (lambda (s) (let fnrec943 ((s s)) (jolt-contains? (var-deref "clojure.core" "special-syms") s))))) special-symbol?))) + (def-var! "clojure.core" "special-symbol?" (letrec ((special-symbol? (lambda (s) (let fnrec952 ((s s)) (jolt-contains? (var-deref "clojure.core" "special-syms") s))))) special-symbol?))) (guard (e (#t #f)) - (def-var! "clojure.core" "proxy-mappings" (letrec ((proxy-mappings (lambda (p) (let fnrec944 ((p p)) (jolt-hash-map))))) proxy-mappings))) + (def-var! "clojure.core" "proxy-mappings" (letrec ((proxy-mappings (lambda (p) (let fnrec953 ((p p)) (jolt-hash-map))))) proxy-mappings))) (guard (e (#t #f)) - (def-var! "clojure.core" "proxy-call-with-super" (letrec ((proxy-call-with-super (lambda (f p meth) (let fnrec945 ((f f) (p p) (meth meth)) (jolt-invoke f ))))) proxy-call-with-super))) + (def-var! "clojure.core" "proxy-call-with-super" (letrec ((proxy-call-with-super (lambda (f p meth) (let fnrec954 ((f f) (p p) (meth meth)) (jolt-invoke f ))))) proxy-call-with-super))) (guard (e (#t #f)) - (def-var! "clojure.core" "init-proxy" (letrec ((init-proxy (lambda (p mappings) (let fnrec946 ((p p) (mappings mappings)) p)))) init-proxy))) + (def-var! "clojure.core" "init-proxy" (letrec ((init-proxy (lambda (p mappings) (let fnrec955 ((p p) (mappings mappings)) p)))) init-proxy))) (guard (e (#t #f)) - (def-var! "clojure.core" "update-proxy" (letrec ((update-proxy (lambda (p mappings) (let fnrec947 ((p p) (mappings mappings)) p)))) update-proxy))) + (def-var! "clojure.core" "update-proxy" (letrec ((update-proxy (lambda (p mappings) (let fnrec956 ((p p) (mappings mappings)) p)))) update-proxy))) (guard (e (#t #f)) - (def-var! "clojure.core" "proxy-super" (letrec ((proxy-super (lambda args (let fnrec948 ((args (list->cseq args))) (jolt-throw "proxy-super: JVM proxies are not supported in Jolt"))))) proxy-super))) + (def-var! "clojure.core" "proxy-super" (letrec ((proxy-super (lambda args (let fnrec957 ((args (list->cseq args))) (jolt-throw "proxy-super: JVM proxies are not supported in Jolt"))))) proxy-super))) (guard (e (#t #f)) - (def-var! "clojure.core" "construct-proxy" (letrec ((construct-proxy (lambda (c . args) (let fnrec949 ((c c) (args (list->cseq args))) (jolt-throw "construct-proxy: not supported in Jolt"))))) construct-proxy))) + (def-var! "clojure.core" "construct-proxy" (letrec ((construct-proxy (lambda (c . args) (let fnrec958 ((c c) (args (list->cseq args))) (jolt-throw "construct-proxy: not supported in Jolt"))))) construct-proxy))) (guard (e (#t #f)) - (def-var! "clojure.core" "get-proxy-class" (letrec ((get-proxy-class (lambda interfaces (let fnrec950 ((interfaces (list->cseq interfaces))) (jolt-throw "get-proxy-class: not supported in Jolt"))))) get-proxy-class))) + (def-var! "clojure.core" "get-proxy-class" (letrec ((get-proxy-class (lambda interfaces (let fnrec959 ((interfaces (list->cseq interfaces))) (jolt-throw "get-proxy-class: not supported in Jolt"))))) get-proxy-class))) (guard (e (#t #f)) (def-var! "clojure.core" "sfield" (letrec ((sfield (lambda (sc k) (let fnrec243 ((sc sc) (k k)) (jolt-invoke (var-deref "jolt.host" "ref-get") sc k))))) sfield))) (guard (e (#t #f)) diff --git a/jolt-core/clojure/core/20-coll.clj b/jolt-core/clojure/core/20-coll.clj index 10d4e81..d814eab 100644 --- a/jolt-core/clojure/core/20-coll.clj +++ b/jolt-core/clojure/core/20-coll.clj @@ -591,23 +591,35 @@ ;; rand-int: random integer in [0, n). Uses Janet math/random. -;; Eager dedupe of consecutive equal elements (Jolt has no transducer arity yet). -(defn dedupe [coll] - (let [step (fn step [s prev] - (make-lazy-seq - (fn* [] - (let [s (seq s)] - (if s - (let [x (first s)] - (if (= x prev) - (coll->cells (step (rest s) prev)) - (coll->cells (cons x (step (rest s) x))))) - nil)))))] - (let [s (seq coll)] - (if s - (make-lazy-seq - (fn* [] (coll->cells (cons (first s) (step (rest s) (first s)))))) - ())))) +;; 0-arg: a stateful transducer (tracks [seen? prev] in a volatile, so no sentinel +;; value is needed). 1-arg: eager dedupe of consecutive equal elements. +(defn dedupe + ([] + (fn [rf] + (let [pv (volatile! [false nil])] + (fn + ([] (rf)) + ([result] (rf result)) + ([result input] + (let [[seen prior] @pv] + (vreset! pv [true input]) + (if (and seen (= prior input)) result (rf result input)))))))) + ([coll] + (let [step (fn step [s prev] + (make-lazy-seq + (fn* [] + (let [s (seq s)] + (if s + (let [x (first s)] + (if (= x prev) + (coll->cells (step (rest s) prev)) + (coll->cells (cons x (step (rest s) x))))) + nil)))))] + (let [s (seq coll)] + (if s + (make-lazy-seq + (fn* [] (coll->cells (cons (first s) (step (rest s) (first s)))))) + ()))))) ;; Internal helper for {:keys [...]} destructuring over a seq of k/v pairs — ;; canonical Clojure 1.11 shape (core.clj seq-to-map-for-destructuring):