<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
On 22/10/10 09:23, Andr&eacute; Batista Martins wrote:
<blockquote
 cite="mid:AANLkTi=oJwYdpjq4DkjjE3_nZV=PU1GJLfpQMLZVK_0N@mail.gmail.com"
 type="cite">Tks for the answer,<br>
the data structure of Either is:<br>
&nbsp;&nbsp; <br>
  <pre><a moz-do-not-send="true" name="(line50)"></a><a
 moz-do-not-send="true" name="Either"></a><span class="keyword">data</span>  <span
 class="conid">Either</span> <span class="varid">a</span> <span
 class="varid">b</span>  <span class="keyglyph">=</span>  <span
 class="conid">Left</span> <span class="varid">a</span> <span
 class="keyglyph">|</span> <span class="conid">Right</span> <span
 class="varid">b</span>   <span class="keyword">deriving</span> <span
 class="layout">(</span><span class="conid">Eq</span><span
 class="layout">,</span> <span class="conid">Ord</span><span
 class="layout">,</span> <span class="conid">Read</span><span
 class="layout">,</span> <span class="conid">Show</span><span
 class="layout">)


one example of what i want convert is:
 Left(Right(Left(Left())))</span>
  </pre>
</blockquote>
Hi,<br>
<br>
The problem here is that the type of Left () is:<br>
<br>
&gt; Either () a<br>
<br>
The type of Left (Left ()) is:<br>
<br>
&gt; Either (Either () a) b<br>
<br>
The type of Right (Left (Left ())) is:<br>
<br>
&gt; Either c (Either (Either () a) b)<br>
<br>
and finally, the type of Left (Right (Left (Left ()))) is:<br>
<br>
&gt; Either (Either c (Either (Either () a) b)) d<br>
<br>
That is, each level in the tree must have a different type.&nbsp; For this
reason, you can't sensibly use Either for tree types of varying depth
(a type-class would help, but I doubt it's what you want).&nbsp; A sensible
type for a tree is the one you gave in your original post, TreeE.&nbsp; So
why do you want to encode the tree with Either (not really possible)
and then convert to your TreeE type?&nbsp; Why not just start out with the
values in your tree type?<br>
<br>
Thanks,<br>
<br>
Neil.<br>
</body>
</html>