colorless-2.2.9: library/Colorless/RuntimeThrower.hs
module Colorless.RuntimeThrower
( RuntimeThrower(..)
) where
import Control.Monad.Except
import qualified Colorless.Server.Exchange as Server
import Colorless.Types
class Monad m => RuntimeThrower m where
runtimeThrow :: RuntimeError -> m a
instance RuntimeThrower IO where
runtimeThrow err = error $ "Runtime error - " ++ show err
instance Monad m => RuntimeThrower (ExceptT Server.Response m) where
runtimeThrow = throwError . Server.Response'Error . Server.ResponseError'Runtime