Comparing Functional Programming Languages for Parallel Applications - Alling, Simon (My University, 2019)
I compare Haskell, Erlang, Scala and Manticore in the context of parallel functional programming using two data-parallel problems: mapping a function over a list, and k-means clustering. I give an overview of the syntax and parallel idioms of each language, observe both expected and unexpected performance figures, and finally analyze each language from a programmer’s perspective. I conclude that functional languages can be quite fast, not very far behind C; that the studied languages scale well in general, especially Erlang; that Manticore is not ready for production use; and that none of the three other languages is a clear overall winner.
Keywords: Parallelism; Functional programming; Benchmarking; Performance; Haskell; Scala; Erlang; Manticore; K-means