Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Sep 14, 2016
Sharon Holliday's talk at Compose :: Conference in Melbourne, 2016.
-- One of the first lessons we are taught in FP is that all functions should be “referentially transparent”. Amongst other implications, this means a function can’t throw an exception. Great in theory, but often, in the real world, we know we can get errors. A file read may fail, data may be missing from our repository, a network error may occur in a remote call, so how do we model this? For those of us that are writing robust, stable production code, surely this makes our life more difficult?
Based on our production Scala code, this talk takes an in depth, practical look beyond how we handle a single function that can return an error, to how we can compose these simple functions into larger functions and whole systems, while avoiding an explosion of complexity. On the way we will visit a number of generic functions available to us through monad and applicative types, and gain an understanding of the power and increased productivity these tools give us. The talk will be a category theory free zone, with examples using Scala and the scalaz library, aiming to show the value of monads in a practical scenario. --