4 ms·
I guess it depends on the definition of "powerful". Scala unlike Haskell, has first class modules ( aka OO ) and unlike Coq (And Agda, I presume) is turing-com
by gclaramunt 15y ago
I guess it depends on the definition of "powerful".
Scala unlike Haskell, has first class modules ( aka OO ) and unlike Coq (And Agda, I presume) is turing-complete.
( Not that those things really matter to make an awesome language :) )
But for mature statically typed langs running JVM, Scala is the most powerful ...
- Peaker 15y agoWell, Scala has advantages and disadvantages over Haskell, but I wouldn't say it is more "powerful" than Haskell. Consider the implementation of a properly lazy "const" function in Haskell: const x _ = x And in Scala: http://apocalisp.wordpress.com/2010/04/21/a-proper-constant-function-in-scala/ http://apocalisp.wordpress.com/2010/04/21/a-proper-constant-... Not sure about Coq, but Agda is Turing Complete (you just need to turn off termination checks) and Epigram also supports general recursion as well as structural recursion with total functions.
- gclaramunt 15y agoCoq is not turing-complete, but IMHO, completeness is overrated :) I was trying to point that the "more powerful" criteria is pretty subjective. The OP said "more powerful than the alternatives", that usually means "runs in the JVM"... and AFAIK, Jaskell or CAL are far from mature.