Je sais que Haskell a déjà la possibilité de paramétrer un type sur un autre type (similaire à la programmation de modèles en C ++), mais je me demande si Haskell peut également paramétrer un type sur des valeurs - s'il prend en charge les types dépendants. Avec les types dépendants, vous pouvez avoir un type paramétré sur des entiers, par exemple des vecteurs de taille n, des matrices de taille n × m, etc.
Sinon, pourquoi pas? Et y a-t-il une possibilité qu'il soit soutenu à l'avenir?
Pour développer un peu ce que la flamme de Ptharien a bien expliqué sur l'état actuel - et GHC Haskell semble aller plus loin dans la direction des types dépendants (tout en préservant la séparation de phases) avec chaque version.
Ainsi, par exemple, lors de l'ICFP 2013 de septembre, un document sur la prochaine phase de ce processus devrait être présenté, "Vers un Haskell typé de manière dépendante: System FC avec une égalité genre" , sur la réduction des types et des niveaux. Comme cela a été annoncé il y a environ 3 ans .
Et il mentionne même la prochaine étape: "Nous sommes également conscients que la dissertation à venir d'Adam Gundry inclura des types Π dans une version de System FC et nous voudrons également rendre cette fonctionnalité disponible dans la langue source. (Communication personnelle)"
la source
Haskell a traditionnellement essayé de le simuler, mais le résultat final est un système de type beaucoup plus grand et apparemment répétitif. Mais cela pourrait bientôt changer! Voir:
la source