Let me try this option and see how I go.<br><br>Thanks<br><br>-John<br><br><div><span class="gmail_quote">On 1/25/07, <b class="gmail_sendername">Brandon S. Allbery KF8NH</b> &lt;<a href="mailto:allbery@ece.cmu.edu">allbery@ece.cmu.edu
</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;">&gt; (b) I think you *can* do this with a class:<br>&gt;<br>&gt; class Node a where
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;name :: a -&gt; String<br>&gt;<br>&gt; data Branch = Branch { brName :: String, ... }<br>&gt; data Leaf = Leaf { lName :: String, ... }<br>&gt;<br>&gt; instance Node Branch where<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;name = brName<br>&gt;
<br>&gt; instance Node Leaf where<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;name = lName<br>&gt;<br>&gt; Okay, though it&#39;s a lot more wordy.<br><br>How so?&nbsp;&nbsp;You were declaring the class and instances anyway; I simply<br>defined a new method to go into it and renamed the constructor fields
<br>to obey Haskell&#39;s rules, but you will probably be using the class<br>method so your code won&#39;t care about the latter.<br><br>--<br>brandon s. allbery&nbsp;&nbsp;&nbsp;&nbsp;[linux,solaris,freebsd,perl]&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:allbery@kf8nh.com">
allbery@kf8nh.com</a><br>system administrator [openafs,heimdal,too many hats] <a href="mailto:allbery@ece.cmu.edu">allbery@ece.cmu.edu</a><br>electrical and computer engineering, carnegie mellon university&nbsp;&nbsp;&nbsp;&nbsp;KF8NH<br><br>
<br><br></blockquote></div><br>