Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks.

There are certainly important tradeoffs. Haskell the language and Haskell the type system are designed to prevent many kinds of programming mistakes.

Typed Clojure is designed to follow any decisions Clojure makes. For example, it's not a type error to lookup a nonexistent key in a map, so we can't really catch typos in keys. Clojure allows dynamic code loading, so it would be rather fruitless to try completeness checking (and languages like Haskell can do it so much better).

You might want to watch my 2012 Clojure Conj talk. I think it touches briefly on this issue. I've always tried to be upfront about the limitations of Typed Clojure.

I apologise if that was a bit rambly, it's 5AM :)



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: