[Haskell-cafe] Word rigid in "`a' is a rigid type variable..."

Vlatko Basic vlatko.basic at gmail.com
Wed Nov 13 16:37:33 UTC 2013


Hi Cafe,

in an example function

     f :: a -> Bool
     f a = let b = "x" in a == b

compiler complains with
   `a' is a rigid type variable bound by  the type signature for f :: a -> Bool

I'm puzzled with the choice of word 'rigid' here.
I see these types as
     - 'b' has "rigid/unchangeable" type (only String), and
     - 'a' has "soft/variable" type (any type, no constraints).

Why is it called rigid?
Where does the meaning (in this context) come from?



Best regards,

vlatko


More information about the Haskell-Cafe mailing list