Yes, or better:<br><br>gshow&#39; :: Data a =&gt; a -&gt; String<br>gshow&#39; t = fromMaybe (showConstr(toConstr t)) (cast t)<br><br>(which gets rid of the parentheses around numbers).<br><br>Still doesnt get a deserialize though ;-)
<br><br><div><span class="gmail_quote">On 6/24/07, <b class="gmail_sendername">Andrea Vezzosi</b> &lt;<a href="mailto:sanzhiyan@gmail.com">sanzhiyan@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As a side note i&#39;d like to point out that introspectData has a problem with constructors containing Strings because show (x::String) /= x:<br><br>data Foo = Foo { bar :: String } deriving (Typeable,Data)<br><br>introspectData (Foo &quot;quux&quot;) --&gt; [(&quot;bar&quot;,&quot;\&quot;quux\&quot;&quot;)]
<br><br>Those extras \&quot; don&#39;t look very nice in the xml.. (the output of introspectData is also wrong in the article&#39;s example )<br>you should probably use a modified gshow:<br><br>gshow&#39; :: Data a =&gt; a -&gt; String
<br>gshow&#39; x = fromMaybe (gshow x) (cast x)<br><br>which is id for Strings.<br><br><br><br>
</blockquote></div><br>