On the circular imports issue, I'm coming from f#, where the lack of circular 
imports is seen as a feature rather than a bug. It encourages (even forces) a 
good onion design with the pure code at the centre of the project and the 
impure code (files/databases/networks) on the periphery.

Given that f# is mainly used for large, complex projects in the finance 
industry, it's clear that there's no reason why circular dependencies can't be 
refactored out of a project. It should be all the better for it.

This is well explained here by the admirable Scott Wlaschin:

<https://fsharpforfunandprofit.com/posts/recipe-part3>/

Reply via email to