A module according to the clean architecture principle is something different than a Haskell module. So far, I captured clean architecture modules by means of separate folders in the source tree. However, this mechanism does not ensure that I do not accidentally violate the dependency rule. A better solution might be packages. Therefore, the goal is to figure out if packages can be introduced and if the dependency rule still holds.
Acceptance criteria: Each source folder is converted into a package. Dependencies flow from the inside to the outside only. A graph that show the layers and dependencies is available as part of the documentation.
A module according to the clean architecture principle is something different than a Haskell module. So far, I captured clean architecture modules by means of separate folders in the source tree. However, this mechanism does not ensure that I do not accidentally violate the dependency rule. A better solution might be packages. Therefore, the goal is to figure out if packages can be introduced and if the dependency rule still holds.
Acceptance criteria: Each source folder is converted into a package. Dependencies flow from the inside to the outside only. A graph that show the layers and dependencies is available as part of the documentation.