кольцевая сборка в ocaml, никак не обойтись? - PullRequest
0 голосов
/ 10 февраля 2019

, поэтому у меня есть тип faction со списком pawns, но тип pawn включает тип записи, который является ссылкой на faction

, оба находятся вдругой модуль, в другом файле.размещение их в одном файле нарушило бы способ, которым я организовал свой источник, и это все равно не работает

я не вижу никакого способа обхода циклической сборки, есть ли обходной путь?

я пыталсяиспользуя третий модуль, который может быть связующим звеном между ними, но это кажется слишком неудобным

1 Ответ

0 голосов
/ 11 февраля 2019

Если два модуля компиляции (или файлы) имеют взаимные зависимости, то самым простым способом было бы выделить эту зависимость в третий файл и заставить эти два зависеть от него.Альтернативное решение состоит в том, чтобы сделать проблемную часть полиморфной и создать экземпляр для конкретных типов независимо - концепция, которую трудно проиллюстрировать без хорошего примера, поэтому, если вы предоставите нам больше информации о вашем коде и его организациях, мы могли бы быть болееполезно.

...