Существует ли способ сделать предописание C-стиля в OCaml?
Моя проблема состоит в том, что у меня есть два варианта, которые взаимно относятся друг к другу:
type path_formula =
[ `Next of state_formula
| `Until of (state_formula * state_formula)
| `UntilB of (state_formula * int * state_formula)
]
type state_formula =
[ `True | `False
| `Not of state_formula
| `And of (state_formula * state_formula)
| `Or of (state_formula * state_formula)
| `Imply of (state_formula * state_formula)
| `Label of string
| `Prob` of (boundf * path_formula)
| `Expc` of (boundi * formula)
]
Таким образом, оба типа должны знать другой.. Я искал его на Google, но к сожалению OCaml не, так широко примените язык программирования..
Используйте
type T1 = ...
and T2 = ...
, чтобы иметь рекурсивные типы.