[Haskell-cafe] Haskell soltion ofr I/O: is it monads or uniqueness types, after all?

Nicolas Frisby nicolas.frisby at gmail.com
Sat Feb 10 13:20:13 EST 2007

Very rarely is a nontrivial solution the "only way." Monads are a
construct that nicely represents the sequencing side-effecting
computations in a pure and strongly-typed environment. They are a nice
way to do it, but certainly not the only one.

Now I'm not confident enough to boldly make this claim, but perhaps
they're the simplest way: i.e. they capture the essence of sequencing.

On 2/10/07, Bulat Ziganshin <bulat.ziganshin at gmail.com> wrote:
> Hello haskell-cafe,
> just another interesting discussion in russian forum raised such idea:
> we all say that monads are the haskell way to do i/o. is it true? may
> be, uniqueness types, just like in Clean and Mercury, are real way, and
> monads are only the way to write programs that use uniqueness types
> easier?
> so, IO monad is like any other monad - it simplifies writing of
> complex code, but by itself it don't solve any problems. all code that
> can be written with monads can also be written using ordinal function
> calls. we know it for IO monad too - in ghc, we can use low-level
> representation of IO type and write imperative code without use of
> any monad operators
> --
> Best regards,
>  Bulat                          mailto:Bulat.Ziganshin at gmail.com
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list