Diciamo che abbiamoHaskell: ottenere il nome del costruttore di dati come stringa
data D = X Int | Y Int Int | Z String
Vorrei avere una funzione getDConst
getDConst :: D -> String
che restituisce "X", "Y", o " Z ", secondo il costruttore di dati utilizzato per il suo input. C'è un modo generico per scrivere questo senza dover fare case
su ogni costruttore di dati? (Io sono ok con soluzioni basandosi su Data.Typeable
o qualcosa di simile)
Se qualcun altro ottiene anche un errore con questo: Prova ad aggiungere '{- # LINGUA DeriveDataTypeable # -}' per l'inizio del file. È necessario in GHC quando si derivano dati e tipizzabili. – jPlatte