"The problems are solved, not by giving new information, but by arranging what we have known since long."
– Ludwig Wittgenstein
One of the reasons we choose to write a function is because it can make our code more readable and look more concise. It's also better, when providing a solution, to break our problem statements down into components/actions and form corresponding functions for them. In this manner, it's going to be easier to solve problems with any programming language that provides function constructs (almost all languages provide such constructs because they are important). Scala provides a variety of ways in which we can write functions to achieve things. Our intention in this chapter is to learn how. If you remember correctly, we touched upon functions in Scala in Chapter 4, Giving Meaning to Programs with Functions...