Question: Problem 4 Please code in OCAML Starter Code: type 'a binTree = | Leaf | Node of 'a * ('a binTree) * ('a binTree) let
Problem 4
Please code in OCAML
Starter Code:
type 'a binTree = | Leaf | Node of 'a * ('a binTree) * ('a binTree)
let rec mapT (f : 'a -> 'b) (t : 'a binTree) : 'b binTree =
Problem 4. Define a polymorphic data type called 'a bintree as follows: type 'a binTree = | Leaf | Node of 'a * ('a binTree) * ('a binTree) Trees of this type will contain a single piece of data of type 'a at each node, and no data at their leaves. (a) Define an OCaml function mapt : ('a -> 'b) -> 'a binTree -> 'b binTree which operates on trees just as map operates on lists. In other words, mapt takes a function and applies it to every data item of type 'a in a tree of type 'a binTree. Problem 4. Define a polymorphic data type called 'a bintree as follows: type 'a binTree = | Leaf | Node of 'a * ('a binTree) * ('a binTree) Trees of this type will contain a single piece of data of type 'a at each node, and no data at their leaves. (a) Define an OCaml function mapt : ('a -> 'b) -> 'a binTree -> 'b binTree which operates on trees just as map operates on lists. In other words, mapt takes a function and applies it to every data item of type 'a in a tree of type 'a binTree
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
