Ross Paterson wrote:
On Wed, Jul 01, 2009 at 10:55:39AM -0700, Bryan O'Sullivan wrote:
Okay, here's a tentative plan that will help to figure out the answer. I'll
build a fiddled base package that rewires the Monoid class to have (++) be the
binary operator, and mappend as a synonym for it. I'll import the Monoid (++)
into the Prelude. I'll see how much breaks. If that much builds smoothly, I'll
see how much of the rest of Hackage builds, both with and without this custom
base package. I'll follow up here with the results, along with a suggestion of
how acceptable I think the observed level of breakage is.

Generalizing (++) will break some Haskell 98 code, e.g.

  append = (++)

I think that's a show-stopper.

I agree it's an issue; and it's the reason I didn't even suggest it myself, favouring a new symbol.

I don't think it's a show stopper, in principle. In principle you can imagine a -h98 flag which you pass to compilers which choose a strictly h98-compliant prelude as opposed to a slightly generalised newer one.

I'm not the person who would have to maintain that arrangement. I guess that's a call for the people who would have to do the work. There is already a haskell98 package, I think, which is the first step?

Jules
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to