[Haskell-cafe] Backward compatibility

Tobias Dammers tdammers at gmail.com
Fri May 3 18:12:07 CEST 2013


On Fri, May 03, 2013 at 03:35:08PM +0100, Ozgur Akgun wrote:
> Hi,
> 
> On 3 May 2013 11:43, Tobias Dammers <tdammers at gmail.com> wrote:
> 
> > > PS The proposal to fix Functor => Applicative => Monad has patches
> > > attached for GHC and base, but the backwards compatibility bogeyman
> > > always seems to trump something that will break a lot of code.
> >
> > This kind of "breaks everything" changes would require something similar
> > to what Python is doing with the 2 -> 3 transition, and considering how
> > painfully slowly it is progressing there, I understand perfectly well why
> > people don't want to go there.
> >
> 
> There is one very big advantage in the Haskell-world though.
> Most of the struggle will be at the compile time. The biggest headache
> caused by
> the Python 2 -> 3 transition is how you get a runtime error 2 weeks after
> you think
> you've fixed everything!
> 
> (Yeah, I know code coverage analysis is an option when you don't have static
> type checking, but ...)

Well; this is an additional problem that comes with the pragmatic choice
for a language that doesn't believe in type checking and compile-time
guarantees, but I think it is largely orthogonal. At least
theoretically, you could have 100% test coverage, which would put the
Python project in the same situation as the Haskell one (except that the
tests themselves would also have to be converted...)

The problem I'm talking about, though, is that such a change would split
the ecosystem in two (say, "Traditional Haskell" and "Functor-Correct
Haskell"), just like the 2/3 separation is all over the Python ecosystem
and causes all sorts of headaches. "Should I be using Python 2 or 3" is
not a question that has a simple answer, and that *is* a problem.

> 
> Cheers,
> Ozgur

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



More information about the Haskell-Cafe mailing list