<div dir="ltr">Does it make sense to consider stating a law for Default?  e.g. if (Monoid t, Default t) then def = mempty</div><br><div class="gmail_quote"><div dir="ltr">On Tue, May 8, 2018 at 11:22 AM Chris Wong <<a href="mailto:lambda.fairy@gmail.com">lambda.fairy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 8, 2018 at 9:10 PM, Marco Zocca <span dir="ltr"><<a href="mailto:zocca.marco@gmail.com" target="_blank">zocca.marco@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">data-default alone is depended on by > 500 packages :<br>
<a href="http://packdeps.haskellers.com/reverse/data-default" rel="noreferrer" target="_blank">http://packdeps.haskellers.com/reverse/data-default</a><br>
<br>
Could you motivate why it's not a good idea ?<br>
<div class="m_-8058712347793306943gmail-HOEnZb"><div class="m_-8058712347793306943gmail-h5"><br></div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I can think of two reasons:<br></div><div><br></div><div>- It has no laws, so there's formal specification that tells us whether an instance is "correct" or not.<br><br></div><div>- Type classes are useful when there is a large family of generic operations that can work with them. For example, the utility functions in Control.Monad [1] are used in all kinds of Haskell programs. But there are no such generic operations that apply to all Default instances.<br></div><div><br></div><div>That said -- as you note, it's has quite a few dependents so it's great that someone is stepping up to maintain it regardless.<br><br></div><div>Chris<br><br>[1] <a href="https://hackage.haskell.org/package/base-4.11.1.0/docs/Control-Monad.html#g:4" target="_blank">https://hackage.haskell.org/package/base-4.11.1.0/docs/Control-Monad.html#g:4</a><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_-8058712347793306943gmail-HOEnZb"><div class="m_-8058712347793306943gmail-h5">
<br>
On Tue, May 8, 2018 at 11:02 AM, Christopher Allen <<a href="mailto:cma@bitemyapp.com" target="_blank">cma@bitemyapp.com</a>> wrote:<br>
> Is this something folks still think is a good idea? I purge<br>
> Data.Default from projects I work on.<br>
><br>
> On Tue, May 8, 2018 at 3:58 AM, Marco Zocca <<a href="mailto:zocca.marco@gmail.com" target="_blank">zocca.marco@gmail.com</a>> wrote:<br>
>> Dear all,<br>
>><br>
>>   I've been increasingly relying on data-default-class, but sadly it<br>
>> doesn't look like it's currently maintained; there are some tickets on<br>
>> the github issue tracker that would need some attention.<br>
>><br>
>> I have tried contacting the authro/current maintainer Lukas Mai (CC'd)<br>
>> by email but have not received an answer so far (I hope he's doing<br>
>> well, btw).<br>
>><br>
>> This is my first public request for taking over the `data-default`<br>
>> family of packages:<br>
>><br>
>> data-default-class<br>
>> data-default-instances-base<br>
>> data-default-instances-containers<br>
>> data-default-instances-dlist<br>
>> data-default-instances-old-locale<br>
>> data-default<br>
>><br>
>> Kind regards,<br>
>> Marco Zocca<br>
>> (<a href="http://hackage.haskell.org/user/ocramz" rel="noreferrer" target="_blank">http://hackage.haskell.org/user/ocramz</a>)<br>
>> _______________________________________________<br>
>> Libraries mailing list<br>
>> <a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
><br>
><br>
><br>
> --<br>
> Chris Allen<br>
> Currently working on <a href="http://haskellbook.com" rel="noreferrer" target="_blank">http://haskellbook.com</a><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<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>
Only members subscribed via the mailman list are allowed to post.</div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><br><br clear="all"><br>-- <br><div class="m_-8058712347793306943gmail_signature">Chris Wong (<a href="https://lambda.xyz" target="_blank">https://lambda.xyz</a>)<br><br>"I had not the vaguest idea what this meant and when I could not remember the words, my tutor threw the book at my head, which did not stimulate my intellect in any way." -- Bertrand Russell</div>
</div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<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>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>