<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Cool!<br><br>Is there *anything* Haskell *can't* do?<br><br>Michael<br><br>--- On <b>Mon, 5/18/09, David Menendez <i>&lt;dave@zednenem.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: David Menendez &lt;dave@zednenem.com&gt;<br>Subject: Re: [Haskell-cafe] showing a user defined type<br>To: "Ryan Ingram" &lt;ryani.spam@gmail.com&gt;<br>Cc: haskell-cafe@haskell.org<br>Date: Monday, May 18, 2009, 10:26 PM<br><br><div class="plainMail">On Mon, May 18, 2009 at 10:02 PM, Ryan Ingram &lt;<a ymailto="mailto:ryani.spam@gmail.com" href="/mc/compose?to=ryani.spam@gmail.com">ryani.spam@gmail.com</a>&gt; wrote:<br>&gt; Unfortunately, you can't derive Show on Chain as defined, because it<br>&gt; contains a function:<br><br>Sure you can. I just tried the following, and it compiled without
 complaints.<br><br>&gt; import Text.Show.Functions<br>&gt;<br>&gt; data Chain = Link Int (Int -&gt; Chain) deriving (Show)<br><br>The usual warnings about orphan instances apply, but the purpose of<br>the Text.Show.Functions module is to provide a standard Show instance<br>for functions so that libraries (e.g., QuickCheck) don't declare<br>conflicting instances.<br><br>-- <br>Dave Menendez &lt;<a ymailto="mailto:dave@zednenem.com" href="/mc/compose?to=dave@zednenem.com">dave@zednenem.com</a>&gt;<br>&lt;<a href="http://www.eyrie.org/%7Ezednenem/" target="_blank">http://www.eyrie.org/~zednenem/</a>&gt;<br>_______________________________________________<br>Haskell-Cafe mailing list<br><a ymailto="mailto:Haskell-Cafe@haskell.org" href="/mc/compose?to=Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe"
 target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></div></blockquote></td></tr></table><br>