Defining backticks using "pipe" operations
(Thanks to Simon Fowler and others on the Links team for the discussion leading to this...)
In Haskell, you can use a 2-argument function as if it were an infix operator by putting "backticks" around it like this:
ghci> let plus x y = x + y
ghci> 1 `plus` 2
3
In a number of functional languages such as F# and OCaml, the following "pipe" operations have become popular (I'll continue using Haskell syntax, though):
ghci> let (|>) x f = f x
ghci> let (<|) f x = f x
ghci> [1,2,3] |> map (plus 1)
[2,3,4]
Read more »
Labels: functional programming, haskell