Meaning of backslash in Haskell code?
<p>So I have this haskell code, and I understand half of it, but I can't get my head around this <code>\x -&gt;</code> here:</p>

<pre><code>testDB :: Catalogue
testDB = fromList [
 ("0265090316581", ("The Macannihav'nmor Highland Single Malt", "75ml bottle")),
 ("0903900739533", ("Bagpipes of Glory", "6-CD Box")),
 ("9780201342758", ("Thompson - \"Haskell: The Craft of Functional Programming\"", "Book")),
 ("0042400212509", ("Universal deep-frying pan", "pc"))
 ]


-- Exercise 1

longestProductLen :: [(Barcode, Item)] -&gt; Int
longestProductLen = maximum . map (\(x, y) -&gt; length $ fst y) 

formatLine :: Int -&gt; (Barcode, Item) -&gt; String
formatLine k (x, (y1, y2)) = x ++ "..." ++ y1 ++ (take  (k - length y1) (repeat '.')) ++ "..." ++ y2

showCatalogue :: Catalogue -&gt; String
showCatalogue c = foldr (++) "" $ map (\x -&gt; (formatLine (longestProductLen (toList testDB)) x) ++ "\n") $ toList c
</code></pre>

<p>I understand that <code>longestProductLen</code> returns and integer meaning the longest title in <code>testDB</code> and then it uses this integer to match <code>k</code> in <code>formatLine</code>, but I can't understnad how it matches <code>(Bardcode, Item)</code> and I guess it has something to do with <code>\x -&gt;</code>, if it does can you please explain how it does that?</p>

<p>Thank you!</p>