有没有办法在 OCaml 中进行 C 风格的前向声明?
我的问题是我有两个相互引用的变体:
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 = ...
具有递归类型。
关于types - OCaml 前向声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026123/