Discuss the concept of lazy evaluation and why this is apowerful advantage of functional programs.

Describe and Discuss the concepts of Higher order functions andcurrying in a functional programming language such as Haskell (orStandard ML) and describe why these concepts are important.