Hola,
La opción d no debería compilar, dado que en uno de los casos (const 0) retorna un entero y en los demás un Exp.
Para hacer lo que se dice, la aplicación del fold podría ser:
- foldE (const (Lit 0)) Add Mul e
o
- foldE (Lit . const 0) Add Mul e
saludos
La opción d no debería compilar, dado que en uno de los casos (const 0) retorna un entero y en los demás un Exp.
Para hacer lo que se dice, la aplicación del fold podría ser:
- foldE (const (Lit 0)) Add Mul e
o
- foldE (Lit . const 0) Add Mul e
saludos