Scala is the leading FP language (thanks to Spark, Kafka, Akka, and other massive projects). And TIOBE puts Scheme and Lisp ahead of Haskell. And Emacs Lisp probably has more installs than GHC.
Scala is the leading FP language (thanks to Spark, Kafka, Akka, and other massive projects). And TIOBE puts Scheme and Lisp ahead of Haskell. And Emacs Lisp probably has more installs than GHC.
Why would you guess?
> functional language within programming language research
Why is this [more] important? Why not e.g. Erlang which almost certainly pumps more bits per day than Haskell.
Because I'm basing it on my experience doing research in PLT, but this is of course purely anecdotal and my areas of research interest lie away from the likes of Haskell, so I would not wish to make a false claim by stating it as fact.
> Why is this [more] important?
I never said that it was, only that depending on what is meant by "leading", industry usage might not be relevant. Since Scala is by far the more used language I think it's fair to assume that (without meaning to put words into mouths) the original commenter might have been talking about PLT research as opposed to usage in industry.
If leading refers to overall usage in industry, then sure, it's not really relevant.
Most of Scala is derived from Haskell and even now the ecosystem heavily looks at what did/didn't work e.g. Cats, ZIO.
Scala had a lot of influences, but the first two papers on Scala have references to SML and Ocaml but none for Haskell[1]. Make of that what you will.
> Leading more in terms of influence than usage.
Is Haskell influential? By what metric? Impact factor of papers published?
Here are some features that Standard ML had which were cutting edge:
strong static typing
automatic type inference
exception handling
pattern matching
parametric polymorphism
first class functions
Basically all of these features are features any compiled language would enjoy today. SML is a very influential language despite not being used much in industry.Here are features which Haskell is known for aside from the above:
laziness
strict immutability
do-notation
typeclasses
operator overloading with symbols like +++ and ==<
Of these, typeclasses are wicked and influenced Rust's traits (the rest of the language being heavily influenced by [oca]ml). The rest are not even desirable. Haskell doesn't seem very influential in comparison. Maybe it's influential because it warns us to not default to laziness or go full strict immutability?This is distinct from e.g. Erlang where the features like process management through the supervisor, mnesia, and so on are highly desirable for any developer even if other languages/platforms haven't implemented them as a standard component. (, vs . for line termination, not so much).
[1] https://www.scala-lang.org/docu/files/IC_TECH_REPORT_200433...., http://lampwww.epfl.ch/~odersky/papers/ScalableComponent.pdf