What about this idea?
(defn config []
{:db {:host "localhost" :port 5432}
:http {:port 8080}})
(defn db-url []
(str "jdbc:postgresql://" (-> (config) :db :hots)))
^ Unknown key: hots, closest match: :host
Maybe it's not exactly the same topic, but one thing that has always made me hesitate to use more "it's all data" type of libraries (except Malli and Hiccup, they're too useful) is the stringly-typed feel of them in editors/IDEs. I mean that I generally have better feedback on whether I am using the right thing if the library uses e.g. (regal/and ...) instead of [:and ...].
can't wait for clj-kondo to implement full hindley-milner type inference
@nbtheduke I've been working on this for the past year or two, and am planning to release the library soon βΊοΈ
I signed up to give the talk about it at Clojure Toronto in January, but will maybe release the library itself earlier if there's interest
Seems to be working well!
Most of the findings were tests asserting that a map does not have a key (as in, the lookup returns nil) An interesting one however was found in production code, where I found that the lookup was done against a map that was designed to be manipulated via alter-var-root by users of the library. Good catch, I ended up adding some comments about this usecase
ah nice, so it found something useful? :)
Indeed. Not a bug (phew!), but something that was in need of some explanation