On Friday, 6 December 2019 at 05:09:58 UTC, Paul Backus wrote:
On Thursday, 5 December 2019 at 17:27:45 UTC, Taylor Hillegeist wrote:

I agree with this.

I wasn't clear enough in my question though.
I was trying to distinguish between std.functional.compose and std.functional.pipe they look very the same. Pipe says it reverses functions order. Which makes no sense to me.

input.pipe!(f, g, h) == input.f.g.h == h(g(f(input)))

input.compose!(f, g, h) == input.h.g.f == f(g(h(input)))

This is surprisingly clear. I guess I never thought to put multiple functions into pipe that way. It also makes sense why pipe would be the default choice.

Thank you, Paul, for the great answer.

Reply via email to