<div class="gmail_quote">Hi Folks,<div><br></div><div>Total newbie here. I don&#39;t know if I am having a syntactic problem or a conceptual problem.</div><div><br></div><div>This code:</div><div><div><br></div><div><font face="&#39;courier new&#39;, monospace">data Test = Test</font></div>


<div><font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">data Test2 = Test2</font></div><div><font face="&#39;courier new&#39;, monospace"><br>
</font></div><div><font face="&#39;courier new&#39;, monospace">class MyClass a where</font></div><div><font face="&#39;courier new&#39;, monospace">    getChild :: (MyClass b) =&gt; a -&gt; b</font></div>
<div><font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">instance MyClass Test where</font></div><div><font face="&#39;courier new&#39;, monospace">    getChild = Test2</font></div>


<div><font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">instance MyClass Test2 where</font></div><div><font face="&#39;courier new&#39;, monospace">    getChild = Test</font></div>


<div><br></div><div>results in:</div><div><br></div><div><div><font face="&#39;courier new&#39;, monospace">[1 of 1] Compiling Main             ( test.hs, interpreted )</font></div><div><font face="&#39;courier new&#39;, monospace"><br>


</font></div><div><font face="&#39;courier new&#39;, monospace">test.hs:10:15:</font></div><div><font face="&#39;courier new&#39;, monospace">    Couldn&#39;t match expected type `Test -&gt; b&#39;</font></div>
<div><font face="&#39;courier new&#39;, monospace">           against inferred type `Test2&#39;</font></div><div><font face="&#39;courier new&#39;, monospace">    In the expression: Test2</font></div>
<div><font face="&#39;courier new&#39;, monospace">    In the definition of `getChild&#39;: getChild = Test2</font></div><div><font face="&#39;courier new&#39;, monospace">    In the instance declaration for `MyClass Test&#39;</font></div>


<div><font face="&#39;courier new&#39;, monospace"><br></font></div><div><font face="&#39;courier new&#39;, monospace">test.hs:13:15:</font></div><div><font face="&#39;courier new&#39;, monospace">    Couldn&#39;t match expected type `Test2 -&gt; b&#39;</font></div>


<div><font face="&#39;courier new&#39;, monospace">           against inferred type `Test&#39;</font></div><div><font face="&#39;courier new&#39;, monospace">    In the expression: Test</font></div>
<div><font face="&#39;courier new&#39;, monospace">    In the definition of `getChild&#39;: getChild = Test</font></div><div><font face="&#39;courier new&#39;, monospace">    In the instance declaration for `MyClass Test2&#39;</font></div>


<div><font face="&#39;courier new&#39;, monospace">Failed, modules loaded: none.</font></div><div><br></div><div>Is this a reasonable thing to try and do in Haskell? If not, I have a lot more questions... ;)</div>
<div><br></div><div>many thanks,</div><div><br></div><div>David</div><div><br></div></div></div>
</div><br>