tengo este tipo de datospatrón constructor Haskell juego
data Struct val = Empty | Exec1 val
| Exec2 val
Y dos funciones ficticias
apply :: Struct -> String
apply (Empty) = "matched Empty"
apply (exec struct) = "matched Exec1 or Exec2"
apply' :: Struct val -> String
apply' (Empty) = "matched Empty"
apply' (Exec1 _) = "matched Exec1"
apply' (Exec2 _) = "matched Exec2"
segundo está trabajando muy bien, pero el primero es la causa de error: "Error de análisis de patrón: ejecutivo ". ¿Puedes explicar por qué no puedo hacer coincidir el constructor de esta manera: apply (exec struct) = ...?
Está causando una gran cantidad de código repetitivo cuando tengo varios constructores en mi tipo de datos y debo adaptarlos por separado.
Incluso podría ser una buena idea reutilizar el tipo 'Maybe' predefinido en esta situación. – dflemstr