3 ms·
The thing is: In order to have performance, you need type hinting (a lot of it). I DO need performance, as the algorithm above is already part of something O(n^
by auggierose 13y ago
The thing is: In order to have performance, you need type hinting (a lot of it). I DO need performance, as the algorithm above is already part of something O(n^3). There also clojure.core.type does not help. And that is the problem with a language feature which is not a compiler feature as well.
By the way, gen-nextvalue is a protocol function.
- brandonbloom 13y ago> In order to have performance, you need type hinting (a lot of it). No, not really. That has only been my experience when interoperating with Java libraries. Protocol dispatch has inline call caches, which are almost as fast as normal java interface dispatch. > that is the problem with a language feature which is not a compiler feature as well You could also say "that is the problem with type system features which are not virtual machine features as well". There is lots of erased information in the Scala type system that could be used for optimizations, but the VM can't make much use of that. Scala's type system does 3 things: 1) Enable type-related optimizations 2) Ensure internal consistency (ie prevent errors) 3) Enhance expressivity through logic solver search Clojure's type hints provide just enough type system to trigger host optimizations, where as core.typed is for finding and preventing bugs. I consider the implicitness of #3 to be an anti-feature.