Ich weiß, dass Haskell bereits die Möglichkeit hat, einen Typ über einen anderen Typ zu parametrisieren (ähnlich wie bei der Template-Programmierung in C ++), aber ich frage mich, ob Haskell auch einen Typ über Werte parametrisieren kann - ob er abhängige Typen unterstützt. Bei abhängigen Typen können Sie einen Typ verwenden, der über ganze Zahlen parametrisiert ist, z. B. Vektoren der Größe n, Matrizen der Größe n × m usw.
Wenn nein, warum nicht? Und gibt es eine Möglichkeit, dass es in Zukunft unterstützt wird?
Um ein bisschen zu erweitern, was Pthariens Flamme gut über den aktuellen Status erklärt hat - und GHC Haskell scheint sich mit jeder Version weiter in Richtung abhängiger Typen zu bewegen (unter Beibehaltung der Phasentrennung).
So sollte zum Beispiel auf der ICFP 2013 im September dieses Jahres ein Artikel über die nächste Phase dieses Prozesses mit dem Titel "Hin zu abhängig typisiertem Haskell: System FC mit Gleichberechtigung" über das Zusammenbrechen der Arten- und Typenstufen vorgelegt werden. Wie angekündigt war der Plan vor ca. 3 Jahren .
Und es wird sogar der nächste Schritt erwähnt: "Wir sind uns auch bewusst, dass die bevorstehende Dissertation von Adam Gundry Π-Typen in einer Version von System FC enthalten wird, und wir werden diese Funktion auch in der Ausgangssprache verfügbar machen wollen. (Persönliche Mitteilung)"
quelle
Haskell hat traditionell versucht, es zu fälschen, aber das Endergebnis ist ein viel größeres und scheinbar sich wiederholendes Typensystem. Das könnte sich aber bald ändern! Sehen:
quelle