<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\begin{slide}{STM-Typen und -Operationen}

\begin{verbatim}
data STM a -- Transaktion mit Resultat a
data IO  a -- (beobachtbare) Aktion 
           -- mit Resultat a
atomically :: STM a -&gt; IO a
retry      :: STM a
orElse     :: STM a -&gt; STM a -&gt; STM a

data TVar a -- Transaktions-Variable 
            -- mit Inhalt a
newTVar    :: a -&gt; STM ( TVar a )
readTVar   :: 
writeTVar  :: 
\end{verbatim}

($=$ Tab. 24-1 in Beautiful Concurrency)

vgl. \url{http://hackage.haskell.org/packages/archive/stm/2.2.0.1/doc/html/Control-Monad-STM.html}

\end{slide}
</pre></body></html>