Search code examples
haskelltuplesfunction-composition

Tuple and function composition


Is there a better way to express (\(a, b) -> a < b) with function composition? I feel like I'm missing something and experimenting with curry only confused me more.


Solution

  • curry is the wrong thing to use here; it turns a function operating on tuples into a curried function. You want the opposite, which is uncurry:

    uncurry :: (a -> b -> c) -> (a, b) -> c
    

    In this case, it's uncurry (<).

    (Another useful source for combinators useful in writing functions on tuples is Control.Arrow; since (->) is an instance of Arrow, you can read a b c as b -> c.)