[Haskell-cafe] questions on lazy pattern, StateT monad
Wolfgang Jeltsch
wolfgang at jeltsch.net
Thu Nov 24 16:00:29 EST 2005
Am Donnerstag, 24. November 2005 21:52 schrieb Fan Wu:
> > They cannot belong to the same monad. If s is the state type and m1' and
> > m2' belong to the monad m then m1 and m2 belong to the monad StateT s m.
>
> I know it looks insane, I'm just trying to make a recursive case of
> it: technically it's still possible to have a StateT monad as the m in
> "StateT s m" right?
Yes, but this StateT type application cannot be equal to the outer StateT type
application because this would result in an infinite type which Haskell
doesn't support. Example:
StateT Int (StateT Int (StateT Int ...))
> Thanks,
> Fan
Best wishes,
Wolfgang
More information about the Haskell-Cafe
mailing list