Functional Programming in Kotlin

· ·
· Sold by Simon and Schuster
eBook
504
Pages
Eligible

About this eBook

In Functional Programming in Kotlin you will learn:

Functional programming techniques for real-world applications
Write combinator libraries
Common structures and idioms in functional design
Simplicity and modularity (and fewer bugs!)

Functional Programming in Kotlin is a reworked version of the bestselling Functional Programming in Scala, with all code samples, instructions, and exercises translated into the powerful Kotlin language. In this authoritative guide, you’ll take on the challenge of learning functional programming from first principles. Complex concepts are demonstrated through exercises that you’ll love to test yourself against. You’ll start writing Kotlin code that’s easier to read, easier to reuse, better for concurrency, and less prone to bugs and errors.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Improve performance, increase maintainability, and eliminate bugs! How? By programming the functional way. Kotlin provides strong support for functional programming, taking a pragmatic approach that integrates well with OO codebases. By applying the techniques you’ll learn in this book, your code will be safer, less prone to errors, and much easier to read and reuse.

About the book
Functional Programming in Kotlin teaches you how to design and write Kotlin applications using typed functional programming. Offering clear examples, carefully-presented explanations, and extensive exercises, it moves from basic subjects like types and data structures to advanced topics such as stream processing. This book is based on the bestseller Functional Programming in Scala by Rúnar Bjarnason and Paul Chiusano.

What's inside

Functional programming techniques for real-world situations
Common structures and idioms in functional design
Simplicity, modularity, and fewer bugs!

About the reader
For Kotlin developers. No functional programming experience required.

About the author
Marco Vermeulen has two decades of programming experience on the JVM.

Rúnar Bjarnason and Paul Chiusano are the authors of Functional Programming in Scala.

Tabel of Contents

PART 1 INTRODUCTION TO FUNCTIONAL PROGRAMMING
1 What is functional programming?
2 Getting started with functional programming in Kotlin
3 Functional data structures
4 Handling errors without exceptions
5 Strictness and laziness
6 Purely functional state
PART 2 FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES
7 Purely functional parallelism
8 Property-based testing
9 Parser combinators
PART 3 COMMON STRUCTURES IN FUNCTIONAL DESIGN
10 Monoids
11 Monads and functors
12 Applicative and traversable functors
PART 4 EFFECTS AND I/O
13 External effects and I/O
14 Local effects and mutable state
15 Stream processing and incremental I/O

About the author

Rúnar Bjarnason and Paul Chiusano are the authors of Functional Programming in Scala, on which this book is based. They are internationally-recognized experts in functional programming and the Scala programming language.

Paul Chiusano has been writing and shipping functional code in Scala since 2008 and is responsible for the introduction and growth of Scala usage at his company, Capital IQ. As part of this effort he co-designed a functional programming curriculum and taught an internal course for coworkers interested in learning FP. Paul is also a regular blogger and speaker on functional programming and Scala.

Rate this eBook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Centre instructions to transfer the files to supported eReaders.