2 ms·
There is already typing in Clojure (and Python and Ruby). It`s called "100% unit test coverage". If you want it, you can have it now.
by memracom 13y ago
There is already typing in Clojure (and Python and Ruby). It`s called "100% unit test coverage". If you want it, you can have it now.
- pbiggar 13y agoUnit test coverage (as much as I enjoy it, since that's how CircleCI makes all its money) is good, but it can't provide the guarantees static type checking can. Each has its place, and neither replaces the other.
- steveklabnik 13y agoI write lots of Ruby, and I downvoted you because this isn't very constructive.
- acjohnson55 13y agoCan 100% unit test coverage give you intellisense, real-time warnings, and refactoring capabilities? Nope. Unit testing is great for verifying that a piece of code works conforms to specification, but typing verifies that you're using a piece of code as expected. Two different things.
- tel 13y agoCoverage isn't the same as enumeration of all possible modes. 100% test coverage might mean that all of your "wiring" fits together, but with dynamic languages it may not as runtime information may affect your types and break things. 100% enumeration of runtime behaviors is another property, far stronger than any non-dependent static types today, but also exponentially more difficult than 100% test coverage. Good static types are a cheap way to get probably halfway between those two on a log scale.
- mcguire 13y ago100% of what? The parameter value space?