| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
GHC.Core.ConLike
Synopsis
- data ConLike
- conLikeArity :: ConLike -> Arity
- conLikeFieldLabels :: ConLike -> [FieldLabel]
- conLikeInstOrigArgTys :: ConLike -> [Type] -> [Scaled Type]
- conLikeUserTyVarBinders :: ConLike -> [InvisTVBinder]
- conLikeExTyCoVars :: ConLike -> [TyCoVar]
- conLikeName :: ConLike -> Name
- conLikeStupidTheta :: ConLike -> ThetaType
- conLikeWrapId_maybe :: ConLike -> Maybe Id
- conLikeImplBangs :: ConLike -> [HsImplBang]
- conLikeFullSig :: ConLike -> ([TyVar], [TyCoVar], [EqSpec], ThetaType, ThetaType, [Scaled Type], Type)
- conLikeResTy :: ConLike -> [Type] -> Type
- conLikeFieldType :: ConLike -> FieldLabelString -> Type
- conLikesWithFields :: [ConLike] -> [FieldLabelString] -> [ConLike]
- conLikeIsInfix :: ConLike -> Bool
Documentation
A constructor-like thing
Constructors
| RealDataCon DataCon | |
| PatSynCon PatSyn |
Instances
| Data ConLike # | |
Defined in GHC.Core.ConLike Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConLike -> c ConLike Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConLike Source # toConstr :: ConLike -> Constr Source # dataTypeOf :: ConLike -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConLike) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConLike) Source # gmapT :: (forall b. Data b => b -> b) -> ConLike -> ConLike Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConLike -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConLike -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ConLike -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ConLike -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConLike -> m ConLike Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConLike -> m ConLike Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConLike -> m ConLike Source # | |
| NamedThing ConLike # | |
Defined in GHC.Core.ConLike | |
| Uniquable ConLike # | |
Defined in GHC.Core.ConLike | |
| Outputable ConLike # | |
| OutputableBndr ConLike # | |
Defined in GHC.Core.ConLike Methods pprBndr :: BindingSite -> ConLike -> SDoc # pprPrefixOcc :: ConLike -> SDoc # pprInfixOcc :: ConLike -> SDoc # bndrIsJoin_maybe :: ConLike -> Maybe Int # | |
| Eq ConLike # | |
conLikeArity :: ConLike -> Arity #
Number of arguments
conLikeFieldLabels :: ConLike -> [FieldLabel] #
Names of fields used for selectors
conLikeInstOrigArgTys :: ConLike -> [Type] -> [Scaled Type] #
Returns just the instantiated value argument types of a ConLike,
(excluding dictionary args)
conLikeUserTyVarBinders :: ConLike -> [InvisTVBinder] #
TyVarBinders for the type variables of the ConLike. For pattern
synonyms, this will always consist of the universally quantified variables
followed by the existentially quantified type variables. For data
constructors, the situation is slightly more complicated—see
Note [DataCon user type variable binders] in GHC.Core.DataCon.
conLikeExTyCoVars :: ConLike -> [TyCoVar] #
Existentially quantified type/coercion variables
conLikeName :: ConLike -> Name #
conLikeStupidTheta :: ConLike -> ThetaType #
conLikeWrapId_maybe :: ConLike -> Maybe Id #
Returns the Id of the wrapper. This is also known as the builder in
some contexts. The value is Nothing only in the case of unidirectional
pattern synonyms.
conLikeImplBangs :: ConLike -> [HsImplBang] #
Returns the strictness information for each constructor
conLikeFullSig :: ConLike -> ([TyVar], [TyCoVar], [EqSpec], ThetaType, ThetaType, [Scaled Type], Type) #
The "full signature" of the ConLike returns, in order:
1) The universally quantified type variables
2) The existentially quantified type/coercion variables
3) The equality specification
4) The provided theta (the constraints provided by a match)
5) The required theta (the constraints required for a match)
6) The original argument types (i.e. before any change of the representation of the type)
7) The original result type
conLikeResTy :: ConLike -> [Type] -> Type #
Returns the type of the whole pattern
conLikeFieldType :: ConLike -> FieldLabelString -> Type #
Extract the type for any given labelled field of the ConLike
conLikesWithFields :: [ConLike] -> [FieldLabelString] -> [ConLike] #
The ConLikes that have *all* the given fields
conLikeIsInfix :: ConLike -> Bool #