Hi, For those who like analysing their programs I present Dynalint, a simplistic "linter". It's essentially a bunch of manually curated runtime warnings and errors for the core Clojure library.
https://github.com/frenchy64/dynalint Please read the README for instructions and caveats. Here's the gist: user=> (require '[dynalint.lint :as dyn]) nil user=> (dyn/lint) :ok user=> (require '[clojure.set :as set]) nil user=> (set/union #{1} nil) WARNING (Dynalint id 1): clojure.set/union should have set arguments: nil #{1} user=> (vals nil) nil user=> (vals 1) ExceptionInfo ERROR (Dynalint id 2): First argument to clojure.core/vals must be seqable: 1 clojure.core/ex-info (core.clj:4327) user=> (update-in {} [] identity) WARNING (Dynalint id 3): clojure.core/update-in key path should be non-empty: [] {nil nil} Also lein-dynalint is a Leiningen plugin which some might find helpful. https://github.com/frenchy64/lein-dynalint Enjoy! Ambrose -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.