Kt. Academy Logo
WorkshopsBooksArticlesStore

Functional Kotlin

Kotlin is a powerful language that has already revolutionized Android and backend development, but it also has powerful support for functional programming. Its amazing features, like functional collection processing, DSL builders, scope functions, or context receivers, help developers achieve intuitive and expressive functional syntax. Additionally, Kotlin’s extensibility allows libraries like Arrow to promote an even more functional style, all while keeping proper type safety, stability, and performance. Thanks to all this, Kotlin has become the promised land for many developers who are passionate about functional programming in real-life applications.

This book is about Kotlin’s functional programming features. It covers the essentials first and then builds on them. It presents important and practical topics like collection processing, function references, scope functions, DSL usage and creation, and context receivers.

Who this book is for

This book is perfect for developers who know the basics of Kotlin and want to learn more advanced features. Math knowledge is NOT required to understand and benefit from this book. It is a natural continuation of Kotlin Essentials.

What is covered

This book focuses on Kotlin’s functional features, including:

  • Generic variance modifiers
  • Covariant Nothing Object pattern
  • Generic variance modifier limitations
  • Interface delegation
  • Implementing custom property delegate
  • Property delegates from Kotlin stdlib
  • Kotlin Contracts
  • Kotlin and Java type mapping
  • Annotations for Kotlin and Java interoperability
  • Multiplatform development structure, concepts and possibilities
  • Implementing multiplatform library
  • Implementing Android and iOS applications with shared module
  • Essentials of Kotlin/JS
  • Reflecting Kotlin elements
  • Reflecting Kotlin types
  • Implementing custom Annotation Processor
  • Implementing custom Kotlin Symbol Processor
  • KSP incremental compilation and multiple round processing
  • Defining Compiler Plugin
  • Core Static Analysis concepts
  • Overview of Kotlin static analyzers
  • Defining custom Detekt rule

This book is full of example projects, including:

  • Type-safe task update class using Covariant Nothing Object pattern (Generic variance modifiers chapter)
  • Logging property delegate (Property delegation chapter)
  • Object serializer (Reflection chapter)
  • Random value generator for generic types (Reflection chapter)
  • Annotation Processor generating interface for a class (Annotation Processing chapter).
  • Kolin Symbol Processor generating interface for a class (Kotlin Symbol Processing chapter).
  • Detekt rule finding System.out.println usage.
Marcin Moskała

Marcin Moskała

Marcin Moskala is a highly experienced developer and Kotlin instructor as the founder of Kt. Academy, an official JetBrains partner specializing in Kotlin training, is known for his significant contributions to the Kotlin community. Moskala is the author of several widely recognized books, including "Effective Kotlin," "Kotlin Coroutines," "Functional Kotlin," "Advanced Kotlin," "Kotlin Essentials," and "Android Development with Kotlin."

Beyond his literary achievements, Moskala is the author of the largest Medium publication dedicated to Kotlin. As a respected speaker, he has been invited to share his insights at numerous programming conferences, including events such as Droidcon and the prestigious Kotlin Conf, the premier conference dedicated to the Kotlin programming language.