Hi guys,<div><br class="webkit-block-placeholder"></div><div>I have been experimenting some weird stuff (risky, yes I know) but the behaviour was certainly not the one I expected:</div><div><br class="webkit-block-placeholder">
</div><div><span class="Apple-style-span" style="font-style: italic;">{-# OPTIONS -fglasgow-exts -fallow-undecidable-instances #-}<br></span></div><div><span class="Apple-style-span" style="font-style: italic;"><br class="webkit-block-placeholder">
</span></div><div><span class="Apple-style-span" style="font-style: italic;">module Nest where</span></div><div><span class="Apple-style-span" style="font-style: italic;"><br class="webkit-block-placeholder"></span></div>
<div><div><span class="Apple-style-span" style="font-style: italic;">data Nest a = Nil | Cons a (Nest (a,a))</span></div><div><span class="Apple-style-span" style="font-style: italic;"><br class="webkit-block-placeholder">
</span></div><div><span class="Apple-style-span" style="font-style: italic;">type family F a x :: *</span></div><div><div><span class="Apple-style-span" style="font-style: italic;">type instance F (Nest a) x = Either () (a,F (Nest (a,a)) x)</span></div>
<div><span class="Apple-style-span" style="font-style: italic;"><br></span></div><div><span class="Apple-style-span" style="font-style: italic;">fnn :: F (Nest Int) (Nest Int)</span></div><div><span class="Apple-style-span" style="font-style: italic;">fnn = Left ()</span></div>
<div><br class="webkit-block-placeholder"></div><div>The following module fails to compile (or better, compilation never ends).</div><div><br class="webkit-block-placeholder"></div><div>Maybe there is something very bad going on due to the undecidable-instances extension?</div>
<div><br class="webkit-block-placeholder"></div><div>Any clue?</div><div>hugo</div></div></div>