1. 21
  1. 4

    This is a fine explanation of baby-free-monads and how they are analogous to Haskell IO. I do think it should be pointed out though that this is only one way to accomplish IO from a purely functional system. Albeit a very popular and useful one

    1. 4

      A baby-free-monad sounds like a monad that doesn’t have any babies inside :)

      1. 1

        (avoid success) at all costs vs avoid (success at all costs) => (baby-free)-monad vs baby-(free-monad)

      2. 3

        What are some examples of other ways to accomplish IO in a purely functional system?

        1. 4

          I think the three big ones are that I’m familiar with are:

          I don’t know of too many examples of the second two, but the first one has gained quite a bit of popularity in the last few years.