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> = Maybe.empty...