- Serie de artículos sobre Haskell:
In Part 1 of this series, I described how programming languages are grouped into two families, mechanical and mathematical. Programmers also fall into two general categories, those who think mechanically about what a computer does as it executes a program and those who think mathematically about what a program means. Some programmers are gifted and hop between these two worlds as needed.
In Part 2, I described how Haskell is a purely functional programming language and how it uses pure functions to express programs. Unfortunately, pure functions are limiting, because they prohibit side effects and basic I/O.
This article describes monads, the mechanism Haskell uses to structure computation, enable side effects, and communicate with the outside world.