On Sat, Dec 5, 2009 at 10:04 PM, Michael Snoyman <
michael@snoyman.com> wrote:
> I know this is basically a rewording of a previous e-mail, but I realized
> this is the question I *really* wanted to ask.
>
> We have this language extension UndecidableInstances (not to mention
> OverlappingInstances), which seem to divide the Haskell camp into two
> factions:
>
> * Hey, GHC said to turn on this flag. Ok!
> * Undecidables are the devil!
>
> I get the feeling the truth lies in the middle. As I understand it (please
> correct me if I am wrong), the problem with undecidables is that they can
> create non-terminating instances. However, for certain cases the programmer
> should be able to prove to him/herself that the instances will terminate. My
> question is: how can you make such a proof?
Well, the reasoning for the "devil" camp (which I admit to being