Question: this is using haskell please only answer if you know haskell Lecture 5: Tail recursion and Datatypes 1. (8 points) Write a function common ::
Lecture 5: Tail recursion and Datatypes 1. (8 points) Write a function common :: Eq a => [a] -> [a] -> (a), (a), (a)) where common x y (cp, x'. y'), where cp is the longest common prefix of x and y, and x' and y' are x and y with cp removed. (Le.. x = cp ++ x'.y = cp ++ y', and cp cannot be extended.) Example: if x is (1,3,5,7,9), and yis (1,3,5,8,91, then common xy is (11,3,5), 17,9), (8,91). Restriction: common should call an assistant tail recursive routine that implements a loop. Hint: You'll also want reverse somewhere. Lecture 5: Tail recursion and Datatypes 1. (8 points) Write a function common :: Eq a => [a] -> [a] -> (a), (a), (a)) where common x y (cp, x'. y'), where cp is the longest common prefix of x and y, and x' and y' are x and y with cp removed. (Le.. x = cp ++ x'.y = cp ++ y', and cp cannot be extended.) Example: if x is (1,3,5,7,9), and yis (1,3,5,8,91, then common xy is (11,3,5), 17,9), (8,91). Restriction: common should call an assistant tail recursive routine that implements a loop. Hint: You'll also want reverse somewhere
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
