4 ms·
It's very hard to do that if you want to use higher-order functions ergonomically. In fact that's the entire reason this area of language design is difficult a
by tome 3y ago
It's very hard to do that if you want to use higher-order functions ergonomically. In fact that's the entire reason this area of language design is difficult at all. Specifically, if you define a higher order function (e.g. `f :: (a -> b) -> c` in Haskell notation) and you want to specify that it is "pure" if and only if its argument is "pure". How do you do that in D? I bet you can't!