Question: Write a function in OCaml: cond_dup : 'a list -> ('a -> bool) -> 'a list that takes in a list and preciate and duplicates
Write a function in OCaml:
cond_dup : 'a list -> ('a -> bool) -> 'a
list that takes in a list and preciate and duplicates all elements which satisfy the condition expressed in the predicate. For example, cond_dup [3;4;5] (fun x -> x mod 2 = 1) = [3;3;4;5;5].
let rec cond_dup l f =
(* YOUR CODE HERE *)
raise (Failure "Not implemented")
assert (cond_dup [3;4;5] (fun x -> x mod 2 = 1) = [3;3;4;5;5])
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
