Send Beginners mailing list submissions to
        beginners@haskell.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        beginners-requ...@haskell.org

You can reach the person managing the list at
        beginners-ow...@haskell.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1.  Questions About Rose Trees Analysis (Lorenzo Isella)
   2. Re:  Questions About Rose Trees Analysis (Henk-Jan van Tuyl)


----------------------------------------------------------------------

Message: 1
Date: Thu, 17 Dec 2015 11:37:24 +0100
From: Lorenzo Isella <lorenzo.ise...@gmail.com>
To: beginners@haskell.org
Subject: [Haskell-beginners] Questions About Rose Trees Analysis
Message-ID: <20151217103724.GA3383@localhost.localdomain>
Content-Type: text/plain; charset=us-ascii; format=flowed

Dear All,
I am trying to learn Haskell (for the second time), but I have to
admit I am still struggling with relative simple stuff, so I ask if
anybody can give me a hand.
I am dealing with the issues of extracting info out of some rose trees
and probably I am also having some troubles with the notation.

The rose tree is defined with the following notation

data Rose a = a :> [Rose a]
deriving (Eq, Show)

and the root can be detected simply as

root (a :> rs) = a

I would like to have the expression (with the ":>" notation for the
Node) of the function to find the children of the root. Example of
expected behavior of this function children

children (1 :> [2 :> [], 3 :> []]) = [2 :> [], 3 :> []]

On top of that, I am trying to get the functions to have the functions

 size :: Rose a -> Int
 leaves :: Rose a -> Int

that count the number of nodes in a rose tree, respectively the number
of leaves (nodes without any children).
For the children function, I have tried stuff like

children (a :> rs) = rs

quite unsuccessfully.

Any suggestion is appreciated.
Cheers

Lorenzo


------------------------------

Message: 2
Date: Thu, 17 Dec 2015 12:10:01 +0100
From: "Henk-Jan van Tuyl" <hjgt...@chello.nl>
To: beginners@haskell.org, "Lorenzo Isella" <lorenzo.ise...@gmail.com>
Subject: Re: [Haskell-beginners] Questions About Rose Trees Analysis
Message-ID: <op.x9sby4aqpz0j5l@alquantor>
Content-Type: text/plain; charset=iso-8859-15; format=flowed;
        delsp=yes

On Thu, 17 Dec 2015 11:37:24 +0100, Lorenzo Isella  
<lorenzo.ise...@gmail.com> wrote:
:
>
> data Rose a = a :> [Rose a]
> deriving (Eq, Show)
>
> and the root can be detected simply as
>
> root (a :> rs) = a
>
> I would like to have the expression (with the ":>" notation for the
> Node) of the function to find the children of the root. Example of
> expected behavior of this function children
>
> children (1 :> [2 :> [], 3 :> []]) = [2 :> [], 3 :> []]
>
> On top of that, I am trying to get the functions to have the functions
>
>  size :: Rose a -> Int
>  leaves :: Rose a -> Int
>
> that count the number of nodes in a rose tree, respectively the number
> of leaves (nodes without any children).
> For the children function, I have tried stuff like
>
> children (a :> rs) = rs
>
> quite unsuccessfully.
:

Your definition of children is correct, what is the message you get from  
the compiler/interpreter?

Regards,
Henk-Jan van Tuyl


-- 
Folding@home
What if you could share your unused computer power to help find a cure? In  
just 5 minutes you can join the world's biggest networked computer and get  
us closer sooner. Watch the video.
http://folding.stanford.edu/


http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
Haskell programming
--


------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 90, Issue 34
*****************************************

Reply via email to