ormolu/data/examples/declaration/class/dependency-super-classes.hs

23 lines
474 B
Haskell

{-# LANGUAGE FunctionalDependencies #-}
-- | Something.
class ( MonadReader r s,MonadWriter w m ) => MonadState s m| m -> s where
get :: m s
put :: s -> m ()
-- | 'MonadParsec'
class (
Stream s, -- Token streams
MonadPlus m -- Potential for failure
) => MonadParsec e s m | m -> e s
where
-- | 'getState' returns state
getState
::
m s
-- | 'putState' sets state
putState ::
s
-> m ()