`wise` after the event (was Re: Data.List.join)

Samuel Bronson naesten at gmail.com
Mon Oct 23 22:09:09 EDT 2006


On 10/23/06, John Meacham <john at repetae.net> wrote:
> On Mon, Oct 23, 2006 at 11:27:58AM +0100, Conor McBride wrote:
> > John Meacham wrote:
> > >Although, now that we lost the Monoid instance for functions (which is
> > >very dismaying), it is less useful, as the monoid functions were very
> > >useful to build things up efficiently with (String -> String) as a type.
> >
> > ...(with which I rather disagree) to finish a note about programming
> > with structure-indicating newtypes, like Endo.
> >
> > I thought I'd also remind you of a little of what we bought by wrapping
> > the endofunction monoid, then making the function instance do pointwise
> > lifting instead.
>
> I don't have an issue with the reasoning behind it. But the transition
> caused a lot of real and very subtle bugs that could have been avoided.
>
> the problem is that there are many places where the change caused silent
> changes to the behavior of existing code and these bugs were very hard
> to root out.

So, basically, you think we should have gone with the idea of putting
both instances in newtypes for a while? (Not that I was around at the
time or anything.)


More information about the Libraries mailing list