2017-10-21 39 views

Répondre

7

Ceci ne fonctionne que dans GHC 8.2.1 et supérieur. Si vous utilisez stack, le résolveur LTS actuel est uniquement sur 8.0.2. Mettez à jour votre GHC (dans stack, ce qui serait le réglage compiler: ghc-8.2.1), ou faites simplement tous les avertissements dans les erreurs avec -Werror -Wmissing-fields, et asseyez-vous jusqu'à ce que la fonctionnalité soit plus largement disponible. (Si vous déclenchez un autre avertissement, disons missing-methods, il reste un avertissement dans le premier, mais devient une erreur dans le dernier.)

+0

Merci beaucoup pour votre information très utile! Actuellement, j'utilise LTS Haskell 9.1 (ghc-8.0.2). – redstone

0

Il suffit de rendre les champs stricts. C'est une bonne pratique en général car cela permet d'éviter les fuites d'espace et peut conduire à d'autres optimisations. Dans le cas où vous ne comptez pas vraiment sur la paresse, vous pouvez convertir les champs en strict.