Рекурсивные типы в OCaml?

Привет, это моя первая публикация на Stack Overflow, и я столкнулся с проблемой при попытке создать тип в OCaml

Я пытаюсь построить дерево типов, которое имеет узлы / листья / и т. д. Это то, что у меня есть до сих пор.

type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree) | ....

Мой узел должен быть типом, который содержит его имя и другое дерево в виде кортежа. Но когда я попытался скомпилировать это, он сказал, что для дерева требуются два аргумента. Поэтому я попробовал:

type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree ('a*'b))

, но все равно получал ошибку. Вы заметили что-нибудь, что я делал неправильно? Спасибо!

5
задан Brian 22 January 2011 в 20:58
поделиться