
\begin{slide}{Speicher-Aktionen als Monade}

generische Aktionen/Verknüpfungen:
\begin{itemize}
\item nichts tun (return),
$\bullet$ nacheinander (bind, \verb|>>=|)
\end{itemize}
\begin{verbatim}
class Monad m where
  return :: a -> m a
  (>>=) :: m a 
        -> (a -> m b) -- Continuation
        -> m b
instance Monad Action where
  return x = Action $ \ s -> ( s, x )
  Action a >>= f = Action $ \ s -> ...
\end{verbatim}
  
\end{slide}
