LikeLike

]]>LikeLike

]]>LikeLike

]]>> `join` takes two TokenMatches in the Maybe monad and returns a TokenMatch in the Maybe monad.

> The Maybe monad allows you to represent when an evaluation may have failed. In the case of failure, it has a value constructor Nothing and in the case of success, the Maybe monad has a value constructor Just followed by the value constructor of the type in the monad.

It’s not about monad here, it’s about a type that called Maybe. You don’t use any monadic property of this type here, only its structure and purpose. Talking about monad would be legal when you do monadic operations with Maybe values: binding, unwrapping in do-notation, etc.

For the reader who is not familiar with monads, this will make a lot of confusion.

LikeLike

]]>LikeLike

]]>LikeLike

]]>LikeLike

]]>LikeLike

]]>LikeLike

]]>LikeLike

]]>