Sum-types sind ein nützliches Feature in vielen Fällen. Da wir schon Product-types haben, macht es Sinn auch Sum-types zu übernehmen.
Für DDP würde ich folgende Syntax vorschlagen:
[Definition des Typs]
Wir definieren eine NummerOderText als eine Zahl, eine Kommazahl oder einen Text.
Die NummerOderText x ist 2.
Speichere "Hallo Welt" in x. [nur die angegebenen Typen können x zugewiesen werden]
Speichere wahr in x. [Typfehler]
Schreibe (x als Text) auf eine Zeile. [um einen Sum-type zu benutzen muss gecasted werden]
[man kann den tatsächlichen Typ einer Variable überprüfen]
Wenn x ein Text ist, dann:
...
Das einzige was man mit einem Sum-type machen kann ist ihn zu definieren, zu Speichern, ihn in einen konkreten Typ umzuwandeln und zu überprüfen ob er ein bestimmter Typ ist.
Sum-types in DDP werden relativ ähnlich zu Variablen sein, bloß mit mehr Sicherheits-Checks zur Kompilierzeit.
Sum-types sind ein nützliches Feature in vielen Fällen. Da wir schon Product-types haben, macht es Sinn auch Sum-types zu übernehmen.
Für DDP würde ich folgende Syntax vorschlagen:
Das einzige was man mit einem Sum-type machen kann ist ihn zu definieren, zu Speichern, ihn in einen konkreten Typ umzuwandeln und zu überprüfen ob er ein bestimmter Typ ist.
Sum-types in DDP werden relativ ähnlich zu Variablen sein, bloß mit mehr Sicherheits-Checks zur Kompilierzeit.