Existem várias maneiras de se executar tarefas de forma paralela, e uma delas é utilizando monads em Haskell. Monads são uma estrutura de dados que permite a execução de cálculos de forma controlada e sequencial, e que também permite a execução paralela de tarefas.Utilizando monads em Haskell, é possível criar código que seja capaz de dividir tarefas em sub-tarefas que podem ser executadas de forma paralela, sem precisar se preocupar com problemas de concorrência. Isso permite que  se obtenha um ganho de desempenho significativo em alguns casos. 