Difference between revisions of "Infix operator"
From HaskellWiki
(talks about using infix operators as prefix functions, and vice versa) 
BrettGiles (talk  contribs) m (Infix operators moved to Infix operator) 
(No difference)

Revision as of 17:43, 22 July 2007
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.