Almost all the Haskell entries in the shootout are just using the FFI to call into C libraries. None of them are remotely close to idiomatic Haskell.
The reasons other than the ones I've outlined are caused by implementation details and wouldn't exist if they chose the correct abstractions.
CanBuildFrom is essentially a typeclass in Scala that is used for converting between collection types. Ignoring the coherency issues associated with using implicits for typeclasses, it makes the implementation of the…
They were (or are) being deprecated because they were broken beyond repair. That's pretty damning considering that all of the things I mentioned have been done properly in plenty of other languages. They aren't treading…
That's part of Clojure's implementation in Java and the alternative would be to use reflection (obviously a terrible idea). There is similar code in the Scala implementation for dealing with functions, case classes and…
> it combines the safety of Haskell with the flexibility of Clojure Foldable, Traversable, Monoid etc. are all far better abstractions than what Scala collections provide, and they don't lead to unmanageable inheritance…
You use an iterator, which has its own caveats, or you simply accept that chaining collection transformations is going to be ridiculously inefficient.
> Scala gives you are a much faster way to achieve the level of reliability you need than the level of testing you need in a less typed language I have serious doubts about this since practically everything in the Scala…
Almost all the Haskell entries in the shootout are just using the FFI to call into C libraries. None of them are remotely close to idiomatic Haskell.
The reasons other than the ones I've outlined are caused by implementation details and wouldn't exist if they chose the correct abstractions.
CanBuildFrom is essentially a typeclass in Scala that is used for converting between collection types. Ignoring the coherency issues associated with using implicits for typeclasses, it makes the implementation of the…
They were (or are) being deprecated because they were broken beyond repair. That's pretty damning considering that all of the things I mentioned have been done properly in plenty of other languages. They aren't treading…
That's part of Clojure's implementation in Java and the alternative would be to use reflection (obviously a terrible idea). There is similar code in the Scala implementation for dealing with functions, case classes and…
> it combines the safety of Haskell with the flexibility of Clojure Foldable, Traversable, Monoid etc. are all far better abstractions than what Scala collections provide, and they don't lead to unmanageable inheritance…
You use an iterator, which has its own caveats, or you simply accept that chaining collection transformations is going to be ridiculously inefficient.
> Scala gives you are a much faster way to achieve the level of reliability you need than the level of testing you need in a less typed language I have serious doubts about this since practically everything in the Scala…