[Haskell-cafe] IO is not a monad

Scott Turner haskell at billygoat.org
Thu Jan 25 22:39:38 EST 2007

On 2007 January 23 Tuesday 17:33, Yitzchak Gale wrote:
> 1. Find a way to model strictness/laziness properties of Haskell functions 
in a category in a way that is reasonably rich.
> 2. Map monads in that category to Haskell, and see what we get.
> 3. Compare that to the traditional concept of a monad in Haskell.
> Is this possible? Any more ideas how to proceed?

Paul B. Levy's studies of "call-by-push-value" model strictness/laziness using 
a category theoretic approach.

He considers evaluation as an effect, such that if you brought it into Haskell 
you would expect evaluation to take the form of a monad transformer.

There would be difficulty, though, in the same areas which have been discussed 
in this thread, because his morphisms are functions on something distinct 
from Haskell values. The corresponding monads could return data in WHNF and 
thunks of functions, but not functions themselves.

More information about the Haskell-Cafe mailing list