There is no reliable type system with no holes, because there are no humans who can generate a hole free collection of orthogonal types.
For simple, there is always Clojure. Uses predicates rather than declarative types.
For simple, there is always Clojure. Uses predicates rather than declarative types.
"Simple Made Easy": https://www.infoq.com/presentations/Simple-Made-Easy/
Agreed, Clojure is concise, expressive, and relatively simple.
Could you explain what predicates are? I've never seen the concept of predicates put forth as an alternative to types
Rich Hickey, creator of Clojure, talks more comprehensively about this view in his talk on Clojure Spec (called "Speculation").