Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Eh. Most functional languages actually serialize operations pretty linearly in their default evaluation model, which is why they have explicit constructs for parallelism and concurrency.

There are some languages that are intended to parallelize implicitly, though. They tend to use keywords like "data-parallel" and "array language" to describe themselves. Futhark is a good example: https://futhark-lang.org/



> Most functional languages actually serialize operations pretty linearly in their default evaluation model, which is why they have explicit constructs for parallelism and concurrency.

Yes, but evaluation models can adapt easier when the language does not have explicit mutation, so there's less "catching up" to do for functional languages. Also concurrent programming will always require a separate class of constructs from parallelism.

There's also: https://wiki.haskell.org/GHC/Data_Parallel_Haskell


Data Parallel Haskell has been deprecated since roughly when I started using Haskell. It's basically seen as a failed experiment.


And co-dfns: https://github.com/Co-dfns/Co-dfns (subset of APL compiled for GPU).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: