Speaker
Description
A major characteristic of functional programming languages is that the computation is free of side
effects, meaning that given the same input a function will always produce the same result. If we want
to use side effects like output, computation that may fail or access to ‘states’ of the program, we need
extra tools to simulate these.
In the functional programming language Haskell the simulation of side effects can be realized using
‘monads’. Since the term ‘monad’ also refers to a fundamental concept in category theory, the
question arises how these topics are related.
In order to study this relation, we will argue a suitable categorical model for Haskell which we will use
to discuss the categorical properties of Haskell functors, monads and monad transformers.
Furthermore, we will present one of the most common monads (and also monad transformers) in
Haskell and give an example for the benefits of applying mathematical theorems to Haskell monads.