3 ms·
You should stop oversellling things. Spec is not a type system.
by lispm 7y ago
You should stop oversellling things. Spec is not a type system.
- iLemming 7y agoJust because you can't do a rigorous static analysis (which to certain degree is possible, check out Spectrum) it doesn't mean that Spec is not a type system.
- lispm 7y agoThat's misleading. Spec is a contract system. Read the page on the spec rationale: https://clojure.org/about/spec https://clojure.org/about/spec . It even mentions that spec is not a type system and that spec is similar to contracts in Racket, etc. If we look at programming languages like Java, Typescript, C++, Haskell, etc., then we see that their type systems are completely different and have an entirely different purpose. Claiming to those users that spec is a type system, is just misleading them.
- iLemming 7y agoSemantics. Spec is very close to dependent types. "Entirely different purpose" is kinda vague. If the end result is the correctness of the program, the purpose is the same. If someone can perform Vivaldi's Four Seasons on Ukelele, it's cool. It doesn't make Ukelele less of an instrument.
- lispm 7y agoSo, spec is the ukulele in the vast domain of Type Systems?