Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 396
Nikita Volkov Avatar asked Jan 24 '12 20:01

Nikita Volkov


Video Answer


1 Answers

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.)

like image 186
ehird Avatar answered Sep 21 '22 14:09

ehird