<div>I seem to recall Matt Morrow having some code lying around for automatically generating such instances using haskell-src-exts. I wonder how hard it would be to adapt to Template Haskell.<br></div>
<div>-Edward Kmett</div>
<div><br> </div>
<div class="gmail_quote">On Tue, Apr 14, 2009 at 2:03 AM, Ryan Ingram <span dir="ltr">&lt;<a href="mailto:ryani.spam@gmail.com">ryani.spam@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">You might be able to write some Template Haskell to derive the Show instance.<br><br>It&#39;s a bit tricky, because there are some types which can&#39;t have Show<br>
derived, such as:<br><br>data Foo where<br>   Broken :: a -&gt; Foo<br><br>What should<br>   show (Broken id)<br>do?<br><font color="#888888"><br> -- ryan<br></font>
<div>
<div></div>
<div class="h5"><br>On Mon, Apr 13, 2009 at 9:28 PM, Norman Ramsey &lt;<a href="mailto:nr@cs.tufts.edu">nr@cs.tufts.edu</a>&gt; wrote:<br>&gt; I&#39;ve got a fairly large GADT for which I wished to use<br>&gt;   deriving (Show)<br>
&gt; but I got a mysterious error message:<br>&gt;<br>&gt; Exp.hs:13:11:<br>&gt;    Can&#39;t make a derived instance of `Show (Exp a)&#39;<br>&gt;      (`Exp&#39; has non-Haskell-98 constructor(s))<br>&gt;    In the data type declaration for `Exp&#39;<br>
&gt;<br>&gt;<br>&gt; This is from GHC.  Does anybody know a compiler option or other trick<br>&gt; that will coax the compiler into producing a Show instance.<br>&gt; (I know I can write one by hand, but I&#39;d rather not bother.)<br>
&gt;<br>&gt;<br>&gt; Norman<br>&gt; _______________________________________________<br>&gt; Haskell mailing list<br>&gt; <a href="mailto:Haskell@haskell.org">Haskell@haskell.org</a><br>&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell" target="_blank">http://www.haskell.org/mailman/listinfo/haskell</a><br>
&gt;<br>_______________________________________________<br>Haskell mailing list<br><a href="mailto:Haskell@haskell.org">Haskell@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell" target="_blank">http://www.haskell.org/mailman/listinfo/haskell</a><br>
</div></div></blockquote></div><br>