Quelle est la progression des enregistrements Haskell?


18

Récemment, je suis tombé une fois de plus sur les problèmes des enregistrements de Haskell, en particulier l'unicité des noms de champs. (C'est une douleur ...)

J'ai déjà lu Une proposition d'enregistrements à Haskell de SPJ et Greg Morrisett, mais sa dernière mise à jour date de 2003.
Un autre article intitulé Lightweight Extensible Records for Haskell de SPJ et Mark Jones est encore plus ancien: il provient d'un atelier de Haskell en 1999.

Maintenant, je me demande si le processus de remise de nouveaux records à Haskell a progressé.
Est-ce que quelqu'un en sait quelque chose ou quelqu'un peut-il m'indiquer une lecture supplémentaire?


Je connais également Records dans Haskell, mais cela ne montre pas la discussion sur les différentes approches.
mmh

3
Tout le monde convient que les enregistrements actuels sont mauvais, personne ne convient exactement de ce qu'il faut faire à la place. En d'autres termes, le statu quo. Si vous voulez plus de lecture, il n'y a certainement pas de pénurie de débats sans fin sur la question, mais je n'ai pas le temps de trouver des liens pour le moment ...
CA McCann

Vous pourriez avoir plus de chance de demander sur les listes de diffusion.
Rufflewind

Réponses:


2

Mes deux sous.

Croyez-le ou non, Haskell est trop utilisé pour permettre un changement de rupture avec les logiciels existants. Et il est difficile d'ajouter des enregistrements sans briser une partie importante de la langue.

MISE À JOUR: BTW, je pense que les disques sont une bonne nouvelle fonctionnalité. J'aime le plus, ne pas avoir de noms de membres polluant l'espace de noms mondial.


Pouvez-vous clarifier ce qui serait brisé en ajoutant des enregistrements? Est-ce que chaque proposition populaire implique de casser quelque chose?

L'opérateur point (composer) sera utilisé dans la plupart des propositions, donc: a.bsera différent
Zhen

3
L'autre problème est que si vous ajoutez un nouveau système d'enregistrement, vous pouvez soit vous débarrasser du système actuel, qui serait un changement de rupture, soit avoir deux systèmes d'enregistrement simultanément, ce qui serait un gâchis. Je pense que le a.bproblème est moins important car A.bsignifie déjà quelque chose de différent A . b(grâce au système de modules). Bien sûr, c'est un changement de rupture, mais ce n'est pas particulièrement mauvais.
Tikhon Jelvis
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.