Embracing first-class functions

Kotlin includes first-class support for functions, which means that functions can be invoked, and entire applications written, without having to rely on classes and methods as in Java. This represents a significant shift in how code is written using Kotlin.

This support for functions enables a variety of useful features in the language: