<div dir="ltr"><div>Hi,</div><div><br></div><div>I understood one more point. (I share here.)</div><div>The Prelude library document for ghc 8.0 is already well described for beginners/newcomers.</div><div><br></div><div> * The ($)'s signature of 8.0.1 is already simple (not include forall ...).</div><div> * The Bool's kind of 8.0.1 is already represented with "TYPE Lifted" (changed from '*').</div><div><br></div><div><br></div><div>ghc7.8.4 [1]:</div><div><br></div><div>  data Bool :: *</div><div>  foldr :: (a -> b -> b) -> b -> [a] -> b</div><div>  ($) :: (a -> b) -> a -> b </div><div><br></div><div><br></div><div>ghc7.10.4 [2]:</div><div><br></div><div>  data Bool :: *</div><div>  foldr :: (a -> b -> b) -> b -> t a -> b</div><div>  ($) :: (a -> b) -> a -> b </div><div><br></div><div><br></div><div>ghc8.0.1-rc2 [3]:</div><div><br></div><div>  data Bool :: TYPE Lifted</div><div>  foldr :: (a -> b -> b) -> b -> t a -> b</div><div>  ($) :: (a -> b) -> a -> b </div><div><br></div><div><br></div><div>[1] <a href="https://downloads.haskell.org/~ghc/7.8.4/docs/html/libraries/base-4.7.0.2/Prelude.html">https://downloads.haskell.org/~ghc/7.8.4/docs/html/libraries/base-4.7.0.2/Prelude.html</a></div><div>[2] <a href="https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.8.2.0/Prelude.html">https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.8.2.0/Prelude.html</a></div><div>[3] <a href="https://downloads.haskell.org/~ghc/8.0.1-rc2/docs/html/libraries/base-4.9.0.0/Prelude.html">https://downloads.haskell.org/~ghc/8.0.1-rc2/docs/html/libraries/base-4.9.0.0/Prelude.html</a></div><div><br></div><div>Regards,</div><div>Takenobu</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-08 19:08 GMT+09:00 Takenobu Tani <span dir="ltr"><<a href="mailto:takenobu.hs@gmail.com" target="_blank">takenobu.hs@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Richard and devs,</div><div><br></div><div>What a wonderful (#11549) !</div><div>This is a beautiful solution for beginners/newcomers.</div><div>Beginners will not confuse and they can gradually go ahead.</div><div><br></div><div>I extremely appreciate that you are continuously improving the ghc for us.</div><div><br></div><div>Thank you very much,</div><div>Takenobu</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-02-07 0:17 GMT+09:00 Richard Eisenberg <span dir="ltr"><<a href="mailto:eir@cis.upenn.edu" target="_blank">eir@cis.upenn.edu</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have made a ticket #11549 (<a href="https://ghc.haskell.org/trac/ghc/ticket/11549" rel="noreferrer" target="_blank">https://ghc.haskell.org/trac/ghc/ticket/11549</a>) requesting a -fshow-runtime-rep flag (recalling that the name levity will soon be outdated) as described in this thread. I will make sure this gets in for the release of 8.0.<br>
<br>
Other points:<br>
<br>
- You're quite right that (.) could be generalized. But I'll wait for someone to really want this.<br>
<br>
- I don't have a non-contrived example of the use of ($) with unlifted types. It's quite possible that when adding the dirty runST hack, it was observed that an unlifted type would be OK. At that point, the type of ($) didn't need to become so elaborate. And now we're just trying not to change old (but perhaps unrequested) behavior.<br>
<br>
- For the record, this debate is entirely unrelated to the runST impredicativity hack. (Except, as noted above, perhaps in history.) That hack remains, basically unchanged.<br>
<span><br>
- On Feb 6, 2016, at 9:55 AM, Roman Cheplyaka <<a href="mailto:roma@ro-che.info" target="_blank">roma@ro-che.info</a>> wrote:<br>
><br>
> I would call this a simplification rather than a lie.<br>
<br>
</span>This is a very convincing argument.<br>
<br>
- Thanks, also, for the voice of support. What I love about the Haskell community is that we can have an impassioned debate full of strong opinions, and it all very rarely devolves into a proper flame war. All the posts I've seen in this thread have been constructive and helpful. Thanks.<br>
<span><font color="#888888"><br>
Richard<br>
</font></span><div><div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>