The dreaded M-R

John Hughes wrote:
> Lennart Augustsson wrote:
>>>> On the subject of type signatures, I don't want to
>>> make them mandatory, but I think they should be strongly
>>> encouraged. I don't buy the argument that they make
>>> refactoring programs that much harder. It's still
>>> very easy to do, the type checker will tell you exactly
>>> where. :)
>>>>> It can still be in a LOT of places--far too many for comfort. I'm not
> making this
> up--I've experienced severe problems in practice caused by this very
> point. It depends
> what kind of code you're working with, of course. I'm not saying type
> signatures
> are ALWAYS a problem for refactoring, just that they sometimes are--and
> that
> it makes sense to leave it up the programmer whether or not to include
> them.
So what if it's in a lot of places? The compiler tells you where to
change. Each change takes a few seconds. Even with hundreds of changes
you'd probably be done in under half an hour.
Of course, you'd like a tool to do these kind of changes.
All that said, I think not being able to give a name to a context is
a real weakness in Haskell. It's one of the few things that cannot
be named, and being able to do so would help refactoring and modularity.
-- Lennart