blob: b5a8e2e77d642f0d1d55ae91e62cf61119b5bab3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
-- | This module exists to work nicely with the QualifiedDo
-- extension.
--
-- @
-- import qualified Language.Haskell.TH.CodeDo as Code
--
-- myExample :: Monad m => Code m a -> Code m a -> Code m a
-- myExample opt1 opt2 =
-- Code.do
-- x <- someSideEffect -- This one is of type `M Bool`
-- if x then opt1 else opt2
-- @
module Language.Haskell.TH.CodeDo((>>=), (>>)) where
import Language.Haskell.TH.Syntax
import Prelude(Monad)
-- | Module over monad operator for 'Code'
(>>=) :: Monad m => m a -> (a -> Code m b) -> Code m b
(>>=) = bindCode
(>>) :: Monad m => m a -> Code m b -> Code m b
(>>) = bindCode_
|