<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div style="" class="markdown-here-wrapper"
      data-md-url="Thunderbird">
      <p style="margin: 1.2em 0px ! important;">I agree, it’s a bit too
        heavy. In fact, since most users probably won’t ever ever ever
        need that type, let’s only impose it on those who explicitly
        agree to see it:</p>
      <pre style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block ! important;display: block; padding: 0.5em; color: rgb(51, 51, 51); background: rgb(248, 248, 255) none repeat scroll 0% 0%;" class="hljs language-haskell">> :t ($)
<span class="hljs-comment">-- Note: the actual type is slightly more generic; set -fshow-levity</span>
<span class="hljs-comment">-- or use :t# instead of :t to see the fully generic form.</span>
($) :: (a -> b) -> a -> b
</code></pre>
      <p style="margin: 1.2em 0px ! important;">On 02/06/2016 03:06 AM,
        Mihai Maruseac wrote:</p>
      <p style="margin: 1.2em 0px ! important;"></p>
      <div class="markdown-here-exclude">
        <p></p>
        <blockquote
cite="mid:CAOMsUMKjCnmUO9VSOVDj3iMnQhcmrR_CjTUYjqbjTzVJYqid1A@mail.gmail.com"
          type="cite">
          <pre wrap="">On Fri, Feb 5, 2016 at 6:22 PM, Artyom <a class="moz-txt-link-rfc2396E" href="mailto:yom@artyom.me"><yom@artyom.me></a> wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">Why not just make GHCi output a comment whenever the type involves levity?

</pre>
            <blockquote type="cite">
              <pre wrap="">:t ($)
</pre>
            </blockquote>
            <pre wrap="">-- Note: the actual type is more generic:
--
--     ($) :: forall (w :: GHC.Types.Levity) a (b :: TYPE w).  (a -> b) -> a
-> b
--
-- For the absolute majority of purposes the simpler type is correct.
-- See GHC Guide chapter X point Y to learn more about this.

($) :: (a -> b) -> a -> b

</pre>
          </blockquote>
          <pre wrap="">Wouldn't this look like a scary error to some users? Though, users can
get accustomed to this and this solution seems to be the best of both
worlds.

</pre>
          <br>
          <br>
        </blockquote>
        <p></p>
      </div>
      <p style="margin: 1.2em 0px ! important;"></p>
      <div
title="MDH:SSBhZ3JlZSwgaXQncyBhIGJpdCB0b28gaGVhdnkuIEluIGZhY3QsIHNpbmNlIG1vc3QgdXNlcnMgcHJvYmFibHkgd29uJ3QgZXZlciBldmVyIGV2ZXIgbmVlZCB0aGF0IHR5cGUsIGxldCdzIG9ubHkg
aW1wb3NlIGl0IG9uIHRob3NlIHdobyBleHBsaWNpdGx5IGFncmVlIHRvIHNlZSBpdDo8YnI+PGJy
Pn5+fiBoYXNrZWxsPGJyPiZndDsgOnQgKCQpPGJyPi0tIE5vdGU6IHRoZSBhY3R1YWwgdHlwZSBp
cyBzbGlnaHRseSBtb3JlIGdlbmVyaWM7IHNldCAtZnNob3ctbGV2aXR5PGJyPi0tIG9yIHVzZSA6
dCMgaW5zdGVhZCBvZiA6dCB0byBzZWUgdGhlIGZ1bGx5IGdlbmVyaWMgZm9ybS48YnI+KCQpIDo6
IChhIC0mZ3Q7IGIpIC0mZ3Q7IGEgLSZndDsgYjxicj5+fn48YnI+PGJyPjxkaXYgY2xhc3M9Im1v
ei1jaXRlLXByZWZpeCI+T24gMDIvMDYvMjAxNiAwMzowNiBBTSwgTWloYWkgTWFydXNlYWMgd3Jv
dGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNpdGU9Im1pZDpDQU9Nc1VNS2pDbm1VTzlWU09WRGoz
aU1uUWhjbXJSX0NqVFVZanFialR6VkpZcWlkMUFAbWFpbC5nbWFpbC5jb20iIHR5cGU9ImNpdGUi
PjxwcmUgd3JhcD0iIj5PbiBGcmksIEZlYiA1LCAyMDE2IGF0IDY6MjIgUE0sIEFydHlvbSAmbHQ7
eW9tQGFydHlvbS5tZSZndDsgd3JvdGU6PGJyPjwvcHJlPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUi
PjxwcmUgd3JhcD0iIj5XaHkgbm90IGp1c3QgbWFrZSBHSENpIG91dHB1dCBhIGNvbW1lbnQgd2hl
bmV2ZXIgdGhlIHR5cGUgaW52b2x2ZXMgbGV2aXR5Pzxicj48YnI+PC9wcmU+PGJsb2NrcXVvdGUg
dHlwZT0iY2l0ZSI+PHByZSB3cmFwPSIiPjp0ICgkKTxicj48L3ByZT48L2Jsb2NrcXVvdGU+PHBy
ZSB3cmFwPSIiPi0tIE5vdGU6IHRoZSBhY3R1YWwgdHlwZSBpcyBtb3JlIGdlbmVyaWM6PGJyPi0t
PGJyPi0tICAgICAoJCkgOjogZm9yYWxsICh3IDo6IEdIQy5UeXBlcy5MZXZpdHkpIGEgKGIgOjog
VFlQRSB3KS4gIChhIC0mZ3Q7IGIpIC0mZ3Q7IGE8YnI+LSZndDsgYjxicj4tLTxicj4tLSBGb3Ig
dGhlIGFic29sdXRlIG1ham9yaXR5IG9mIHB1cnBvc2VzIHRoZSBzaW1wbGVyIHR5cGUgaXMgY29y
cmVjdC48YnI+LS0gU2VlIEdIQyBHdWlkZSBjaGFwdGVyIFggcG9pbnQgWSB0byBsZWFybiBtb3Jl
IGFib3V0IHRoaXMuPGJyPjxicj4oJCkgOjogKGEgLSZndDsgYikgLSZndDsgYSAtJmd0OyBiPGJy
Pjxicj48L3ByZT48L2Jsb2NrcXVvdGU+PHByZSB3cmFwPSIiPldvdWxkbid0IHRoaXMgbG9vayBs
aWtlIGEgc2NhcnkgZXJyb3IgdG8gc29tZSB1c2Vycz8gVGhvdWdoLCB1c2VycyBjYW48YnI+Z2V0
IGFjY3VzdG9tZWQgdG8gdGhpcyBhbmQgdGhpcyBzb2x1dGlvbiBzZWVtcyB0byBiZSB0aGUgYmVz
dCBvZiBib3RoPGJyPndvcmxkcy48YnI+PGJyPjwvcHJlPjxicj48YnI+PC9ibG9ja3F1b3RlPjxi
        cj48YnI+"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0;">​</div>
    </div>
  </body>
</html>