это плохой стиль, и нам необходимо его избегать, но бывает, что такое случается совершенно случайно. Например, в JS это запрещено: интерпретатор падает моментально и говорит где круговая зависимость. На будущее, можно ли это детектировать в режиме разработки: например, -Wall флагом?
Циклично зависимые модули не скомпилировать просто так, будет ошибка. Но если сильно хочется есть способ таковые модули свешивались, нужно создать дополнительные интерфейсный файл https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/separate_compilation.html#how-to-compile-mutually-recursive-modules
Циклы нельзя
Обсуждают сегодня