Skip to content

Commit 5dab294

Browse files
committed
Call unifier/prep in defrules, other clean up
1 parent 312d8b8 commit 5dab294

File tree

5 files changed

+13
-37
lines changed

5 files changed

+13
-37
lines changed

.clj-kondo/config.edn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{:lint-as {kibit.rules.util/defrules clj-kondo.lint-as/def-catch-all}}

src/kibit/check.clj

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
(ns kibit.check
22
"Kibit's integration point and public API"
33
(:require [clojure.java.io :as io]
4-
[clojure.core.logic.unifier :as unifier]
54
[kibit.core :as core]
65
[kibit.rules :as core-rules]
76
[kibit.reporters :as reporters]
@@ -67,12 +66,13 @@
6766
"Construct the canonical simplify-map
6867
given an expression and a simplified expression."
6968
[expr simplified-expr]
70-
{:expr expr
71-
:line (-> expr meta :line)
72-
:column (-> expr meta :column)
73-
:end-line (-> expr meta :end-line)
74-
:end-column (-> expr meta :end-column)
75-
:alt simplified-expr})
69+
(let [expr-meta (meta expr)]
70+
{:expr expr
71+
:line (:line expr-meta)
72+
:column (:column expr-meta)
73+
:end-line (:end-line expr-meta)
74+
:end-column (:end-column expr-meta)
75+
:alt simplified-expr}))
7676

7777
;; ### Guarding the check
7878

@@ -169,7 +169,6 @@
169169
(merge default-args
170170
{:resolution :toplevel}
171171
(apply hash-map kw-opts))
172-
rules (map unifier/prep rules)
173172
simplify-fn #((res->simplify resolution) % rules)]
174173
(check-aux expr simplify-fn guard)))
175174

@@ -178,7 +177,6 @@
178177
(let [{:keys [rules guard resolution init-ns]}
179178
(merge default-args
180179
(apply hash-map kw-opts))
181-
rules (map unifier/prep rules)
182180
simplify-fn #((res->simplify resolution) % rules)]
183181
(keep #(check-aux % simplify-fn guard)
184182
((res->read-seq resolution) reader init-ns))))

src/kibit/rules/arithmetic.clj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,4 @@
2323
[(dec (Math/exp ?x)) (Math/expm1 ?x)]
2424

2525
;;ugly rounding tricks
26-
[(long (+ ?x 0.5)) (Math/round ?x)]
27-
)
28-
29-
26+
[(long (+ ?x 0.5)) (Math/round ?x)])

src/kibit/rules/control_structures.clj

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,3 @@
2121
(while ?test . ?exprs)]
2222
[(let ?binding (do . ?exprs)) (let ?binding . ?exprs)]
2323
[(loop ?binding (do . ?exprs)) (loop ?binding . ?exprs)])
24-
25-
(comment
26-
(when (not (pred? x y)) (f x y))
27-
28-
(if (all-streams-complete?)
29-
(do
30-
(deliver @all-clear :true)
31-
(info "All streams complete.")))
32-
33-
(if (pred? x)
34-
(do (action a)
35-
(action b)
36-
(if-let [x (f a b c)
37-
y (g a b c)
38-
z (h a b c)]
39-
(do (+ 1 0)
40-
(= 1 1)
41-
(< 1 0)))
42-
(action d)
43-
(action f))
44-
nil))

src/kibit/rules/util.clj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
(defmacro defrules [name & rules]
1414
`(let [rules# (for [rule# '~rules]
15-
(if (raw-rule? rule#)
16-
(eval rule#) ;; raw rule, no need to compile
17-
(compile-rule rule#)))]
15+
(unifier/prep
16+
(if (raw-rule? rule#)
17+
(eval rule#) ;; raw rule, no need to compile
18+
(compile-rule rule#))))]
1819
(def ~name (vec rules#))))

0 commit comments

Comments
 (0)