# Introduction

In this chapter, we explore the more advanced topics of Haskell - **functors, applicative functors** and **monads*****.*** These three concepts are [type classes](https://haskell.hpmeducation.com/type-classes) in Haskell that generalise ideas of **function mapping**, **function application** and **programming with effects**, respectively.
