So what is something that has “mass appeal” , something that can be read from the side of a box at a computer shop?
[…] parallelism is the default in ParaSail. It is our belief that that is the only way that programmers will learn to take full advantage of the multicore world. That is, in ParaSail, it is more work to create non -parallel algorithms than to create parallel ones, so programmers, being fundamentally a lazy lot, will end up writing mostly parallel algorithms in ParaSail.
Designing ParaSail, a new programming language: ParaSail's implicit parallelism
In recent years, a Haskell-style paradigm has come into vogue because of the treasury of benefits it offers: rendering certain categories of bugs impossible by design, making a program’s correctness more provable, and enabling easy parallel computation.
Inside the Cult of the Haskell Programmer | WIRED
Recently, cloud computers are widely used due to the development of computing environment and network speed. Unikernel is considered to be an attractive operating system in the manycore environment that effectively provides cloud computers. HalVM is a unikernel coded in Haskell. In this paper, we analyze the performance of Haskell running in a unikernel, which has shown good parallel programming performance in a manycore environment.
Radware Bot Manager Captcha
https://www.amd.com/en/newsroom/press-releases/2023-10-19-amd-introduces-new-amd-ryzen-threadripper-7000-ser.html
…which “feature up to 96 cores and 192 processing threads of incredible performance for the workstation market.”
Intel shows off a maths defying 8-core chip with 528 threads and optical interconnects | PC Gamer
Interesting: that’s 528/8 = 66 threads/core.
…because these days, who doesn’t want to “get more stuff done” simultaneously? Moreover:
Using concurrency to implement parallelism is quite common, but not necessarily a good idea:
reasoning about threads is difficult,
communication between threads,
exceptions,
potential deadlocks and race conditions.
Often, code we want to parallelise is pure – it involves no side effects at all. So why introduce them just for parallelism?
https://www.andres-loeh.de/Munich-Lambda-Par.pdf (slide 7 of 68)
Exactly.
The choice of non-strict semantics by default, and consequently purity now places Haskell at an advantage over most other “step-by-step-by-step” languages, where historically parallelism and concurrency have been thoroughly muddled-up. But as the existence of ParaSail shows, nothing stops new parallel languages from appearing. So for Haskell to be synonymous with parallelism means taking the necessary measures now, while (most of) the rest of the competition are still deciding how to “add-on” purity e.g:
(
…let alone non-strict semantics ;-)