Question: Haskell GHCI: Tail recursion and Datatypes PLEASE TRY TO ANSWER IT THIS TIME AS BEST POSSIBLE. 1. (8 points) Write a function common : :

Haskell GHCI: Tail recursion and Datatypes

PLEASE TRY TO ANSWER IT THIS TIME AS BEST POSSIBLE.

Haskell GHCI: Tail recursion and Datatypes PLEASE TRY TO ANSWER IT THIS

1. (8 points) Write a function common : : Eq a => [a] -> [a] -> ([a], [a], [a]) where common xy = (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. (I.e., x = cp ++x', y=cp ++y', and cp cannot be extended.) Example: if x is [1,3,5,7,9), and y is [1,3,5,8,9], then common x y is ([1,3,5],[7,9],[8,9]). Restriction: common should call an assistant tail recursive routine that implements a loop. Hint: You'll also want reverse somewhere. 1. (8 points) Write a function common : : Eq a => [a] -> [a] -> ([a], [a], [a]) where common xy = (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. (I.e., x = cp ++x', y=cp ++y', and cp cannot be extended.) Example: if x is [1,3,5,7,9), and y is [1,3,5,8,9], then common x y is ([1,3,5],[7,9],[8,9]). 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

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!