(I won't answer your main question, I'll just write some notes on your current code.)
On Sun, Nov 7, 2010 at 10:40 PM, Mitar <[email protected]> wrote: > neurons <- growNeurons [ > do { a <- attach nerve1; return $ Growable a }, > do { a <- attach nerve2; return $ Growable a }, > do { a <- attach nerve3; return $ Growable a } > ] Note that this is the same as neuros <- growNeurons [ Growable <$> attach nerve1, Growable <$> attach nerve2, Growable <$> attach nerve3] > Types of attach and deattach are (if I simplify): > > attach :: Nerve n -> IO (LiveNeuron n) > deattach :: LiveNeuron n -> IO () > > Growable is only used so that I can put actions of different type in the list. Well, you could use attachG :: Nerve n -> IO Growable attachG n = Growable <$> attach n ... neurons <- growNeurons [attachG nerve1, attachG nerve2, attachG nerve3] Cheers, -- Felipe. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
