I've gotten this sort of error several times, which mysteriously disappears
when I add more functions to the code:

storeError.hs:13:38:
    Couldn't match expected type `a' (a rigid variable)
           against inferred type `String'
      `a' is bound by the type signature for `throwError'
        at <no location info>
      Expected type: a
      Inferred type: String
    In the first argument of `return', namely `msg'
    In the call (return msg)

(This is GHCi.) The code is below. The type variable a can't be bound to String, obviously, but a relative novice like myself has no idea why. Can
someone tell me?

Thanks,

-Rod

--
module Store where

import Control.Monad.Error
import Control.Concurrent.STM

data StoreError = Default String

instance Error StoreError where
    noMsg  = Default "Store error"
    strMsg = Default

instance MonadError StoreError STM where
    throwError (Default msg) = return msg


_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to