Ho seguente tipo di dati definiti come record diCome eseguire iterazioni sui campi dei record?
data Config = Config
{ field1 :: String
, field2 :: String
, field3 :: String
}
voglio iterare su ogni campo di Config
, applicare qualche funzione String -> String
, ad esempio tail
e ottiene in cambio nuova Config
.
Qual è il modo idiomatico per farlo? Preferibilmente, senza pesanti librerie di terze parti.
La funzione 'head' restituisce un' char'. Ho ragione di capire che vuoi cambiare il tipo dei tuoi campi a seconda di cosa restituisce la funzione fornita? –
uniplate è una libreria generica leggera che probabilmente può farlo facilmente. – jberryman
@MichaelSteele colpa mia, qualcosa come 'tail' che restituirà lo stesso tipo' String'. Ho aggiornato le domande –