Was bedeutet => in einer Typensignatur?

Ich fange gerade anLernen Sie ein Haskell, und ich sah dies in einem Beispiel ohne Erklärung verwendet:

tell :: (Show a) => [a] -> String

Was bedeutet das, insbesondere das=>? Ich weiß, dass es nicht funktioniert, wenn ich @ erset-> oder lösche es, aber ich verstehe nicht wirklich warum.