On Sun, 7 Apr 2013 01:02:12 +0300 Ömer Sinan Ağacan
<omeraga...@gmail.com> wrote:

> I'm not happy with this design because to me it was like I'm missing
> the point of using a 'functional' language.

You kind of do, e.g. you might not be able to test parts of your
program independently.

> For instance, in most parts of my code I can actually do IO.

You can disable IO in parts of your code by making it polymorphic over
monad.

{-# LANGUAGE RankNTypes #-}
type MonadStack = ErrorT Err (StateT St IO)
type MonadStackNoIO = forall m. Monad m => ErrorT Err (StateT St m)

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to