Typed Clojure in Theory and Practice [pdf]

(ambrosebs.com)

83 points | by tosh 2080 days ago

2 comments

  • didibus 2078 days ago
    What's the difference between optional systems and gradual systems?
    • gcornut 2078 days ago
      The author of Typed Clojure has done a presentation on that subject. https://www.youtube.com/watch?v=yG9CffLlXx0 So if I understood correctly: An optional type system can be toggled at any time but the type checking requires type annotations on all of your code (with all its dependencies). A gradual type system is also optional but can check portions of your program even if they call into un-typed portions of your program and also check typed code called from un-typed code.
    • evmar 2078 days ago
      The first footnote (numbered 1) in the PDF defines these terms.
      • didibus 2076 days ago
        I'm embarrassed now.
  • hencq 2078 days ago
    I wonder if there could be any opportunity to integrate this more with Spec. There seems to be at least some overlap between Typed Clojure and Spec. I could imagine that it would be cool if you could annotate your functions using one way and have some specs be validated statically.