Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type Module = GenModule Unit
- data ModuleName
- moduleNameString :: ModuleName -> String
- moduleName :: GenModule unit -> ModuleName
- moduleStableString :: Module -> String
- moduleUnitId :: Module -> UnitId
- data Name
- isExternalName :: Name -> Bool
- isSymOcc :: OccName -> Bool
- nameModule :: HasDebugCallStack => Name -> Module
- nameOccName :: Name -> OccName
- nameStableString :: Name -> String
- occNameString :: OccName -> String
- data RealSrcSpan
- srcSpanEndCol :: RealSrcSpan -> Int
- srcSpanStartCol :: RealSrcSpan -> Int
- srcSpanStartLine :: RealSrcSpan -> Int
- srcSpanEndLine :: RealSrcSpan -> Int
- srcSpanFile :: RealSrcSpan -> FastString
- mkRealSrcLoc :: FastString -> Int -> Int -> RealSrcLoc
- mkRealSrcSpan :: RealSrcLoc -> RealSrcLoc -> RealSrcSpan
- data AvailInfo
- data FastString
- mkFastString :: String -> FastString
- type FieldLbl = FieldLabel
- data FieldLabel = FieldLabel {}
- newtype FieldLabelString = FieldLabelString {}
- data ForAllTyFlag where
- Invisible Specificity
- Required
- pattern Specified :: ForAllTyFlag
- pattern Inferred :: ForAllTyFlag
- data IfaceTyCon = IfaceTyCon {}
- data IfaceTyConInfo = IfaceTyConInfo {}
- data IfaceTyConSort
- data IfaceTyLit
- data PromotionFlag
- data TupleSort
- showTUnitId :: UnitId -> Text
Modules
data ModuleName #
A ModuleName is essentially a simple string, e.g. Data.List
.
Instances
moduleNameString :: ModuleName -> String #
moduleName :: GenModule unit -> ModuleName #
Module name (e.g. A.B.C)
moduleStableString :: Module -> String #
Get a string representation of a GenModule
that's unique and stable
across recompilations.
eg. "$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal"
moduleUnitId :: Module -> UnitId Source #
Names
A unique, unambiguous name for something, containing information about where that thing originated.
Instances
Data Name | |
Defined in GHC.Types.Name gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name # dataTypeOf :: Name -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) # gmapT :: (forall b. Data b => b -> b) -> Name -> Name # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r # gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name # | |
Show Name Source # | |
NFData Name | |
Defined in GHC.Types.Name | |
NamedThing Name | |
Defined in GHC.Types.Name | |
HasOccName Name | |
Defined in GHC.Types.Name | |
Uniquable Name | |
Defined in GHC.Types.Name | |
Binary Name | Assumes that the |
Outputable Name | |
Defined in GHC.Types.Name | |
OutputableBndr Name | |
Defined in GHC.Types.Name pprBndr :: BindingSite -> Name -> SDoc # pprPrefixOcc :: Name -> SDoc # pprInfixOcc :: Name -> SDoc # bndrIsJoin_maybe :: Name -> Maybe Int # | |
Eq Name | |
Ord Name | Caution: This instance is implemented via See |
type Anno Name | |
Defined in GHC.Hs.Extension | |
type Anno (LocatedN Name) | |
Defined in GHC.Hs.Binds | |
type Anno [LocatedN Name] | |
Defined in GHC.Hs.Binds |
isExternalName :: Name -> Bool #
Test if the OccName
is that for any operator (whether
it is a data constructor or variable or whatever)
nameModule :: HasDebugCallStack => Name -> Module #
nameOccName :: Name -> OccName #
nameStableString :: Name -> String #
Get a string representation of a Name
that's unique and stable
across recompilations. Used for deterministic generation of binds for
derived instances.
eg. "$aeson_70dylHtv1FFGeai1IoxcQr$Data.Aeson.Types.Internal$String"
occNameString :: OccName -> String #
Source locations
data RealSrcSpan #
A RealSrcSpan
delimits a portion of a text file. It could be represented
by a pair of (line,column) coordinates, but in fact we optimise
slightly by using more compact representations for single-line and
zero-length spans, both of which are quite common.
The end position is defined to be the column after the end of the span. That is, a span of (1,1)-(1,2) is one character long, and a span of (1,1)-(1,1) is zero characters long.
Real Source Span
Instances
srcSpanEndCol :: RealSrcSpan -> Int #
srcSpanStartCol :: RealSrcSpan -> Int #
srcSpanStartLine :: RealSrcSpan -> Int #
srcSpanEndLine :: RealSrcSpan -> Int #
srcSpanFile :: RealSrcSpan -> FastString #
mkRealSrcLoc :: FastString -> Int -> Int -> RealSrcLoc #
mkRealSrcSpan :: RealSrcLoc -> RealSrcLoc -> RealSrcSpan #
Create a SrcSpan
between two points in a file
Other common types (for debugging and not only)
Records what things are "available", i.e. in scope
Avail GreName | An ordinary identifier in scope, or a field label without a parent type (see Note [Representing pattern synonym fields in AvailInfo]). |
AvailTC | A type or class in scope The AvailTC Invariant: If the type or class is itself to be in scope, it must be first in this list. Thus, typically: AvailTC Eq [Eq, ==, \/=] |
Instances
Data AvailInfo | |
Defined in GHC.Types.Avail gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AvailInfo -> c AvailInfo # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AvailInfo # toConstr :: AvailInfo -> Constr # dataTypeOf :: AvailInfo -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AvailInfo) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AvailInfo) # gmapT :: (forall b. Data b => b -> b) -> AvailInfo -> AvailInfo # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AvailInfo -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AvailInfo -> r # gmapQ :: (forall d. Data d => d -> u) -> AvailInfo -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> AvailInfo -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AvailInfo -> m AvailInfo # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AvailInfo -> m AvailInfo # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AvailInfo -> m AvailInfo # | |
Show AvailInfo Source # | |
NFData AvailInfo | |
Defined in GHC.Types.Avail | |
Binary AvailInfo | |
Outputable AvailInfo | |
Defined in GHC.Types.Avail | |
Eq AvailInfo | Used when deciding if the interface has changed |
data FastString #
A FastString
is a UTF-8 encoded string together with a unique ID. All
FastString
s are stored in a global hashtable to support fast O(1)
comparison.
It is also associated with a lazy reference to the Z-encoding of this string which is used by the compiler internally.
Instances
mkFastString :: String -> FastString #
Creates a UTF-8 encoded FastString
from a String
type FieldLbl = FieldLabel Source #
data FieldLabel #
Fields in an algebraic record type; see Note [FieldLabel].
FieldLabel | |
|
Instances
Data FieldLabel | |
Defined in GHC.Types.FieldLabel gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FieldLabel -> c FieldLabel # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FieldLabel # toConstr :: FieldLabel -> Constr # dataTypeOf :: FieldLabel -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FieldLabel) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FieldLabel) # gmapT :: (forall b. Data b => b -> b) -> FieldLabel -> FieldLabel # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FieldLabel -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FieldLabel -> r # gmapQ :: (forall d. Data d => d -> u) -> FieldLabel -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> FieldLabel -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FieldLabel -> m FieldLabel # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldLabel -> m FieldLabel # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FieldLabel -> m FieldLabel # | |
Show FieldLabel Source # | |
Defined in Stan.Hie.Debug902 showsPrec :: Int -> FieldLabel -> ShowS # show :: FieldLabel -> String # showList :: [FieldLabel] -> ShowS # | |
NFData FieldLabel | |
Defined in GHC.Types.FieldLabel rnf :: FieldLabel -> () # | |
HasOccName FieldLabel | |
Defined in GHC.Types.FieldLabel occName :: FieldLabel -> OccName # | |
Binary Name => Binary FieldLabel | We need the |
Defined in GHC.Types.FieldLabel put_ :: BinHandle -> FieldLabel -> IO () # put :: BinHandle -> FieldLabel -> IO (Bin FieldLabel) # get :: BinHandle -> IO FieldLabel # | |
Outputable FieldLabel | |
Defined in GHC.Types.FieldLabel ppr :: FieldLabel -> SDoc # | |
Eq FieldLabel | |
Defined in GHC.Types.FieldLabel (==) :: FieldLabel -> FieldLabel -> Bool # (/=) :: FieldLabel -> FieldLabel -> Bool # |
newtype FieldLabelString #
Field labels are just represented as strings; they are not necessarily unique (even within a module)
Instances
data ForAllTyFlag #
ForAllTyFlag
Is something required to appear in source Haskell (Required
),
permitted by request (Specified
) (visible type application), or
prohibited entirely from appearing in source Haskell (Inferred
)?
See Note [VarBndrs, ForAllTyBinders, TyConBinders, and visibility] in GHC.Core.TyCo.Rep
pattern Specified :: ForAllTyFlag | |
pattern Inferred :: ForAllTyFlag |
Instances
data IfaceTyCon #
Instances
Show IfaceTyCon Source # | |
Defined in Stan.Hie.Debug902 showsPrec :: Int -> IfaceTyCon -> ShowS # show :: IfaceTyCon -> String # showList :: [IfaceTyCon] -> ShowS # | |
NFData IfaceTyCon | |
Defined in GHC.Iface.Type rnf :: IfaceTyCon -> () # | |
Binary IfaceTyCon | |
Defined in GHC.Iface.Type put_ :: BinHandle -> IfaceTyCon -> IO () # put :: BinHandle -> IfaceTyCon -> IO (Bin IfaceTyCon) # get :: BinHandle -> IO IfaceTyCon # | |
Outputable IfaceTyCon | |
Defined in GHC.Iface.Type ppr :: IfaceTyCon -> SDoc # | |
Eq IfaceTyCon | |
Defined in GHC.Iface.Type (==) :: IfaceTyCon -> IfaceTyCon -> Bool # (/=) :: IfaceTyCon -> IfaceTyCon -> Bool # |
data IfaceTyConInfo #
Instances
Show IfaceTyConInfo Source # | |
Defined in Stan.Hie.Debug902 showsPrec :: Int -> IfaceTyConInfo -> ShowS # show :: IfaceTyConInfo -> String # showList :: [IfaceTyConInfo] -> ShowS # | |
NFData IfaceTyConInfo | |
Defined in GHC.Iface.Type rnf :: IfaceTyConInfo -> () # | |
Binary IfaceTyConInfo | |
Defined in GHC.Iface.Type put_ :: BinHandle -> IfaceTyConInfo -> IO () # put :: BinHandle -> IfaceTyConInfo -> IO (Bin IfaceTyConInfo) # get :: BinHandle -> IO IfaceTyConInfo # | |
Outputable IfaceTyConInfo | |
Defined in GHC.Iface.Type ppr :: IfaceTyConInfo -> SDoc # | |
Eq IfaceTyConInfo | |
Defined in GHC.Iface.Type (==) :: IfaceTyConInfo -> IfaceTyConInfo -> Bool # (/=) :: IfaceTyConInfo -> IfaceTyConInfo -> Bool # |
data IfaceTyConSort #
The various types of TyCons which have special, built-in syntax.
IfaceNormalTyCon | a regular tycon |
IfaceTupleTyCon !Arity !TupleSort | a tuple, e.g. |
IfaceSumTyCon !Arity | an unboxed sum, e.g. |
IfaceEqualityTyCon | A heterogeneous equality TyCon (i.e. eqPrimTyCon, eqReprPrimTyCon, heqTyCon) that is actually being applied to two types of the same kind. This affects pretty-printing only: see Note [Equality predicates in IfaceType] |
Instances
Show IfaceTyConSort Source # | |
Defined in Stan.Hie.Debug902 showsPrec :: Int -> IfaceTyConSort -> ShowS # show :: IfaceTyConSort -> String # showList :: [IfaceTyConSort] -> ShowS # | |
NFData IfaceTyConSort | |
Defined in GHC.Iface.Type rnf :: IfaceTyConSort -> () # | |
Binary IfaceTyConSort | |
Defined in GHC.Iface.Type put_ :: BinHandle -> IfaceTyConSort -> IO () # put :: BinHandle -> IfaceTyConSort -> IO (Bin IfaceTyConSort) # get :: BinHandle -> IO IfaceTyConSort # | |
Outputable IfaceTyConSort | |
Defined in GHC.Iface.Type ppr :: IfaceTyConSort -> SDoc # | |
Eq IfaceTyConSort | |
Defined in GHC.Iface.Type (==) :: IfaceTyConSort -> IfaceTyConSort -> Bool # (/=) :: IfaceTyConSort -> IfaceTyConSort -> Bool # |
data IfaceTyLit #
Instances
Show IfaceTyLit Source # | |
Defined in Stan.Hie.Debug902 showsPrec :: Int -> IfaceTyLit -> ShowS # show :: IfaceTyLit -> String # showList :: [IfaceTyLit] -> ShowS # | |
NFData IfaceTyLit | |
Defined in GHC.Iface.Type rnf :: IfaceTyLit -> () # | |
Binary IfaceTyLit | |
Defined in GHC.Iface.Type put_ :: BinHandle -> IfaceTyLit -> IO () # put :: BinHandle -> IfaceTyLit -> IO (Bin IfaceTyLit) # get :: BinHandle -> IO IfaceTyLit # | |
Outputable IfaceTyLit | |
Defined in GHC.Iface.Type ppr :: IfaceTyLit -> SDoc # | |
Eq IfaceTyLit | |
Defined in GHC.Iface.Type (==) :: IfaceTyLit -> IfaceTyLit -> Bool # (/=) :: IfaceTyLit -> IfaceTyLit -> Bool # |
data PromotionFlag #
Is a TyCon a promoted data constructor or just a normal type constructor?
Instances
Data PromotionFlag | |
Defined in Language.Haskell.Syntax.Type gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PromotionFlag -> c PromotionFlag # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PromotionFlag # toConstr :: PromotionFlag -> Constr # dataTypeOf :: PromotionFlag -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PromotionFlag) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PromotionFlag) # gmapT :: (forall b. Data b => b -> b) -> PromotionFlag -> PromotionFlag # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PromotionFlag -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PromotionFlag -> r # gmapQ :: (forall d. Data d => d -> u) -> PromotionFlag -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PromotionFlag -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PromotionFlag -> m PromotionFlag # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PromotionFlag -> m PromotionFlag # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PromotionFlag -> m PromotionFlag # | |
Show PromotionFlag Source # | |
Defined in Stan.Hie.Debug902 showsPrec :: Int -> PromotionFlag -> ShowS # show :: PromotionFlag -> String # showList :: [PromotionFlag] -> ShowS # | |
Eq PromotionFlag | |
Defined in Language.Haskell.Syntax.Type (==) :: PromotionFlag -> PromotionFlag -> Bool # (/=) :: PromotionFlag -> PromotionFlag -> Bool # |
Instances
Data TupleSort | |
Defined in GHC.Types.Basic gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TupleSort -> c TupleSort # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TupleSort # toConstr :: TupleSort -> Constr # dataTypeOf :: TupleSort -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TupleSort) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TupleSort) # gmapT :: (forall b. Data b => b -> b) -> TupleSort -> TupleSort # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TupleSort -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TupleSort -> r # gmapQ :: (forall d. Data d => d -> u) -> TupleSort -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> TupleSort -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> TupleSort -> m TupleSort # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TupleSort -> m TupleSort # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TupleSort -> m TupleSort # | |
Show TupleSort Source # | |
Binary TupleSort | |
Outputable TupleSort | |
Defined in GHC.Types.Basic | |
Eq TupleSort | |
showTUnitId :: UnitId -> Text Source #