Merci, je ne connaissais pas ce module. Après la complexité est cachée dans le module, on pourrait tout aussi bien mettre mon implémentation de Range dans un module et la complexité ne serait plus aussi visible.
Ton approche avec un Maybe est clairement préférable à la mienne qui est basée sur des exceptions. Par contre, lire la ligne de putStrLn m'a demandé un effort du fait des priorités des opérateurs. Pour ceux qui ont du mal, cela se lit putStrLn (show ((launchMissile'' . F) <$> [10, 0, 7, negate 11, 17])). Généralement quand j'ai plus d'un opérateur infix non trivial dans la même ligne, je met des parenthèses explicites.
[^] # Re: Solution à base de types variants en ADA
Posté par Guillaum (site web personnel) . En réponse à la dépêche Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 4.
Merci, je ne connaissais pas ce module. Après la complexité est cachée dans le module, on pourrait tout aussi bien mettre mon implémentation de
Rangedans un module et la complexité ne serait plus aussi visible.Ton approche avec un
Maybeest clairement préférable à la mienne qui est basée sur des exceptions. Par contre, lire la ligne deputStrLnm'a demandé un effort du fait des priorités des opérateurs. Pour ceux qui ont du mal, cela se litputStrLn (show ((launchMissile'' . F) <$> [10, 0, 7, negate 11, 17])). Généralement quand j'ai plus d'un opérateur infix non trivial dans la même ligne, je met des parenthèses explicites.