<div dir="ltr"><div dir="ltr">Am Fr., 8. Mai 2020 um 12:56 Uhr schrieb Simon Jakobi <<a href="mailto:simon.jakobi@googlemail.com">simon.jakobi@googlemail.com</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[...] What's still unclear to me is whether library authors are expected to<br>
follow the same strictness semantics in their Ord instances. For<br>
example, if I were to expose my Const type with its lazy Ord instance<br>
from a library, would that be surprising for users of the library?<br></blockquote><div><br></div><div>IMHO it would be a bit surprising, as a general rule of thumb: Everything which is done differently from the way base/Prelude does it is surprising. It's not necessarily wrong, but at least it needs some prominent documentation, including the reasoning behind it.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Could someone illustrate in what kind of issues the reduced strictness<br>
might manifest?<br></blockquote><div><br></div><div>In short:</div><div><br></div><div> * too strict: non-termination</div><div> * too lazy: space leaks</div><div> </div></div></div>