In the previous chapters, we covered many features of Kotlin's functions. But now we'll expand on these many features, most of them borrowed from other languages, but with a new twist to fully accommodate them into Kotlin's overall goals and flavour—type-safety and pragmatical conciseness.
Some features, such as Domain Specific Languages (DSLs), let developers extend the language to domains that were not considered when Kotlin was first designed.
At the end of this chapter, you'll have a big picture of all function features, including:
- Extension functions
- Operator overloading
- Type-safe builders
- Inline functions
- Recursion and corecursion