4 ms·
[EDIT: comment applicable only to an older version of the parent comment] This "foo" still suffers from the same problem as "Option::map" does: it is hard-code
by yakubin 5y ago
[EDIT: comment applicable only to an older version of the parent comment]
This "foo" still suffers from the same problem as "Option::map" does: it is hard-coded for functions of fixed arity (2 in this case, 1 in Option::map's case).
Needing to write this function doesn't shorten the code. The SML-inspired solution allows one to write an "Option::map" which accepts functions of all possible arities (since they are all 1).
But yes, if there are a lot of places where I want to call "Option::map" for an "f" which takes 2 arguments, that could work. Although, personally, I think I'd still opt for an explicit lambda, in order to communicate intent more directly (avoid one level of indirection).
- Arnavion 5y ago>This "foo" still suffers from the same problem as "Option::map" does: it is hard-coded for functions of fixed arity (2 in this case, 1 in Option::map's case). Hence the last paragraph in my comment.