Write a continuation-passing version revc of the list reversal function rev: The resulting function revc should have type a list -> (a list -> a
Write a continuation-passing version revc of the list reversal function rev:
The resulting function revc should have type a list -> (a list -> a list) -> a list or a more general type such as a list -> (a list -> b) -> b. The function may be called as revc xs id, where let id = fun v -> v is the identity function.
(ii) What happens if you call it as revc xs (fun v -> v @ v) instead?
(iii) Write a tail-recursive reversal function revi : a list -> a list -> a list, whose second parameter is an accumulating parameter, and which should be called as revi xs [].
Step by Step Solution
There are 3 Steps involved in it
Step: 1
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