The currying operator transforms a function of the form $(A\times B)\rightarrow C$ into an equivalent one of the form $A\rightarrow(B\rightarrow C)$. The uncurrying operator goes the other way round.

Are there standard names and/or notations for other transformations of this nature that are performed on the order of-, and on the order of application of a function's parameters?

I'm interested in particular in the following transformations.

$(A\times B) \rightarrow C \implies (B\times A)\rightarrow C$

$A \rightarrow (B\rightarrow C) \implies B\rightarrow(A\rightarrow C)$

Is there any textbook, article, or other resource where I can find a list of often occurring transformations of the kind mentioned above, together with their standard names and notations?

  • 1
    $\begingroup$ This is the flip function in Haskell $\endgroup$ – BDN Jun 25 '18 at 8:16
  • $\begingroup$ @BDN: Which one? The upper line or the lower one? $\endgroup$ – Evan Aad Jun 25 '18 at 8:17
  • 1
    $\begingroup$ In Haskell they are the same as it always uses Curried functions. $\endgroup$ – BDN Jun 25 '18 at 8:25
  • $\begingroup$ @BDN: Thanks. Are you familiar, by any chance, with any functional programming language where functions are not automatically Curried? $\endgroup$ – Evan Aad Jun 25 '18 at 8:28
  • $\begingroup$ No, sorry. I haven't used any other functional programming languages. $\endgroup$ – BDN Jun 25 '18 at 8:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.