<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">I have a pretty basic question.&nbsp; I've been wondering about whether monadic functions that do NOT us IO can be pure or not.&nbsp; There seems to be some confusion on this topic on the web.&nbsp; I'm especially interested in whether they can be memoized.&nbsp; It seems to me that something like a function in the State monad should be pure provided the same initial state and same function arguments are present.&nbsp; Likewise with the list monad and most other monads in fact.<br></td></tr></table><br>