Thanks very much for the explanation, I now have a better understanding. On 10/26/08, David Menendez <[EMAIL PROTECTED]> wrote: ..[snipped].. > It may be helpful to rewrite the types with a more explicit notation. > For example, > > runST :: (a :: *) -> ((s :: *) -> ST s a) -> a > > mapST_wrong :: (a :: *) -> (b :: *) -> (s :: *) -> (f :: a -> ST s b) -> [a] > -> [b] > mapST_right :: (a :: *) -> (b :: *) -> (f :: (s :: *) -> a -> ST s b) -> [a] > -> [b]
Is this the kind syntax? Very cool indeed! On 10/26/08, Henning Thielemann <[EMAIL PROTECTED]> wrote: > > I think mapM with subsequent runST should work. Ha, glad that you mentioned it, the purpose I was trying at mapST is to eventually use `par` to enable parallel evalation of a set of ST monads instead of, let's say, using thread with IO monads. -- Regards, Paul Liu Yale Haskell Group http://www.haskell.org/yale _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
