Forget it.&nbsp; It&#39;s more clear reading further.<br><br>Sorry for the noise.<br><br><div class="gmail_quote">On Sat, Dec 27, 2008 at 1:02 AM, Oscar Picasso <span dir="ltr">&lt;<a href="mailto:oscarpicasso@gmail.com">oscarpicasso@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">From Real World Haskell:<br><br>data JValue = JString String<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | JNumber Double<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | JBool Bool<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | JNull<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | JObject [(String, JValue)]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | JArray [JValue]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deriving (Eq, Ord, Show)<br><br>....<br>type JSONError = String<br><br>class JSON a where<br>&nbsp;&nbsp;&nbsp; toJValue :: a -&gt; JValue<br>&nbsp;&nbsp;&nbsp; fromJValue :: JValue -&gt; Either JSONError a<br><br>instance JSON JValue where<br>

&nbsp;&nbsp;&nbsp; toJValue = id -- Really ? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; fromJValue = Right<br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"><span></span>Now, instead of applying a constructor like
      <code>JNumber</code> to a value to wrap it, we apply the
      <code>toJValue</code> function.  If we change a value&#39;s
      type, the compiler will choose a suitable implementation of
      <span>toJValue</span> to use with it.</blockquote><div><br>Actually it does not work. And I don&#39;t see how it could with this toJValue implementation. Is it possible to make it work by providing another implementation?<br>

<br>Oscar<br></div>
</blockquote></div><br>