Answered step by step
Verified Expert Solution
Question
1 Approved Answer
part A Write a function in Ocaml cond_dup : 'a list -> ('a -> bool) -> 'a list that takes in a list and predicate
part A
Write a function in Ocaml
cond_dup : 'a list -> ('a -> bool) -> 'a
list that takes in a list and predicate 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") <-- remove when coded
assert (cond_dup [3;4;5] (fun x -> x mod 2 = 1) = [3;3;4;5;5])
part B
Write a function in ocaml
n_times : ('a -> 'a) * int * 'a -> 'a
such that n_times (f,n,v) applies f to v n times. For example, n_times((fun x-> x+1), 50, 0) = 50. If n<=0 return v.
let rec n_times (f, n, v) = (* YOUR CODE HERE *) raise (Failure "Not implemented")
assert (n_times((fun x-> x+1), 50, 0) = 50)
Use Ocaml
use OCAML
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
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