Question: Please work this question with OCaml programing. I will give a like 1. Tail Recursion Write a tail-recursive version of List.fold_right without using List.fold_left or
Please work this question with OCaml programing. I will give a like
1. Tail Recursion
Write a tail-recursive version of List.fold_right without using List.fold_left or List.rev (or re-implementing either of these; your function should make just one pass over the list). Other than tail recursion, your function should behave identically to List.fold_right.
Hint: Try changing the function you pass to the recursive application.
Note: This, like other bonus tasks well occasionally include in assignments, is quite difficult and is worth a small number of bonus points. Try it for an extra challenge if you want (probably after completing the rest of the assignment).
Base Code:
let foldr (f: 'a -> 'b -> 'b) (l: 'a list) (u: 'b) = raise ImplementMe ;;
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
