> For the complete documentation index, see [llms.txt](https://swlaschin.gitbook.io/fsharpforfunandprofit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swlaschin.gitbook.io/fsharpforfunandprofit/understanding-f/dependency-cycles.md).

# The "Dependency cycles" Series

One of the most common complaints about F# is that it requires code to be in *dependency order*. That is, you cannot use forward references to code that hasn't been seen by the compiler yet.

In this series, I discuss dependency cycles, why they are bad, and how to get rid of them.

* [Cyclic dependencies are evil](/fsharpforfunandprofit/understanding-f/dependency-cycles/cyclic-dependencies.md). Cyclic dependencies: Part 1.
* [Refactoring to remove cyclic dependencies](/fsharpforfunandprofit/understanding-f/dependency-cycles/removing-cyclic-dependencies.md). Cyclic dependencies: Part 2.
* [Cycles and modularity in the wild](/fsharpforfunandprofit/understanding-f/dependency-cycles/cycles-and-modularity-in-the-wild.md). Comparing some real-world metrics of C# and F# projects.
