| Copyright | 2019 Kei Hibino |
|---|---|
| License | BSD3 |
| Maintainer | ex8k.hibino@gmail.com |
| Stability | experimental |
| Portability | unknown |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Language.Haskell.TH.Compat.Bang
Description
This module provides compatibility definitions of bang-type template for before temaplate-haskell-2.10
Synopsis
- data Bang
- type BangQ = Q Bang
- type BangType = (Bang, Type)
- type BangTypeQ = Q BangType
- type VarBangType = (Name, Bang, Type)
- type VarBangTypeQ = Q VarBangType
- data SourceUnpackedness
- type SourceUnpackednessQ = Q SourceUnpackedness
- data SourceStrictness
- type SourceStrictnessQ = Q SourceStrictness
- bang :: Quote m => m SourceUnpackedness -> m SourceStrictness -> m Bang
- bangType :: Quote m => m Bang -> m Type -> m BangType
- varBangType :: Quote m => Name -> m BangType -> m VarBangType
- noSourceUnpackedness :: Quote m => m SourceUnpackedness
- sourceNoUnpack :: Quote m => m SourceUnpackedness
- sourceUnpack :: Quote m => m SourceUnpackedness
- noSourceStrictness :: Quote m => m SourceStrictness
- sourceLazy :: Quote m => m SourceStrictness
- sourceStrict :: Quote m => m SourceStrictness
Compat type constructors
Instances
| Data Bang | |||||
Defined in Language.Haskell.TH.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bang -> c Bang gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bang dataTypeOf :: Bang -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bang) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bang) gmapT :: (forall b. Data b => b -> b) -> Bang -> Bang gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bang -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bang -> r gmapQ :: (forall d. Data d => d -> u) -> Bang -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Bang -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bang -> m Bang gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bang -> m Bang gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bang -> m Bang | |||||
| Generic Bang | |||||
Defined in Language.Haskell.TH.Syntax Associated Types
| |||||
| Show Bang | |||||
| Eq Bang | |||||
| Ord Bang | |||||
| Ppr Bang | |||||
Defined in Language.Haskell.TH.Ppr | |||||
| type Rep Bang | |||||
Defined in Language.Haskell.TH.Syntax type Rep Bang = D1 ('MetaData "Bang" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "Bang" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceUnpackedness) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourceStrictness))) | |||||
type VarBangType = (Name, Bang, Type) #
type VarBangTypeQ = Q VarBangType #
data SourceUnpackedness #
Constructors
| NoSourceUnpackedness | |
| SourceNoUnpack | |
| SourceUnpack |
Instances
| Data SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceUnpackedness -> c SourceUnpackedness gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceUnpackedness toConstr :: SourceUnpackedness -> Constr dataTypeOf :: SourceUnpackedness -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceUnpackedness) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceUnpackedness) gmapT :: (forall b. Data b => b -> b) -> SourceUnpackedness -> SourceUnpackedness gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceUnpackedness -> r gmapQ :: (forall d. Data d => d -> u) -> SourceUnpackedness -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceUnpackedness -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceUnpackedness -> m SourceUnpackedness | |||||
| Generic SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Syntax Associated Types
Methods from :: SourceUnpackedness -> Rep SourceUnpackedness x to :: Rep SourceUnpackedness x -> SourceUnpackedness | |||||
| Show SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Syntax Methods showsPrec :: Int -> SourceUnpackedness -> ShowS show :: SourceUnpackedness -> String showList :: [SourceUnpackedness] -> ShowS | |||||
| Eq SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Syntax Methods (==) :: SourceUnpackedness -> SourceUnpackedness -> Bool (/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool | |||||
| Ord SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Syntax Methods compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness | |||||
| Ppr SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Ppr | |||||
| type Rep SourceUnpackedness | |||||
Defined in Language.Haskell.TH.Syntax type Rep SourceUnpackedness = D1 ('MetaData "SourceUnpackedness" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
type SourceUnpackednessQ = Q SourceUnpackedness #
data SourceStrictness #
Constructors
| NoSourceStrictness | |
| SourceLazy | |
| SourceStrict |
Instances
| Data SourceStrictness | |||||
Defined in Language.Haskell.TH.Syntax Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceStrictness -> c SourceStrictness gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceStrictness toConstr :: SourceStrictness -> Constr dataTypeOf :: SourceStrictness -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceStrictness) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceStrictness) gmapT :: (forall b. Data b => b -> b) -> SourceStrictness -> SourceStrictness gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceStrictness -> r gmapQ :: (forall d. Data d => d -> u) -> SourceStrictness -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceStrictness -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceStrictness -> m SourceStrictness | |||||
| Generic SourceStrictness | |||||
Defined in Language.Haskell.TH.Syntax Associated Types
Methods from :: SourceStrictness -> Rep SourceStrictness x to :: Rep SourceStrictness x -> SourceStrictness | |||||
| Show SourceStrictness | |||||
Defined in Language.Haskell.TH.Syntax Methods showsPrec :: Int -> SourceStrictness -> ShowS show :: SourceStrictness -> String showList :: [SourceStrictness] -> ShowS | |||||
| Eq SourceStrictness | |||||
Defined in Language.Haskell.TH.Syntax Methods (==) :: SourceStrictness -> SourceStrictness -> Bool (/=) :: SourceStrictness -> SourceStrictness -> Bool | |||||
| Ord SourceStrictness | |||||
Defined in Language.Haskell.TH.Syntax Methods compare :: SourceStrictness -> SourceStrictness -> Ordering (<) :: SourceStrictness -> SourceStrictness -> Bool (<=) :: SourceStrictness -> SourceStrictness -> Bool (>) :: SourceStrictness -> SourceStrictness -> Bool (>=) :: SourceStrictness -> SourceStrictness -> Bool max :: SourceStrictness -> SourceStrictness -> SourceStrictness min :: SourceStrictness -> SourceStrictness -> SourceStrictness | |||||
| Ppr SourceStrictness | |||||
Defined in Language.Haskell.TH.Ppr | |||||
| type Rep SourceStrictness | |||||
Defined in Language.Haskell.TH.Syntax type Rep SourceStrictness = D1 ('MetaData "SourceStrictness" "Language.Haskell.TH.Syntax" "template-haskell" 'False) (C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
type SourceStrictnessQ = Q SourceStrictness #
Compat functions
bang :: Quote m => m SourceUnpackedness -> m SourceStrictness -> m Bang #
varBangType :: Quote m => Name -> m BangType -> m VarBangType #
noSourceUnpackedness :: Quote m => m SourceUnpackedness #
sourceNoUnpack :: Quote m => m SourceUnpackedness #
sourceUnpack :: Quote m => m SourceUnpackedness #
noSourceStrictness :: Quote m => m SourceStrictness #
sourceLazy :: Quote m => m SourceStrictness #
sourceStrict :: Quote m => m SourceStrictness #