Section of an infix operator
In Haskell there is a special syntax for partial application on infix operators. Essentially, you only give one of the arguments to the infix operator, and it represents a function which intuitively takes an argument and puts it on the "missing" side of the infix operator.
(2^)(left section) is equivalent to
(^) 2, or more verbosely
\x -> 2 ^ x
(^2)(right section) is equivalent to
flip (^) 2, or more verbosely
\x -> x ^ 2
(+) 1) is the "increment" function,
(2*)is the "double" function,
('\t':)is the "indent" function,
(`elem` "AEIOU")is the "is-capital-vowel-in-English" function (ignoring the "sometimes Y").
Note: as an exception, the "-" (subtraction) operator cannot do a right section, because that would be interpreted as unary negation in Haskell syntax. The Prelude function "subtract" is provided for this purpose. Instead of
(- e), you need to write
Note: Iterated sections are also possible, as long the associativity is correct:
(1+2+). The famous (but mostly useless) "Bender" operator is