Организовать мои взаимные рекурсивные типы - PullRequest
9 голосов
/ 30 ноября 2010

Можно ли распространять взаимные рекурсивные типы ([<Struct>]) на разные файлы?Типы находятся непосредственно под пространством имен.

Мое решение - поместить их в один большой файл и использовать конструкцию type ... and ... and ... etc.Это единственный способ?

1 Ответ

17 голосов
/ 30 ноября 2010

Вы можете использовать технику, называемую развязывание рекурсивного узла, где вы параметризуете один над другим.

Так вот:

type a = B of b
and b = A of a

становится:

type 'b a = B of 'b
type b = A of b a
...