[Haskell-beginners] Help with a data type declaration

David McBride toad3k at gmail.com
Tue Sep 29 15:22:37 UTC 2015


It just stores a 'b' on every branch and an 'a' on every leaf.  I'm not
sure what you'd use it for, but there's nothing wrong with it.

On Tue, Sep 29, 2015 at 11:10 AM, emacstheviking <objitsu at gmail.com> wrote:

> Is the definition of Branch correct though, shouldn't it be Branch (Tree a
> b) (Tree a b) ...?
>
>
> On 29 September 2015 at 16:10, emacstheviking <objitsu at gmail.com> wrote:
>
>> a = left b = right
>>
>> That would at least make the sentiment clearer.
>>
>>
>>
>> On 29 September 2015 at 15:10, <jamb at hinojosa.com> wrote:
>>
>>> How can I interpret the following data type declaration? The book where
>>> I am studying (and other sources I have read as well) only show more simple
>>> examples. This is what I can say about it:
>>>
>>> * "Tree" is the name of the new type.
>>> * "Branch" and "Leaf" are the type constructors.
>>> * What is "a" and "b"?
>>> * It seems to me that this type is kind of "recursively" defined but I
>>> do not know exactly.
>>>
>>>
>>> data Tree a b = Branch b (Tree a b) (Tree a b)
>>>               | Leaf a
>>>
>>> I will very much appreciate your feedback.
>>>
>>> Regards,
>>> JAMB
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>>
>>
>>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150929/45403e79/attachment.html>


More information about the Beginners mailing list