<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <style id="EHTipGlobalStyle">.EHTipToolTip * {background: inherit;font-family: inherit;font-size: inherit;font-size-adjust: none;font-stretch: normal;line-height: inherit;font-variant: normal;border: 0px;text-transform: inherit;color: inherit;font-style: inherit;text-decoration: inherit;margin: 0px 0px 0px 0px;padding: 0px 0px 0px 0px;float: none;display: inline;cursor: default;}
.EHTipReplacer, .EHTipKey, .EHTipAudio {cursor: pointer;}
.EHTipToolTip hr {margin: 0.4em 0;display: block;border: 1px inset;}
.EHTipTranslation {font-style: normal;}
.EHTipTranslation a {color: #000099;font-style: normal;text-decoration: none;}
.EHTipTranslation a:hover {background: inherit;color: #000000;text-decoration: underline;}
</style>
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Brandon,<br>
    <br>
    -- You will need to let go of that "flexible" ...<br>
    <br>
    Yes, sometimes I still have the feeling I'm not thinking fully
    Haskellish.<br>
    Maybe it's time form me to re-read about the type system.<br>
    <br>
    Can you recommend any resources that helped you in better
    understanding?<br>
    <br>
    <br>
    vlatko<br>
    <br>
    <blockquote style="border-left: 2px solid #330033 !important;
      border-right: 2px solid #330033 !important; padding: 0px 15px 0px
      15px; margin: 8px 2px;"
cite="mid:CAKFCL4VD02jEwj--k0_s3hA2X3bUzB3+j64UmWbLK+TVsFLmhQ@mail.gmail.com"
      type="cite"><!--[if !IE]><DIV style="border-left: 2px solid #330033; border-right: 2px solid #330033;  padding: 0px 15px; margin: 2px 0px;"><![endif]--><span
        style="color:#000000;" class="headerSpan">
        <div class="moz-cite-prefix">-------- Original Message --------<br>
          Subject: Re: [Haskell-cafe] Word rigid in "`a' is a rigid type
          variable..."<br>
          From: Brandon Allbery <a class="moz-txt-link-rfc2396E" href="mailto:allbery.b@gmail.com"><allbery.b@gmail.com></a><br>
          To: Vlatko Bašić <a class="moz-txt-link-rfc2396E" href="mailto:vlatko.basic@gmail.com"><vlatko.basic@gmail.com></a><br>
          Cc: Haskell-Cafe <a class="moz-txt-link-rfc2396E" href="mailto:haskell-cafe@haskell.org"><haskell-cafe@haskell.org></a><br>
          Date: 13.11.2013 18:42<br>
        </div>
        <br>
        <br>
      </span>
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Wed, Nov 13, 2013 at 12:24 PM,
            Vlatko Basic <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:vlatko.basic@gmail.com" target="_blank">vlatko.basic@gmail.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000"> Thanks for
                explanation. If I understood correctly, 'rigid' refers 
                the requirement, not the type itself. <br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                I think that more intuitive/understandable would be
                something like<br>
                <br>
                    'b' has too rigid type for 'a' ...<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>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.</div>
            <div><br>
            </div>
            <div>(This will make more sense when you start using
              typeclasses. Or, at least once you've tried to use your
              notion of "flexible" with them, because it will lead you
              straight into a brick wall that is not flexible at all.)</div>
            <div><br>
            </div>
          </div>
          -- <br>
          <div dir="ltr">
            <div>brandon s allbery kf8nh                              
              sine nomine associates</div>
            <div><a moz-do-not-send="true"
                href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>
                                               <a moz-do-not-send="true"
                href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div>
            <div>unix, openafs, kerberos, infrastructure, xmonad        <a
                moz-do-not-send="true" href="http://sinenomine.net"
                target="_blank">http://sinenomine.net</a></div>
          </div>
        </div>
      </div>
      <!--[if !IE]></DIV><![endif]--></blockquote>
    <br>
  </body>
</html>