Re:Why I'm Productive in Clojure (2013)
by hellofunk on Sunday October 22, 2017 @05:18PM
(#15528992)
No, I'm not talking about static checking. I'm talking about property-based tests that run at compile time. Dependent typing is a different matter. What I describe is not dependent typing, but is quite straightforward now thanks to Clojure.spec. And there are a lot of community efforts in the research sphere to see where Spec can take static analysis, it's quite interesting.
To statically check constraints like "all integers between 5 and 50", you need dependent types, and Clojure doesn't support this.
Considering this, I'm not sure what you mean by "before the program ever runs". Do you mean a check thanks to automated property-based testing (which is a way of running a part of your program)?