"Edward Z. Yang" <[email protected]> wrote: > Excerpts from Ertugrul Soeylemez's message of Tue Aug 10 02:31:14 -0400 2010: > > There is no evalCont, there is runCont: > > > > runCont :: (a -> r) -> Cont r a -> r > > > > Note that Cont/ContT computations result in a value of type 'r': > > > > newtype Cont r a = Cont ((a -> r) -> r) > > Yes, but if you pass in 'id' as the continuation to 'runCont', the > entire expression will result in 'a'. The continuation monad doesn't > act globally...
Then you can only run evalCont, if r = a, which makes that function quite pointless: evalCont :: Cont r r -> r evalCont = runCont id Greets, Ertugrul -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/ _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
