Deprecate Foldable for Either

Richard Eisenberg rae at cs.brynmawr.edu
Fri Mar 3 17:48:02 UTC 2017


> On Mar 3, 2017, at 12:45 PM, Kris Nuttycombe <kris.nuttycombe at gmail.com> wrote:
> 
> This is an interesting assertion; I don't believe that these goals work against one another at all. In fact, I find that (b) leads to "if it compiles, it works" much more often than not. John De Goes goes into depth on this principle here: http://degoes.net/articles/insufficiently-polymorphic <http://degoes.net/articles/insufficiently-polymorphic> where he points out "Monomorphic code is much more likely to be incorrect than polymorphic code, because for every type signature, there are many more possible implementations.".

Ah -- very good point. This is true for the *implementation* of a polymorphic function, where a polymorphic type signature beautifully restricts what the function can do. But it is not true for monomorphic *uses* of a polymorphic function, where the generality can lead to an unexpected instance selection and thus runtime behavior.

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20170303/66ed2549/attachment.html>


More information about the Libraries mailing list