Computer program using multi-paradigm approach
Develop the computer program using multi-paradigm approach (Object oriented, functional and logic
programming methods). In your implementation, the functional concepts such as purity, side effects, nullable, first-class function / higher order functions, generics, recursion, currying and partial application, functional composition and etc are considered