4 ms·
Eh. Most functional languages actually serialize operations pretty linearly in their default evaluation model, which is why they have explicit constructs for pa
by chowells 4y ago
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/ https://futhark-lang.org/
- naasking 4y ago> 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 https://wiki.haskell.org/GHC/Data_Parallel_Haskell
- chowells 4y agoData Parallel Haskell has been deprecated since roughly when I started using Haskell. It's basically seen as a failed experiment.
- hoosieree 4y agoAnd co-dfns: https://github.com/Co-dfns/Co-dfns https://github.com/Co-dfns/Co-dfns (subset of APL compiled for GPU).