@Colin Yates If spec is a DSL to describe invariants and the static typing of other languages are too, then it's not true that all static typing DSLs can express what the spec DSL can.
If you say, could I build spec in other languages, or can I put asserts in the code using the full languages, ya off course you can, but not without considerable effort. Similarly, you can add static typing to Clojure, but that also comes with considerable effort. That's why people skip over this. Can I embed a haskell inside Clojure? I could. I could embed a Clojure inside Haskell too. But those are not a given feature provided to me for free as standard. So the discussion should center around what features I get for free. With spec, you get a very powerful description DSL, more powerful than most static typing ones. You get generative testing, parsing, validation, asserts and documentation. With static typing systems, you get a often less powerful description DSL, compile time type assertions, and documentation. -- 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/d/optout.