
6 Feb
2005
6 Feb
'05
3:25 p.m.
Hi, I have a few questions about the `check' function from Control.Concurrent.STM. First, in the paper its definition contains a (type) error: check :: Bool -> STM a check True = return () check False = retry in fptools, however, it is defined as follows: check :: Bool -> STM a check b = if b then return undefined else retry As we already have guard, and STM is an instance of MonadPlus, I wonder why such a simple utility function as check is wanted at all. guard :: (MonadPlus m) => Bool -> m () guard True = return () guard False = mzero Greetings, Remi -- Nobody can be exactly like me. Even I have trouble doing it.
7409
Age (days ago)
7409
Last active (days ago)
0 comments
1 participants
participants (1)
-
Remi Turk