Monad for error handling for the mangler
Pulled out so it can be shared with the attribute grammar part of the
mangler too.
(c) 1993-2001 Andy Gill, Simon Marlow
> module Happy.Frontend.Mangler.Monad
> ( ErrMsg
> , M
> , addErr
> ) where
> import Control.Monad.Writer ( Writer, MonadWriter(..) )
> type ErrMsg = String
> type M a = Writer [ErrMsg] a
> addErr :: ErrMsg -> M ()
> addErr :: ErrMsg -> M ()
addErr ErrMsg
e = [ErrMsg] -> M ()
forall w (m :: * -> *). MonadWriter w m => w -> m ()
tell [ErrMsg
e]