je défini comme suit datatype enregistrementComment itérer sur des champs d'enregistrement?
data Config = Config
{ field1 :: String
, field2 :: String
, field3 :: String
}
Je veux itérer sur chaque champ de Config
, appliquer une fonction String -> String
, par exemple tail
et obtenir en retour nouvelle Config
.
Quelle est la manière idiomatique de faire cela? De préférence, sans bibliothèques tierces lourdes.
La fonction '' head' renvoie une Char'. Ai-je raison de comprendre que vous voulez que le type de vos champs change en fonction de ce que la fonction fournie retourne? –
uniplate est une bibliothèque générique légère qui peut probablement le faire facilement. – jberryman
@MichaelSteele ma faute, quelque chose comme 'tail' qui retournera le même type' String'. J'ai mis à jour les questions –