STM check/MonadPlus
Simon Peyton-Jones
simonpj at microsoft.com
Mon Feb 7 05:53:36 EST 2005
Thanks for the typo. Yes, for Haskell guys 'guard' is fine; but the
main audience for the paper is non-haskell folk, so we have to spell out
the defn.
S
| -----Original Message-----
| From: glasgow-haskell-users-bounces at haskell.org
[mailto:glasgow-haskell-users-
| bounces at haskell.org] On Behalf Of Remi Turk
| Sent: 06 February 2005 20:25
| To: glasgow-haskell-users at haskell.org
| Subject: STM check/MonadPlus
|
| 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.
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
More information about the Glasgow-haskell-users
mailing list