tl;dr: "we remark that all 3 languages provide easy-to-use, high-level and efficient support for parallelism. Haskell has an edge in its rich libraries and aggressive optimisation. Through laziness, top-level parallelism can be specified in a more modular way, minimising the need to modify components and avoiding any notion of explicit threads. Thus, Haskell is the language of choice for minimally intrusive parallelism. F# and Scala provide several mechanisms for parallelisation, some as high level as Haskell’s, some lower level with more potential for performance tuning. Thus, these languages provide a more direct route to controlling low level aspects and can use object-oriented and impure language features."
CS "Workshops" are still academic in nature, but as opposed to a conference, they encourage papers that present work that is still in progress, or not large enough in scope for a conference paper.
I'm glad to see F# mentioned. All to often it's dismissed in my discussions with friends, because. Net is uncool in general or because they didn't know that F# is officially backed and therefor quite likely here to stay.
Seeing a link here where it is mentioned with/compared to Scala and Haskell is a refreshing change.
I have enough difficulty convincing people in my .NET based company that it's a fully supported language that ships with Visual Studio and the .NET runtime.
I recently had someone complaining that they'd have to install extra software to use it! Took a lot of convincing otherwise.
Quite interesting, but it seems they used the old Mono gc, when testing F# on linux
I tried to replicate their results (it wasn't really easy to setup, so I only ran few tests) to show the difference when using the SGEN gc, these are my results on my corei7 860 (4 cores + hyperthreading)
F# on Windows8 64bit (it should be .net 4.5)
.\fsharpbench.exe 80000 1 bharr 3
6.94s
F# on Linux (Mono 2.10.8)
mono-sgen Main.exe 80000 1 bharr 3
13.69s
mono Main.exe 80000 1 bharr 3
20.54s
and, by changing the gc's write barrier, you can shave off an half second more:
so, F# on Linux is still slower than Scala and F# on Windows, but the situation is not as bad as in the paper (4/5 times slower, or worse): it's in the same ballpark (a little more than 0.5 the speed on Windows) imho: definitely usable (on single core loads it is also much more competitive, from the few lines of F# that I've written)
btw: it seems also that Scala2.10 is quite faster than Scala2.9 :D
It would be cool to see a similar contrast between Data Parallel Haskell (http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell / http://www.youtube.com/watch?v=NWSZ4c9yqW8) and others.