Infix operator

From HaskellWiki
Revision as of 10:21, 9 September 2007 by Lemming (talk | contribs) (links to other articles)
Jump to navigation Jump to search

Overview

Functions in Haskell are usually called using prefix notation, or the function name followed by its arguments. However, some functions, like +, are called with infix notation, or putting the function name between its two arguments.

Using infix functions with prefix notation

Putting parenthesis around an infix operator converts it into a prefix function:

 Prelude> (+) 1 2
 3
 Prelude> (*) 3 4
 12

Using prefix functions with infix notation

Putting ` marks around a prefix function allows us to use it like an infix function:

 Prelude> let concatPrint x y = putStrLn $ (++) x y
 Prelude> concatPrint "a" "b"
 ab
 Prelude> "a" `concatPrint` "b"
 ab

Note that you can only do this with a function that takes two arguments.

See also