<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>State</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_State.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">State</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">newtype</span> <a href="#t:State">State</a> s a = <a href="#v:State">State</a> {<ul class="subs"><li><a href="#v:runState-39-">runState'</a> :: s -> (#a, s#)</li></ul>}</li><li class="src short"><a href="#v:get">get</a> :: <a href="State.html#t:State">State</a> s s</li><li class="src short"><a href="#v:gets">gets</a> :: (s -> a) -> <a href="State.html#t:State">State</a> s a</li><li class="src short"><a href="#v:put">put</a> :: s -> <a href="State.html#t:State">State</a> s ()</li><li class="src short"><a href="#v:modify">modify</a> :: (s -> s) -> <a href="State.html#t:State">State</a> s ()</li><li class="src short"><a href="#v:evalState">evalState</a> :: <a href="State.html#t:State">State</a> s a -> s -> a</li><li class="src short"><a href="#v:execState">execState</a> :: <a href="State.html#t:State">State</a> s a -> s -> s</li><li class="src short"><a href="#v:runState">runState</a> :: <a href="State.html#t:State">State</a> s a -> s -> (a, s)</li><li class="src short"><a href="#v:mapAccumLM">mapAccumLM</a> :: <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => (acc -> x -> m (acc, y)) -> acc -> [x] -> m (acc, [y])</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:State" class="def">State</a> s a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:State" class="def">State</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runState-39-" class="def">runState'</a> :: s -> (#a, s#)</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:State" class="caption collapser" onclick="toggleSection('i:State')">Instances</p><div id="section.i:State" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="State.html#t:State">State</a> s)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> (<a href="State.html#t:State">State</a> s)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="MonadUtils.html#t:Applicative">Applicative</a> (<a href="State.html#t:State">State</a> s)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:get" class="def">get</a> :: <a href="State.html#t:State">State</a> s s</p></div><div class="top"><p class="src"><a name="v:gets" class="def">gets</a> :: (s -> a) -> <a href="State.html#t:State">State</a> s a</p></div><div class="top"><p class="src"><a name="v:put" class="def">put</a> :: s -> <a href="State.html#t:State">State</a> s ()</p></div><div class="top"><p class="src"><a name="v:modify" class="def">modify</a> :: (s -> s) -> <a href="State.html#t:State">State</a> s ()</p></div><div class="top"><p class="src"><a name="v:evalState" class="def">evalState</a> :: <a href="State.html#t:State">State</a> s a -> s -> a</p></div><div class="top"><p class="src"><a name="v:execState" class="def">execState</a> :: <a href="State.html#t:State">State</a> s a -> s -> s</p></div><div class="top"><p class="src"><a name="v:runState" class="def">runState</a> :: <a href="State.html#t:State">State</a> s a -> s -> (a, s)</p></div><div class="top"><p class="src"><a name="v:mapAccumLM" class="def">mapAccumLM</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m</td><td class="doc empty"> </td></tr><tr><td class="src">=> (acc -> x -> m (acc, y))</td><td class="doc"><p>combining funcction </p></td></tr><tr><td class="src">-> acc</td><td class="doc"><p>initial state </p></td></tr><tr><td class="src">-> [x]</td><td class="doc"><p>inputs </p></td></tr><tr><td class="src">-> m (acc, [y])</td><td class="doc"><p>final state, outputs </p></td></tr></table></div><div class="doc"><p>Monadic version of mapAccumL </p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>