One of the main features that functional languages offer is the ability to treat functions as objects - pass them around and assign them to variables.
Functions that take other functions as parameters or that return other functions as results are called Higher Order Functions. This ability is extremely powerful, and is showcased very well in the collections API, and several other types in the Scala core library.
The video below provides an introduction to Higher Order Functions and showcases some examples.
How to Use Higher Order Functions in Scala - BoldRadius Blog
Another great resource for learning about higher order functions is Mario Gleichmann's post Functional Scala: High, Higher, Higher Order Functions .
Okay, you've watched the video and you've read the post - now take the quiz!