
23 Jun
2010
23 Jun
'10
9:10 p.m.
I have two pieces of state I'm managing: type FooState = State Foo Foo type BarState = State Bar Bar There is a bit of interplay between them, and I want a function that does something like: importantFunction :: Foo -> Bar -> (Foo, Bar) The problem is, >>= only works when I'm chaining all of the same type of state. So I can't do: modifiesFoo >>= \foo -> modifiesBar foo >>= \bar -> return (foo, bar) So how do I get the results of both modifications back? I hope that makes sense. Programming in Haskell is proving to be very difficult; I once again fear I'm too stupid.