fuckerdefuck

This commit is contained in:
Michiel Borkent 2022-10-02 18:18:31 +02:00
parent a0ae7a94b7
commit 87d83bf95f
3 changed files with 5 additions and 9 deletions

View file

@ -5,7 +5,6 @@
[babashka.impl.clojure.spec.gen.alpha :as gen] [babashka.impl.clojure.spec.gen.alpha :as gen]
[babashka.impl.clojure.spec.test.alpha :as test :refer [tns]] [babashka.impl.clojure.spec.test.alpha :as test :refer [tns]]
[clojure.core :as c] [clojure.core :as c]
[clojure.spec.alpha :as csa]
[sci.core :as sci :refer [copy-var]])) [sci.core :as sci :refer [copy-var]]))
(def gns (sci/create-ns 'clojure.spec.gen.alpha nil)) (def gns (sci/create-ns 'clojure.spec.gen.alpha nil))
@ -27,8 +26,6 @@
(let [k (if (symbol? k) (ns-qualify k) k)] (let [k (if (symbol? k) (ns-qualify k) k)]
`(clojure.spec.alpha/def-impl '~k '~(#'s/res spec-form) ~spec-form))) `(clojure.spec.alpha/def-impl '~k '~(#'s/res spec-form) ~spec-form)))
;; TODO: fix error in clj-kondo: def is a special form which should always be resolved as the special form
#_:clj-kondo/ignore
(def spec-namespace (def spec-namespace
{'def (sci/copy-var s/def sns) {'def (sci/copy-var s/def sns)
'def-impl (copy-var s/def-impl sns) 'def-impl (copy-var s/def-impl sns)
@ -53,7 +50,7 @@
'fdef (copy-var s/fdef sns) 'fdef (copy-var s/fdef sns)
'fspec (copy-var s/fspec sns) 'fspec (copy-var s/fspec sns)
'fspec-impl (copy-var s/fspec-impl sns) 'fspec-impl (copy-var s/fspec-impl sns)
'every (copy-var csa/every sns) 'every (copy-var s/every sns)
'every-impl (copy-var s/every-impl sns) 'every-impl (copy-var s/every-impl sns)
'every-kv (copy-var s/every-kv sns) 'every-kv (copy-var s/every-kv sns)
'keys (copy-var s/keys sns) 'keys (copy-var s/keys sns)

View file

@ -63,7 +63,7 @@
:lib-tests :lib-tests
{:extra-paths ["process/src" "process/test" "test-resources/lib_tests"] {:extra-paths ["process/src" "process/test" "test-resources/lib_tests"]
:extra-deps {org.clj-commons/clj-http-lite {:mvn/version "0.4.392"} :extra-deps {org.clj-commons/clj-http-lite {:mvn/version "0.4.392"}
org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha" #_#_org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha"
:sha "0dec1f88cbde74a0470b454396f09a03adb4ae39"} :sha "0dec1f88cbde74a0470b454396f09a03adb4ae39"}
lambdaisland/regal {:mvn/version "0.0.143"} lambdaisland/regal {:mvn/version "0.0.143"}
cprop/cprop {:mvn/version "0.1.16"} cprop/cprop {:mvn/version "0.1.16"}
@ -104,7 +104,7 @@
org.clojure/core.specs.alpha {:mvn/version "0.2.62"} org.clojure/core.specs.alpha {:mvn/version "0.2.62"}
reifyhealth/specmonstah {:git/url "https://github.com/reifyhealth/specmonstah", :sha "a2b357009a3aa99a0c2d2361f3bbcd0b0e36505e"} reifyhealth/specmonstah {:git/url "https://github.com/reifyhealth/specmonstah", :sha "a2b357009a3aa99a0c2d2361f3bbcd0b0e36505e"}
exoscale/coax {:mvn/version "1.0.0-alpha14"} exoscale/coax {:mvn/version "1.0.0-alpha14"}
orchestra/orchestra {:mvn/version "2021.01.01-1"} orchestra/orchestra {:local/root "/tmp/orchestra"} #_{:mvn/version "2021.01.01-1"}
expound/expound {:mvn/version "0.8.10"} expound/expound {:mvn/version "0.8.10"}
integrant/integrant {:mvn/version "0.8.0"} integrant/integrant {:mvn/version "0.8.0"}
com.stuartsierra/dependency {:mvn/version "1.0.0"} com.stuartsierra/dependency {:mvn/version "1.0.0"}

View file

@ -535,7 +535,7 @@
mopts) mopts)
(mapcat identity)))) (mapcat identity))))
#_(defmacro every (defmacro every
"takes a pred and validates collection elements against that pred. "takes a pred and validates collection elements against that pred.
Note that 'every' does not do exhaustive checking, rather it samples Note that 'every' does not do exhaustive checking, rather it samples
@ -569,9 +569,8 @@
nopts (-> opts nopts (-> opts
(dissoc :gen :clojure.spec.alpha/describe) (dissoc :gen :clojure.spec.alpha/describe)
(assoc :clojure.spec.alpha/kind-form `'~(res (:kind opts)) (assoc :clojure.spec.alpha/kind-form `'~(res (:kind opts))
:clojure.spec.alpha/describe (c/or desc `'(every ~(res pred) ~@(res-kind opts))))) :clojure.spec.alpha/describe (c/or desc `'(clojure.spec.alpha/every ~(res pred) ~@(res-kind opts)))))
gx (gensym) gx (gensym)
_ (prn nopts)
cpreds (cond-> [(list (c/or kind `coll?) gx)] cpreds (cond-> [(list (c/or kind `coll?) gx)]
count (conj `(= ~count (bounded-count ~count ~gx))) count (conj `(= ~count (bounded-count ~count ~gx)))