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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bang Source # toConstr :: Bang -> Constr Source # dataTypeOf :: Bang -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bang) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bang) Source # gmapT :: (forall b. Data b => b -> b) -> Bang -> Bang Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bang -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bang -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Bang -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Bang -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bang -> m Bang Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bang -> m Bang Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bang -> m Bang Source # | |
Generic Bang | |
Show Bang | |
Eq Bang | |
Ord Bang | |
Defined in Language.Haskell.TH.Syntax | |
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 VarBangTypeQ = Q VarBangType Source #
data SourceUnpackedness Source #
Constructors
NoSourceUnpackedness | C a |
SourceNoUnpack | C { {-# NOUNPACK #-} } a |
SourceUnpack | C { {-# UNPACK #-} } a |
Instances
data SourceStrictness Source #
Constructors
NoSourceStrictness | C a |
SourceLazy | C {~}a |
SourceStrict | C {!}a |
Instances
type SourceStrictnessQ = Q SourceStrictness Source #
Compat functions
bang :: Quote m => m SourceUnpackedness -> m SourceStrictness -> m Bang Source #
varBangType :: Quote m => Name -> m BangType -> m VarBangType Source #
noSourceUnpackedness :: Quote m => m SourceUnpackedness Source #
sourceNoUnpack :: Quote m => m SourceUnpackedness Source #
sourceUnpack :: Quote m => m SourceUnpackedness Source #
noSourceStrictness :: Quote m => m SourceStrictness Source #
sourceLazy :: Quote m => m SourceStrictness Source #
sourceStrict :: Quote m => m SourceStrictness Source #