Re:Async-await on stable Rust
by ibotty on Thursday November 07, 2019 @01:51PM
(#21476080)
There is rayon in rust land. This is a pretty different (simpler) thing.
[ Parent
| on HN ]
Rayon uses iterators. Iterators are the dual of first order functions. Iterators are superior because they are more general. (You can implement pmap using iterators. You cannot implement iterators using pmap.)
Does Rayon use iterators, or just iterator-like combinators? I don’t think a for-loop would work with Rayon, would it?
You can also definitely implement iterators using first-order functions:
const iterate = array => {
const step = index => ({
value: array[index],
next: () => step(index + 1)
});
return step(0);
}
// add some combinators on top
First order functions can in fact implement anything if you’re willing to accept some bad syntax and speed — that’s the Church-Turing equivalence.