Question: 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
Get step-by-step solutions from verified subject matter experts
