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

Brandon Allbery allbery.b at gmail.com
Wed Nov 13 17:56:44 UTC 2013


On Wed, Nov 13, 2013 at 12:42 PM, Brandon Allbery <allbery.b at gmail.com>wrote:

> On Wed, Nov 13, 2013 at 12:24 PM, Vlatko Basic <vlatko.basic at gmail.com>wrote:
>
>>  Thanks for explanation. If I understood correctly, 'rigid' refers  the
>> requirement, not the type itself.
>>
>
> I think that more intuitive/understandable would be something like
>>
>>     'b' has too rigid type for 'a' ...
>>
>
> Not really, unless you're talking about some notion of "types of types"
> (which exists, but not in this way). You're still trying to hold onto some
> notion that `a` is flexible; but the compiler does not care about the kind
> of flexibility you want. You will need to let go of that "flexible" for
> Haskell's type system to make sense.
>

As an example of this, by the way: your function declaration admits only
two possible definitions, ignoring nontermination. Both of them ignore `a`
entirely, because you can't do *anything* with it. You don't get much more
rigid than being unable to use it at all!

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131113/d32607ae/attachment.html>


More information about the Haskell-Cafe mailing list