[Haskell-cafe] Word rigid in "`a' is a rigid type variable..."
Stijn van Drongelen
rhymoid at gmail.com
Wed Nov 13 16:52:24 UTC 2013
On Wed, Nov 13, 2013 at 5:37 PM, Vlatko Basic <vlatko.basic at gmail.com>wrote:
> 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 ->
> 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,
I suspect the nomenclature comes from SPJ et al.'s "Simple
Unification-based Type Inference for GADTs" (even though you're not using
GADTs). Here, 'rigid' is used as a more technical term for "user-supplied".
But I'm not sure.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe