<div dir="ltr">I again want to emphasize how we can view INLINE annotations much the same way as type annotations. It is considered good practice to annotate top-level definitions with type signatures. Why? Is it because the compiler can&#39;t figure it out? Is it because the programmer doesn&#39;t trust the compiler to figure it out? No, it&#39;s because it is a visible, enforced sanity check to make sure that the programmer and the compiler are on the same page, regardless of any magic the compiler is capable of. (I like the various ideas that are being thrown around about &quot;asserting&quot; that something will be inlined.)<div>

<br></div><div>I see superfluous INLINE pragmas as for the benefit of humans, allowing them to express their desires explicitly, rather than relying on implicit behavior that is hard for the average muggle to understand, verify, or guarantee. If someone reads through the source, and wonders whether &quot;bool&quot; will be inlined, they don&#39;t need to know any details about the current state of the inliner algorithm when they can just see the pragma right there in the source.</div>

<div><br></div><div>The inliner should be at the whim of its masters, the humans, not the other way around.</div><div><div><br></div></div></div><div class="gmail_extra"><br clear="all"><div>-- Dan Burton</div>
<br><br><div class="gmail_quote">On Tue, Sep 17, 2013 at 6:11 AM, Roman Cheplyaka <span dir="ltr">&lt;<a href="mailto:roma@ro-che.info" target="_blank">roma@ro-che.info</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Austin,<br>
<br>
First of all, let me say that I am generally on the same side of this<br>
argument as you are now.<br>
<br>
But Dan raised very good and valid points, and I don&#39;t think you<br>
addressed them directly (quotations follow):<br>
<br>
1. If you want to test the auto-inliner&#39;s wisdom, then just add a<br>
<div class="im">   setting that ignores INLINE pragmas and see if it inlines the same<br>
   thing that humans do?<br>
</div>2. I don&#39;t really care how it&#39;s accomplished, but I do think that we should<br>
<div class="HOEnZb"><div class="h5">   make sure that maybe, either, and bool are inlined, and the most obvious<br>
   way to accomplish this is to directly mark them INLINE, is it not?<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">Roman<br>
</font></span><br>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br></div>