And this is very nearly ready for prime time!

This commit is contained in:
Simon Brooke 2023-01-09 08:39:07 +00:00
parent 2893d83c15
commit 86e07385b8

View file

@ -13,8 +13,8 @@
(file-seq (file "resources/activitystreams-test-documents")))) (file-seq (file "resources/activitystreams-test-documents"))))
(def r (def r
(remove (reduce
empty? concat-non-empty
(map (map
#(try #(try
(let [contents (read-str (slurp %)) (let [contents (read-str (slurp %))
@ -29,8 +29,7 @@
;; (keywordize-keys obj))) ;; (keywordize-keys obj)))
;; contents)) ;; contents))
)] )]
(when-not (empty? faults) (map (fn [f] (assoc f :document (.getName %))) faults))
[(.getName %) faults]))
(catch Exception any (catch Exception any
[(.getName %) (str "Exception " [(.getName %) (str "Exception "
(.getName (.getClass any)) (.getName (.getClass any))
@ -46,6 +45,20 @@
#(and (.isFile %) (.endsWith (.getName %) ".json")) #(and (.isFile %) (.endsWith (.getName %) ".json"))
(file-seq (file "resources/activitystreams-test-documents")))) (file-seq (file "resources/activitystreams-test-documents"))))
(count r) ;; (count r)
(last r) ;; (last r)
(clojure.pprint/pprint (last r)) ;; (clojure.pprint/pprint (last r))
(defn distribution
"Distribution of values of function `f` when applied to `vals`.
I *know* there's a library function that does this, probably better, but I
don't remember what it's called!"
[f vals]
(loop [result {} values vals]
(cond (empty? values) result
:else (let [r (apply f (list (first values)))
i (if (result r) (inc (result r)) 1)]
(recur (assoc result r i) (rest values))))))
(distribution :fault r)