In Haskell, we use the term "section" to indicate a partially applied function used in infix position. For instance, for a function foo :: a -> b -> c and values x :: a and y :: b, we have the two sections
s1 = (x `foo`) :: b -> c == \b -> foo x b
and
s2 = (`foo` y) :: a -> c == \a -> foo a y
In category theory, however, a section g of f is defined as a right inverse of f (so that f . g == id).
I don't see an obvious connection between the two definitions. For instance, s1 is clearly not an inverse of foo, at least not in Hask. I suppose s1 doesn't even have to have an inverse in Hask.
Is the category-theoretical definition the source of the Haskell definition, and if so, how?
(x+y), chop off one part of it (take a "section"), and consider what remains. - chi