ScalaFromaFunctionalProgrammingPerspective