práctico 3 ejercicio 3 parte c

práctico 3 ejercicio 3 parte c

de Julio Carlos Vera Serafino -
Número de respuestas: 1

Cómo están?

A ver si hay alguno disponible y con ganas de darme una mano.

Estoy tratando de generar la instancia Monad de Res, y no logro que compile. Parece necesitar que, antes de hacer la instancia de Monad, haga una instancia de Applicative. Estoy pensando en hacerla, pero preferí preguntar primero, ya que no creo que para abrir una instancia de Monad se requiera una instancia de Applicative.

El mensaje de error de ghci es:

Prelude> :l pfaP3Ej3.hs

[1 of 1] Compiling Main             ( pfaP3Ej3.hs, interpreted )


pfaP3Ej3.hs:34:10:

    No instance for (Applicative Res)

      arising from the superclasses of an instance declaration

    In the instance declaration for ‘Monad Res’

Failed, modules loaded: none.


La instancia de Monad que estoy dando es:

instance Monad Res where

   return  = Res 

   DivZero >>= _ = DivZero

   Unbound s >>= _ = Unbound s

   Res a >>= f = f a

Gracias desde ya por cualquier comentario o sugerencia.