Skip to content

Instantly share code, notes, and snippets.

@travisbrown
Created May 31, 2014 13:40
Show Gist options
  • Save travisbrown/58f289c69ac74d2e6d7e to your computer and use it in GitHub Desktop.
Save travisbrown/58f289c69ac74d2e6d7e to your computer and use it in GitHub Desktop.
Trampolining the state monad (doesn't work)
import scalaz._, Scalaz._
def setS(i: Int): State[List[Int], Unit] = modify(i :: _)
val s = (1 to 10000).foldLeft(state[List[Int], Unit](()).lift[Free.Trampoline]) {
case (st, i) => st.flatMap(_ => setS(i).lift[Free.Trampoline])
}
s(Nil)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment