News for hackers. Stuff that matters.
Re:Microsoft takes .NET open source and cross-platform by tome on Wednesday November 12, 2014 @03:02PM (#8597786)
> The I/O monad modifies the Universe that contains the set of all functions that comprise your program

That sounds rather complicated. My way of thinking of it is simpler than that. a -> IO b is just a function from a to b that can do some I/O. Nothing more complicated than that.

Re:Microsoft takes .NET open source and cross-platform by SamReidHughes on Wednesday November 12, 2014 @07:34PM (#8599277)
I recommend just regarding IO a as an action, or some description of an action, that returns a value of type a. And (>>=) constructs bigger actions by attaching continuations to actions.
Re:Microsoft takes .NET open source and cross-platform by wbillingsley on Wednesday November 12, 2014 @07:25PM (#8599235)
It is (slightly) more complicated than that. Your return type is not b but IO b. Your callers will be performing functions that are defined on IO b with the result (such as bind)