I'm actually trying to address this in my current language experiment: https://github.com/mikera/kiss
The idea: add static types to Clojure without compromising on the dynamism / flexibility / convenience
The idea: add static types to Clojure without compromising on the dynamism / flexibility / convenience
- its hard to safely refacture without static types (and the help of the IDE that often comes with it)
- dynamic languages must compensate the missing type checking support from the compiler with additional unit tests, negating the productivity gains
Sometimes it would be nice to have both worlds in the same language, but the way Clojure does it does't appeal to me at all.