Sto provando a leggere nei file CSV dove la prima riga ha i nomi di ogni colonna. Devo quindi modificare questi file in modo appropriato. Ho un'idea di dove leggo prima il file e poi creo un nuovo tipo di dati chiamato Record, e quindi tutti i record successivi sono solo istanze di questo tipo, ora ovviamente se il programma ha solo a che fare con un tipo di file CSV con un certo numero di colonne sarebbe abbastanza facile, ma purtroppo non sarà sempre così.C'è un modo per creare un tipo di dati in Haskell con un numero indeterminato di campi
Quindi la mia domanda è si può fare qualcosa di simile a
createRecordClass (x:xs) = data Record {addRecord(x:xs)}
addRecord (x:xs) = x::String, addRecord xs
O sono solo parlando pazzo e sarebbe più facile solo per avere un elenco di rappresentare tutto ciò?
Stai parlando pazzo –
Non sono così familiare con il tuo problema, e questo può variare a seconda ... ma ti suggerisco di modellare le operazioni che puoi fare su questi file CSV in astratto, invece di provare a piegare loro nel programma. Una volta che hai un tipo di dati "magici" che corrisponde ai tuoi file CSV, devi avere funzioni "magiche" che si astraggono su di loro. Se il tuo tipo non è magico, non è necessario che le tue funzioni siano. – luqui
Che cosa fai con questi file CSV? Quali tipi di dati possono contenere? Di quanta sicurezza di tipo hai bisogno qui? – hugomg