Functions are the most important idea in Haskell. A function takes a single value as input and returns a single value as output. Clearly it is often desirable to take in more than one argument or give out more than one. This can be done using [[tuples]] or [[lists]] but there is a very mathematically elegant and useful method called [[currying]], named for the logician Haskell Curry. | Functions are the most important idea in Haskell. A function takes a single value as input and returns a single value as output. Clearly it is often desirable to take in more than one argument or give out more than one. This can be done using [[tuples]] or [[lists]] but there is a very mathematically elegant and useful method called [[currying]], named for the logician Haskell Curry. |