Ich baue einen Ausdruck Baum mit diskriminierten Gewerkschaften. Der folgende Code:Können diskriminierte Gewerkschaften sich aufeinander beziehen?
type IntExpression =
| TrueIsOne of BoolExpression
type BoolExpression =
| LessThan of IntExpression * IntExpression
| And of BoolExpression * BoolExpression
| Or of BoolExpression * BoolExpression
| Bool of bool
gibt einen Fehler aus, weil BoolExpression nicht definiert ist. Wenn Sie die Definitionen austauschen, führt dies wie erwartet zu einem umgekehrten Ergebnis (IntExpression ist nicht definiert).
Gibt es einen Weg um dies?
möglich Duplikat von [F # Vorwärts-Typdeklarationen] (http://stackoverflow.com/questions/1378575/f-forward-type-declarations) – Brian
@ Brian ist es, dieselbe Frage, aber die Terminologie ist so unterschiedlich, dass ich sie weder mit Google noch mit der Website-Suche gefunden habe. Das allein könnte ein Grund sein, beide offen zu lassen. – mavnn