как определить два типа, ссылающихся друг на друга в OCaml? - PullRequest
3 голосов
/ 28 марта 2012

Приведенный ниже код выдаст сообщение об ошибке синтаксиса:

type 'a edge = 
  |Empty 
  |End of 'a * 'a vertex * 'a vertex and
type 'a vertex = 
  |Empty
  |Vertex of 'a * 'a edge list;;

Как определить два типа, ссылающихся друг на друга?

1 Ответ

6 голосов
/ 28 марта 2012

Второй type не является синтаксически правильным:

type 'a edge = 
  |Empty 
  |End of 'a * 'a vertex * 'a vertex
and 'a vertex = 
  |Empty
  |Vertex of 'a * 'a edge list;;
...