Difference between revisions of "Section of an infix operator"
Jump to navigation
Jump to search
(Category:Glossary) |
(sectioning examples taken from article Currying) |
||
Line 3: | Line 3: | ||
* <hask>(2^)</hask> is equivalent to <hask>(^) 2</hask> |
* <hask>(2^)</hask> is equivalent to <hask>(^) 2</hask> |
||
* <hask>(^2)</hask> is equivalent to <hask>flip (^) 2</hask> |
* <hask>(^2)</hask> is equivalent to <hask>flip (^) 2</hask> |
||
+ | |||
+ | |||
+ | Like [[partial application]] and [[lambda abstraction]], sectioning provides a convenient way of writing some functions without having to explicitly name them: |
||
+ | * <hask>(1+)</hask> (unsugared: <hask>(+) 1</hask>) is the "increment" function, |
||
+ | * <hask>(2*)</hask> is the "double" function, |
||
+ | * <hask>('\t':)</hask> is the "indent" function, |
||
+ | * <hask>(`elem` "AEIOU")</hask> is the "is-capital-vowel-in-English" function (ignoring the "sometimes Y"). |
||
+ | |||
+ | == See also == |
||
+ | |||
+ | * [[Currying]] |
||
Revision as of 14:04, 3 July 2007
In Haskell there is a special syntax for partial application on infix operators.
(2^)
is equivalent to(^) 2
(^2)
is equivalent toflip (^) 2
Like partial application and lambda abstraction, sectioning provides a convenient way of writing some functions without having to explicitly name them:
(1+)
(unsugared:(+) 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").