> operations that “naturally” take more than two parameters, that can’t be decomposed into reasonable two-parameter functions, are surprisingly rare. Simple examples include:
String substitution: in string X, replace Y with Z.
String padding: pad a string X to width at least Y with character Z.
Dictionary update: given a dictionary D, set D[X] = Y.
The obvious solution here is to have a two-parameter function that serves as a product, combining two arguments into one (eg space-based stranding in APL-likes):
The obvious solution here is to have a two-parameter function that serves as a product, combining two arguments into one (eg space-based stranding in APL-likes):