
Le 4 avril 2014 18:31, Gautier DI FOLCO
Le 4 avril 2014 17:00, Sylvain Henry
a écrit : En fait je pensais expliciter les noms des champs pour tes structures :
data DayStmt = DayStmt { _morning, _evening :: Temperature} data WeekStmt = WeekStmt { _monday, _tuesday, ..., _sunday :: DayStmt} etc.
Après du coup tu peux composer tes lenses pour aller chercher les champs qui t'intéressent : monday . evening
En composant un peu tu devrais pouvoir faire des "requêtes" sympas dans ton ensemble de temperatures.
Oui, je vois, mais comment tu fais quand tu n'as pas de jours/semaines/mois complets ? foutre des Maybe partout est un peu lourd, non ?
Bonjour, J'ai (je pense) pas mal bossé à tous les niveaux (tests + implantations). Du coup je suis plus partie pour faire un DSEL-like et quelque chose de plus type-safe. Je suis assez content de moi, sauf pour les make*Stmt (l.74 - l.78 - l.82), je pense que ça mériterait l'usage de monades à ce niveau. Du coup, quelques petites questions : - est-ce plus "profond" ? - est-ce plus idiomatique ? - quels sont les points à améliorer ? - que pensez-vous de mon problème de make (ci-dessus) ? (est-ce réellement un problème ? est-ce comme ça que vous le résoudriez ? si non, comment ?) j'ai fait une tentative infructueuse avec les Applicatives - que penseriez de passer une fonction de regroupement ? (pour éviter les weeklyStats/monthyStats) ? - j'utilise finalement peu les Lenses, ne fais-je pas mieux de les virer ? ou y a-t-il un moyen pour que j'en tire partie ? Merci par avance.