Functional programming – monads

Functional programming is incomplete without monads. If you are into functional programming, then you know it very well; otherwise, you are hearing it for the first time. So, what is a monad? Let's learn about it. The concept of monad is quite abstract; the definition says monad is a structure that creates a new type by encapsulating a value and adding some extra functionalities to it. So, let's start by using a monad; take a look at the following program:

 fun main(args: Array<String>) { val maybeValue: Maybe<Int> = Maybe.just(14)//1 maybeValue.subscribeBy(//2 onComplete = {println("Completed Empty")}, onError = {println("Error $it")}, onSuccess = { println("Completed with value $it")} ) val maybeEmpty:Maybe<Int> ...

Get Reactive Programming in Kotlin now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.