<div dir="ltr"><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">Hi Viktor, really this is a quite different q than the thread talking about a learner's experience.</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">You're writing deeply-technical detail not at all aimed at beginners. There's a very broad range of reasons and prior knowledge for readers of Library docos.</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">But I disagree with this:</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">> The beginner to intermediate users will be using the library and existing instances for some time before they start to write their own instances.</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">I'll want to write an instance of Foldable as soon as I've declared my datatype, won't I? Or do you expect me to be folding only over Lists? </font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">Speaking for myself, if I want to understand a function, I look first at its type then its source definition.</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">The Laws for the particular Foldable example I don't understand at all. I'd say: hide those Laws as far away as possible.</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">In fact, since the blasted FTP re-organisation of that library, I've more or less given up. Too hard/too abstract/too much Category Theory. What's an `Endo`?</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">Thank you for your efforts to document. I expect there's someone you're helping. Not me. I don't think it's that the style "sucks".</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">This style and content is enough for me: </font><a href="https://www.haskell.org/hugs/pages/libraries/base/Data-Foldable.html" target="_blank">https://www.haskell.org/hugs/pages/libraries/base/Data-Foldable.html</a></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><br></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">> Of course the conjectured users who might most benefit from not being intimidated by being exposed to laws before they're ready to understand them<span style="font-size:small"> might not be present on this forum...</span></font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif"><br></font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">I've gone well beyond the point of being intimidated by Category Theorists. I find they're doing a splendid job of putting people off getting to love Haskell as I used to. If you want to tell me off for speaking out of turn, go ahead. (But this forum is the cafe, perhaps this particular discussion should be on glasgow-haskell-users?)</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif"><br></font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif">AntC</font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif"><br></font></pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)"><font face="arial, sans-serif"><font face="arial, sans-serif">On Thu, Sep 16, 2021 at 06:51:42PM -0400, David Feuer wrote:
</font>
><i> The last time I went to look at the laws it took me a couple minutes to
</i>><i> find them. I use them to write instances. Pretty important, IMO.
</i>
I agree the laws are important to document, I just don't think they
belong at the top of the module. The beginner to intermediate users
will be using the library and existing instances for some time before
they start to write their own instances.
If more modules adopt something like the style of the new Data.Foldable,
experienced users will know to look for the laws at the end, if not
still present at the top of the module.
Of course perhaps the community would prefer the original Laws first
format, I'm fine with that emerging as the consensus. Perhaps worthy
of a separate thread (made it so).
Of course the conjectured users who might most benefit from not being
intimidated by being exposed to laws before they're ready to understand
them might not be present on this forum...
-- </font></pre></div>