Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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.
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 somewhereStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started