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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!