
Le 3 avril 2014 10:44, Sylvain Henry
Pour l'immutabilité, je montrerais les Lenses.
Bonne idée
Eviter d'utiliser des listes partout, notamment dans DayStmt, WeekStmt et MonthStmt, vu que le nombre de champs est fixe.
Pas forcément, tu ne peux avoir que les relevés de 40 jours par exemple, ce qui fais que tu as un mois et une semaine incomplète.
Utiliser des lenses ici serait pas mal, surtout pour réécrire la fonction finale. Si je comprends bien elle fait une sélection et une réduction, donc parfait avec des lenses.
Je ne suis pas convaincu par le Monoid, une simple fonction de réduction suffirait : toStats :: [Temperature] -> Statistics Là c'est compliqué inutilement je trouve.
Du coup tu perds la notion de groupes de relevés (jour, semaines, mois) et tu te retrouve à gérer le "conflit" °C/°F en même temps que le calcul des stats.