| 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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Boxity Source # toConstr :: Boxity -> Constr Source # dataTypeOf :: Boxity -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Boxity) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Boxity) Source # gmapT :: (forall b. Data b => b -> b) -> Boxity -> Boxity Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Boxity -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Boxity -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Boxity -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Boxity -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Boxity -> m Boxity Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Boxity -> m Boxity Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Boxity -> m Boxity Source # | |
| 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
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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Role Source # toConstr :: Role -> Constr Source # dataTypeOf :: Role -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Role) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Role) Source # gmapT :: (forall b. Data b => b -> b) -> Role -> Role Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Role -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Role -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Role -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Role -> m Role Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Role -> m Role Source # | |
| Binary Role Source # | |
| Outputable Role Source # | |
| Eq Role Source # | |
| Ord Role Source # | |
Defined in Language.Haskell.Syntax.Basic | |
| 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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c HsBang Source # toConstr :: HsBang -> Constr Source # dataTypeOf :: HsBang -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c HsBang) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c HsBang) Source # gmapT :: (forall b. Data b => b -> b) -> HsBang -> HsBang Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HsBang -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HsBang -> r Source # gmapQ :: (forall d. Data d => d -> u) -> HsBang -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> HsBang -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HsBang -> m HsBang Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBang -> m HsBang Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HsBang -> m HsBang Source # | |
| 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 SrcUnpackedness Source #
Source Unpackedness
What unpackedness the user requested
Constructors
| SrcUnpack | {-# UNPACK #-} specified |
| SrcNoUnpack | {-# NOUNPACK #-} specified |
| NoSrcUnpack | no unpack pragma |
Instances
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 FixityDirection Source #
Instances
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 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fixity Source # toConstr :: Fixity -> Constr Source # dataTypeOf :: Fixity -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Fixity) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fixity) Source # gmapT :: (forall b. Data b => b -> b) -> Fixity -> Fixity Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Fixity -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixity -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Source # | |
| Binary Fixity Source # | |
| Outputable Fixity Source # | |
| Eq Fixity Source # | |