7
Supponiamo che io sono un tipo di dati in questo modo:definizioni di funzioni multiple con template Haskell
data Color = Red | Blue | Green
Come dovrei generare una funzione come questa utilizzando templatehaskell?
myShow Red = ...
myShow Blue = ...
myShow Green = ...
Ad esempio, sto cercando più definizioni per una funzione basata sulla corrispondenza del modello.
Questo mi ha messo sulla strada giusta. Ho finito per usare un lambda con un'espressione case come questa: 'myShow = return $ LamE [VarP mc] (CaseE (VarE mc) $ [Match ...] dove mc = mkName" mc "' –