| Safe Haskell | Ignore |
|---|---|
| Language | GHC2021 |
Language.Haskell.Syntax.Basic
Synopsis
- data Boxity
- isBoxed :: Boxity -> Bool
- type SumWidth = Int
- type ConTag = Int
- newtype FieldLabelString = FieldLabelString {}
- data Role
- data HsBang = HsBang SrcUnpackedness SrcStrictness
- data SrcStrictness
- data SrcUnpackedness
- data LexicalFixity
- data FixityDirection
- data Fixity = Fixity Int FixityDirection
Documentation
Instances
| Data Boxity Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Boxity -> c Boxity gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Boxity dataTypeOf :: Boxity -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Boxity) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Boxity) gmapT :: (forall b. Data b => b -> b) -> Boxity -> Boxity gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Boxity -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Boxity -> r gmapQ :: (forall d. Data d => d -> u) -> Boxity -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Boxity -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Boxity -> m Boxity gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Boxity -> m Boxity gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Boxity -> m Boxity | |
| Binary Boxity Source # | |
| Outputable Boxity Source # | |
| Eq Boxity Source # | |
A *one-index* constructor tag
Type of the tags associated with each constructor possibility or superclass selector
newtype FieldLabelString Source #
Field labels are just represented as strings; they are not necessarily unique (even within a module)
Constructors
| FieldLabelString | |
Fields | |
Instances
| NFData FieldLabelString Source # | |
Defined in Language.Haskell.Syntax.Basic Methods rnf :: FieldLabelString -> () | |
| Data FieldLabelString Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldLabelString -> c FieldLabelString gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldLabelString toConstr :: FieldLabelString -> Constr dataTypeOf :: FieldLabelString -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FieldLabelString) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldLabelString) gmapT :: (forall b. Data b => b -> b) -> FieldLabelString -> FieldLabelString gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldLabelString -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldLabelString -> r gmapQ :: (forall d. Data d => d -> u) -> FieldLabelString -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldLabelString -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldLabelString -> m FieldLabelString gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldLabelString -> m FieldLabelString gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldLabelString -> m FieldLabelString | |
| Uniquable FieldLabelString Source # | |
Defined in GHC.Types.FieldLabel Methods getUnique :: FieldLabelString -> Unique Source # | |
| Outputable FieldLabelString Source # | |
Defined in GHC.Types.FieldLabel Methods ppr :: FieldLabelString -> SDoc Source # | |
| Eq FieldLabelString Source # | |
Defined in Language.Haskell.Syntax.Basic Methods (==) :: FieldLabelString -> FieldLabelString -> Bool # (/=) :: FieldLabelString -> FieldLabelString -> Bool # | |
| type Anno FieldLabelString Source # | |
Defined in GHC.Hs.Expr | |
See Note [Roles] in GHC.Core.Coercion
Order of constructors matters: the Ord instance coincides with the *super*typing relation on roles.
Constructors
| Nominal | |
| Representational | |
| Phantom |
Instances
| Data Role Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Role -> c Role gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Role dataTypeOf :: Role -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Role) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Role) gmapT :: (forall b. Data b => b -> b) -> Role -> Role gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r gmapQ :: (forall d. Data d => d -> u) -> Role -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Role -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Role -> m Role gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role | |
| Binary Role Source # | |
| Outputable Role Source # | |
| Eq Role Source # | |
| Ord Role Source # | |
| type Anno (Maybe Role) Source # | |
Defined in GHC.Hs.Decls | |
Haskell Bang
Bangs on data constructor arguments written by the user.
(HsBang SrcUnpack SrcLazy) and
(HsBang SrcUnpack NoSrcStrict) (without StrictData) makes no sense, we
emit a warning (in checkValidDataCon) and treat it like
(HsBang NoSrcUnpack SrcLazy)
HsSrcBang is a wrapper around this, associating it with
a SourceText as written by the user.
In the AST, the SourceText is hidden inside the extension point
XBangTy.
Constructors
| HsBang SrcUnpackedness SrcStrictness |
Instances
| Data HsBang Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HsBang -> c HsBang gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HsBang dataTypeOf :: HsBang -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HsBang) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HsBang) gmapT :: (forall b. Data b => b -> b) -> HsBang -> HsBang gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBang -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBang -> r gmapQ :: (forall d. Data d => d -> u) -> HsBang -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBang -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBang -> m HsBang gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBang -> m HsBang gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBang -> m HsBang | |
| Outputable HsBang Source # | |
data SrcStrictness Source #
Source Strictness
What strictness annotation the user wrote
Constructors
| SrcLazy | Lazy, ie |
| SrcStrict | Strict, ie |
| NoSrcStrict | no strictness annotation |
Instances
| Data SrcStrictness Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcStrictness -> c SrcStrictness gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcStrictness toConstr :: SrcStrictness -> Constr dataTypeOf :: SrcStrictness -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcStrictness) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcStrictness) gmapT :: (forall b. Data b => b -> b) -> SrcStrictness -> SrcStrictness gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcStrictness -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcStrictness -> r gmapQ :: (forall d. Data d => d -> u) -> SrcStrictness -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcStrictness -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcStrictness -> m SrcStrictness gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcStrictness -> m SrcStrictness gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcStrictness -> m SrcStrictness | |
| Binary SrcStrictness Source # | |
Defined in GHC.Core.DataCon Methods put_ :: WriteBinHandle -> SrcStrictness -> IO () Source # put :: WriteBinHandle -> SrcStrictness -> IO (Bin SrcStrictness) Source # get :: ReadBinHandle -> IO SrcStrictness Source # | |
| Outputable SrcStrictness Source # | |
Defined in GHC.Core.DataCon Methods ppr :: SrcStrictness -> SDoc Source # | |
| Eq SrcStrictness Source # | |
Defined in Language.Haskell.Syntax.Basic Methods (==) :: SrcStrictness -> SrcStrictness -> Bool # (/=) :: SrcStrictness -> SrcStrictness -> Bool # | |
data SrcUnpackedness Source #
Source Unpackedness
What unpackedness the user requested
Constructors
| SrcUnpack | {-# UNPACK #-} specified |
| SrcNoUnpack | {-# NOUNPACK #-} specified |
| NoSrcUnpack | no unpack pragma |
Instances
| Data SrcUnpackedness Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcUnpackedness -> c SrcUnpackedness gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcUnpackedness toConstr :: SrcUnpackedness -> Constr dataTypeOf :: SrcUnpackedness -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcUnpackedness) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcUnpackedness) gmapT :: (forall b. Data b => b -> b) -> SrcUnpackedness -> SrcUnpackedness gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcUnpackedness -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcUnpackedness -> r gmapQ :: (forall d. Data d => d -> u) -> SrcUnpackedness -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcUnpackedness -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcUnpackedness -> m SrcUnpackedness gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcUnpackedness -> m SrcUnpackedness gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcUnpackedness -> m SrcUnpackedness | |
| Binary SrcUnpackedness Source # | |
Defined in GHC.Core.DataCon Methods put_ :: WriteBinHandle -> SrcUnpackedness -> IO () Source # put :: WriteBinHandle -> SrcUnpackedness -> IO (Bin SrcUnpackedness) Source # get :: ReadBinHandle -> IO SrcUnpackedness Source # | |
| Outputable SrcUnpackedness Source # | |
Defined in GHC.Core.DataCon Methods ppr :: SrcUnpackedness -> SDoc Source # | |
| Eq SrcUnpackedness Source # | |
Defined in Language.Haskell.Syntax.Basic Methods (==) :: SrcUnpackedness -> SrcUnpackedness -> Bool # (/=) :: SrcUnpackedness -> SrcUnpackedness -> Bool # | |
data LexicalFixity Source #
Captures the fixity of declarations as they are parsed. This is not necessarily the same as the fixity declaration, as the normal fixity may be overridden using parens or backticks.
Instances
| Data LexicalFixity Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LexicalFixity -> c LexicalFixity gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LexicalFixity toConstr :: LexicalFixity -> Constr dataTypeOf :: LexicalFixity -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LexicalFixity) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LexicalFixity) gmapT :: (forall b. Data b => b -> b) -> LexicalFixity -> LexicalFixity gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LexicalFixity -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LexicalFixity -> r gmapQ :: (forall d. Data d => d -> u) -> LexicalFixity -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> LexicalFixity -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> LexicalFixity -> m LexicalFixity gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LexicalFixity -> m LexicalFixity gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LexicalFixity -> m LexicalFixity | |
| Outputable LexicalFixity Source # | |
Defined in GHC.Hs.Basic Methods ppr :: LexicalFixity -> SDoc Source # | |
| Eq LexicalFixity Source # | |
Defined in Language.Haskell.Syntax.Basic Methods (==) :: LexicalFixity -> LexicalFixity -> Bool # (/=) :: LexicalFixity -> LexicalFixity -> Bool # | |
data FixityDirection Source #
Instances
| Data FixityDirection Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FixityDirection -> c FixityDirection gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FixityDirection toConstr :: FixityDirection -> Constr dataTypeOf :: FixityDirection -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FixityDirection) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FixityDirection) gmapT :: (forall b. Data b => b -> b) -> FixityDirection -> FixityDirection gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FixityDirection -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FixityDirection -> r gmapQ :: (forall d. Data d => d -> u) -> FixityDirection -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> FixityDirection -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> FixityDirection -> m FixityDirection gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FixityDirection -> m FixityDirection gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FixityDirection -> m FixityDirection | |
| Binary FixityDirection Source # | |
Defined in GHC.Hs.Basic Methods put_ :: WriteBinHandle -> FixityDirection -> IO () Source # put :: WriteBinHandle -> FixityDirection -> IO (Bin FixityDirection) Source # get :: ReadBinHandle -> IO FixityDirection Source # | |
| Outputable FixityDirection Source # | |
Defined in GHC.Hs.Basic Methods ppr :: FixityDirection -> SDoc Source # | |
| Eq FixityDirection Source # | |
Defined in Language.Haskell.Syntax.Basic Methods (==) :: FixityDirection -> FixityDirection -> Bool # (/=) :: FixityDirection -> FixityDirection -> Bool # | |
Constructors
| Fixity Int FixityDirection |
Instances
| Data Fixity Source # | |
Defined in Language.Haskell.Syntax.Basic Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixity -> c Fixity gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fixity dataTypeOf :: Fixity -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Fixity) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fixity) gmapT :: (forall b. Data b => b -> b) -> Fixity -> Fixity gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r gmapQ :: (forall d. Data d => d -> u) -> Fixity -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixity -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity | |
| Binary Fixity Source # | |
| Outputable Fixity Source # | |
| Eq Fixity Source # | |