Functional Programming in Kotlin and Arrow
In this intensive course, we’ll cover Functional Programming essentials in Kotlin. By the end of this course, you will have a solid grasp of the course concepts.
This course has been updated for the new release
Course Welcome and Materials
Introduction
FREE PREVIEWFunctional Programming in Kotlin
FREE PREVIEWPure Functions
Side Effects
Referential transparency
Local reasoning
Higher order functions
Exercise descriptions
Exercise solutions
Lesson Quiz
The Kotlin type system
Unit and Nothing
Type safety
Product Types
Sum Types
Recap
Exercise descriptions
Exercise solutions
Lesson Quiz
Immutability
Optics
Lens
Prism
Optional
Every
FilterIndex
Index
Iso
Exercise descriptions
Exercise solutions
Lesson Quiz
Recap of lesson 2
Heads up on different ideas
Railway oriented programming
Sequential programs with Either
Capturing 3rd party errors
Validated for error accummulation
Either and Validated interop
Presence vs Absence of a value
Exercise descriptions
Exercise solutions
Lesson Quiz
Side effects and suspend
Suspend and Either
Suspend internals
Limitations of functional data types
Arrow Fx Coroutines
Arrow Fx operators
Error handling and cancellation
Exercise descriptions
Exercise solutions
Lesson Quiz
Immutability in the context of concurrency
Concurrency primitives
Working over async boundaries
bracket, bracketCase and Resource
guarantee, guaranteeCase and onCancel
Exercise descriptions
Exercise solutions
Lesson Quiz
Introduction to functional streams
Functional programs within a Flow
Declarative programming and concern separation in functional streams
Error handling in Streams - Part I
Error handling in Streams - Part II
Cancellation of effects within a Flow
Wrapping callback based effects
Exercise descriptions
Exercise solutions
Lesson Quiz
Concern separation
Suspending edge to edge
Algebras
Recap on going suspend edge to edge
Implicit DI via receivers
Implementing DI
Replacing dependencies form tests
Compatibility with 3rd party DI libraries
Functional testing
Exercise descriptions
Exercise solutions
Lesson Quiz
Goodbye