Question: using haskell this is just for problem 4. the tree from the lecture is provided above the question. For Problems 3 and 4, use the

using haskell

using haskell this is just for problem 4. the tree from the

lecture is provided above the question. For Problems 3 and 4, use

this is just for problem 4. the tree from the lecture is provided above the question.

For Problems 3 and 4, use the following binary tree definition modified from lecture: It takes two type arguments, so nodes and leafs can contain different types of values data Tree a b - Leaf b Node a (Tree a b) (Tree a b) deriving (Read, show, Eq) (12 points) For this problem, let's call an "expression tree" a Tree String b tree where all of the node data are strings from the set "+", "-", "*", and "/", and the leafs hold numbers. Write an eval function routine that evaluates an expression tree. Division requires fractional numbers, so the type of eval is Fractional t => Tree String b-> b. Examples: Let el = Node "+" (Leaf 2) (Leaf 4), e2 = Node "-" (Leaf 11) (Leaf 8), and e3 = Node "/" (Node "*" el e2) (Leaf 36). Then eval el -6.0;eval e2 - 3.0; and eval e3 = 0.5. For Problems 3 and 4, use the following binary tree definition modified from lecture: It takes two type arguments, so nodes and leafs can contain different types of values data Tree a b - Leaf b Node a (Tree a b) (Tree a b) deriving (Read, show, Eq) (12 points) For this problem, let's call an "expression tree" a Tree String b tree where all of the node data are strings from the set "+", "-", "*", and "/", and the leafs hold numbers. Write an eval function routine that evaluates an expression tree. Division requires fractional numbers, so the type of eval is Fractional t => Tree String b-> b. Examples: Let el = Node "+" (Leaf 2) (Leaf 4), e2 = Node "-" (Leaf 11) (Leaf 8), and e3 = Node "/" (Node "*" el e2) (Leaf 36). Then eval el -6.0;eval e2 - 3.0; and eval e3 = 0.5

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!