5
Есть ли способ сделать декларацию в стиле C в OCaml?OCAMl forward декларация
Моя проблема заключается в том, что у меня есть два варианта, которые взаимно относятся друг к другу:
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 не настолько широк -использование язык программирования ..
Спасибо, у меня обычно нет проблем с открытием языковых функций, но OCaml действительно отличается от того, что я изучил до сих пор, и мне удалось найти «phat» ссылки сотен страниц, из-за которых я теряю ориентация :) – Jack
Обратите внимание, что вы можете катить кости и искать синтаксис/документы F #, чтобы узнать OCaml. Синтаксис ядра тот же, и так, например, http://stackoverflow.com/questions/1378575/f-forward-type-declarations - победа здесь. – Brian
это хороший момент. Мне пришлось выбирать OCaml, потому что они меня заставляли. Я думал, что это старый, хотя и мощный язык, но если современные функциональные языки (Scala, F #) сохраняют один и тот же синтаксис, тогда это окажется хорошим выбором :) – Jack