  Context. Package repositories for a programming language are increasingly
common. A repository can keep a register of the evolution of its packages. In
the programming language Haskell, with its defining characteristic monads, we
can find the Stackage repository, which is a curated repository for stable
Haskell packages in the Hackage repository. Despite the widespread use of
Stackage in its industrial target, we are not aware of much empirical research
about how this repository has evolved, including the use of monads. Objective.
This paper conducts empirical research about the evolution of Stackage
considering monad packages through 22 Long-Term Support releases during the
period 2014-2023. Focusing on five research questions, this evolution is
analyzed in terms of packages with their dependencies and imports; including
the most used monad packages. To the best of our knowledge, this is the first
large-scale analysis of the evolution of the Stackage repository regarding
packages used and monads. Method. We define six research questions regarding
the repository's evolution, and analyze them on 51,716 packages (17.05 GB)
spread over 22 releases. For each package, we parse its cabal file and source
code to extract the data, which is analyzed in terms of dependencies and
imports using Pandas scripts. Results. From the methodology we get different
findings. For example, there are packages that depend on other packages whose
versions are not available in a particular release of Stackage; opening a
potential stability issue. The mtl and transformers are on the top 10 packages
most used/imported across releases of the Stackage evolution. We discussed
these findings with Stackage maintainers, which allowed us to refine the
research questions.
