Rekordy rekurencyjne w F #
Przyjaciel i ja czytamy na F # i obecnie bawimy się rekordami.
Dokonaliśmy następującego zapisu reprezentującego osobę:
type Person =
{name: string;
father: Person;
mother: Person;}
F # Interactive akceptuje to iw pewnym sensie typ ma sens, chyba że nie widzimy, jak go używać. Kiedy próbujemy zadeklarować osobę, musimy zadeklarować rodziców w momencie deklaracji, a następnie zadeklarować ich rodziców i tak dalej. Czy jest jakiś sposób na użycie tego typu? A jeśli nie, to w jaki sposób możemy go nawet stworzyć?
PS: Zdajemy sobie sprawę, że skoro rodzice mają być opcjonalni, powinniśmy je zamknąć w opcji (Niektóre x | Brak).
EDYTOWAĆ
Moje pytanie nie brzmi, jak naprawić powyższe, rozwiązanie jest już napisane w PS. Moje pytanie brzmi, czy mogę rzeczywiście użyć powyższego typu, np. zadeklarować rekord osoby w powyższym formularzu? Jeśli nie, musiałem zrobić bezużyteczny typ. Dlaczego mogę zrobić taki typ?