Great talk, best part for me was realizing that this gives all the benefits of dependent typing at test time, with the ability to turn it off for production for performance. Very cool.
In the last Clojure project I worked on, I made heavy use of schema. I’ve been coming to prefer contracts (and soft typing) in general; it works well with a REPL-driven exploratory programming style, and can be refined as the understanding of the program coalesces. Lately, I’ve been playing around with contracts in Common Lisp, inspired by some explorations in Racket and the time I spent using Schema.
Great talk, best part for me was realizing that this gives all the benefits of dependent typing at test time, with the ability to turn it off for production for performance. Very cool.
In the last Clojure project I worked on, I made heavy use of schema. I’ve been coming to prefer contracts (and soft typing) in general; it works well with a REPL-driven exploratory programming style, and can be refined as the understanding of the program coalesces. Lately, I’ve been playing around with contracts in Common Lisp, inspired by some explorations in Racket and the time I spent using Schema.