| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Functor.Base.TH
Contents
Documentation
Constructors
| NormalCF Name [(Bang, Type)] | |
| RecCF Name [(Name, Bang, Type)] | |
| InfixCF (Bang, Type) Name (Bang, Type) | |
| ForallCF [TyVarBndr Specificity] [Type] r | |
| GadtCF [Name] [(Bang, Type)] Type | |
| RecGadtCF [Name] [(Name, Bang, Type)] Type |
Instances
| Foldable ConF Source # | |
Defined in Data.Functor.Base.TH Methods fold :: Monoid m => ConF m -> m # foldMap :: Monoid m => (a -> m) -> ConF a -> m # foldMap' :: Monoid m => (a -> m) -> ConF a -> m # foldr :: (a -> b -> b) -> b -> ConF a -> b # foldr' :: (a -> b -> b) -> b -> ConF a -> b # foldl :: (b -> a -> b) -> b -> ConF a -> b # foldl' :: (b -> a -> b) -> b -> ConF a -> b # foldr1 :: (a -> a -> a) -> ConF a -> a # foldl1 :: (a -> a -> a) -> ConF a -> a # elem :: Eq a => a -> ConF a -> Bool # maximum :: Ord a => ConF a -> a # | |
| Traversable ConF Source # | |
| Functor ConF Source # | |
Constructors
| FunDF Name [Clause] | |
| ValDF Pat Body [r] | |
| DataDF [Type] Name [TyVarBndr ()] (Maybe Type) [Con] [DerivClause] | |
| NewtypeDF [Type] Name [TyVarBndr ()] (Maybe Type) Con [DerivClause] | |
| TySynDF Name [TyVarBndr ()] Type | |
| ClassDF [Type] Name [TyVarBndr ()] [FunDep] [r] | |
| InstanceDF (Maybe Overlap) [Type] Type [r] | |
| SigDF Name Type | |
| KiSigDF Name Type | |
| ForeignDF Foreign | |
| InfixDF Fixity Name | |
| DefaultDF [Type] | |
| PragmaDF Pragma | |
| DataFamilyDF Name [TyVarBndr ()] (Maybe Type) | |
| DataInstDF [Type] (Maybe [TyVarBndr ()]) Type (Maybe Type) [Con] [DerivClause] | |
| NewtypeInstDF [Type] (Maybe [TyVarBndr ()]) Type (Maybe Type) Con [DerivClause] | |
| TySynInstDF TySynEqn | |
| OpenTypeFamilyDF TypeFamilyHead | |
| ClosedTypeFamilyDF TypeFamilyHead [TySynEqn] | |
| RoleAnnotDF Name [Role] | |
| StandaloneDerivDF (Maybe DerivStrategy) [Type] Type | |
| DefaultSigDF Name Type | |
| PatSynDF Name PatSynArgs PatSynDir Pat | |
| PatSynSigDF Name Type | |
| ImplicitParamBindDF [Char] Exp |
Instances
| Foldable DecF Source # | |
Defined in Data.Functor.Base.TH Methods fold :: Monoid m => DecF m -> m # foldMap :: Monoid m => (a -> m) -> DecF a -> m # foldMap' :: Monoid m => (a -> m) -> DecF a -> m # foldr :: (a -> b -> b) -> b -> DecF a -> b # foldr' :: (a -> b -> b) -> b -> DecF a -> b # foldl :: (b -> a -> b) -> b -> DecF a -> b # foldl' :: (b -> a -> b) -> b -> DecF a -> b # foldr1 :: (a -> a -> a) -> DecF a -> a # foldl1 :: (a -> a -> a) -> DecF a -> a # elem :: Eq a => a -> DecF a -> Bool # maximum :: Ord a => DecF a -> a # | |
| Traversable DecF Source # | |
| Functor DecF Source # | |
Constructors
| VarEF Name | |
| ConEF Name | |
| LitEF Lit | |
| AppEF r r | |
| AppTypeEF r Type | |
| InfixEF (Maybe r) r (Maybe r) | |
| UInfixEF r r r | |
| ParensEF r | |
| LamEF [Pat] r | |
| LamCaseEF [Match] | |
| LamCasesEF [Clause] | |
| TupEF [Maybe r] | |
| UnboxedTupEF [Maybe r] | |
| UnboxedSumEF r Int Int | |
| CondEF r r r | |
| MultiIfEF [(Guard, r)] | |
| LetEF [Dec] r | |
| CaseEF r [Match] | |
| DoEF (Maybe ModName) [Stmt] | |
| MDoEF (Maybe ModName) [Stmt] | |
| CompEF [Stmt] | |
| ArithSeqEF Range | |
| ListEF [r] | |
| SigEF r Type | |
| RecConEF Name [(Name, r)] | |
| RecUpdEF r [(Name, r)] | |
| StaticEF r | |
| UnboundVarEF Name | |
| LabelEF [Char] | |
| ImplicitParamVarEF [Char] | |
| GetFieldEF r [Char] | |
| ProjectionEF (NonEmpty [Char]) |
Instances
| Foldable ExpF Source # | |
Defined in Data.Functor.Base.TH Methods fold :: Monoid m => ExpF m -> m # foldMap :: Monoid m => (a -> m) -> ExpF a -> m # foldMap' :: Monoid m => (a -> m) -> ExpF a -> m # foldr :: (a -> b -> b) -> b -> ExpF a -> b # foldr' :: (a -> b -> b) -> b -> ExpF a -> b # foldl :: (b -> a -> b) -> b -> ExpF a -> b # foldl' :: (b -> a -> b) -> b -> ExpF a -> b # foldr1 :: (a -> a -> a) -> ExpF a -> a # foldl1 :: (a -> a -> a) -> ExpF a -> a # elem :: Eq a => a -> ExpF a -> Bool # maximum :: Ord a => ExpF a -> a # | |
| Traversable ExpF Source # | |
| Functor ExpF Source # | |
Constructors
| LitPF Lit | |
| VarPF Name | |
| TupPF [r] | |
| UnboxedTupPF [r] | |
| UnboxedSumPF r Int Int | |
| ConPF Name [Type] [r] | |
| InfixPF r Name r | |
| UInfixPF r Name r | |
| ParensPF r | |
| TildePF r | |
| BangPF r | |
| AsPF Name r | |
| WildPF | |
| RecPF Name [(Name, r)] | |
| ListPF [r] | |
| SigPF r Type | |
| ViewPF Exp r |
Instances
| Foldable PatF Source # | |
Defined in Data.Functor.Base.TH Methods fold :: Monoid m => PatF m -> m # foldMap :: Monoid m => (a -> m) -> PatF a -> m # foldMap' :: Monoid m => (a -> m) -> PatF a -> m # foldr :: (a -> b -> b) -> b -> PatF a -> b # foldr' :: (a -> b -> b) -> b -> PatF a -> b # foldl :: (b -> a -> b) -> b -> PatF a -> b # foldl' :: (b -> a -> b) -> b -> PatF a -> b # foldr1 :: (a -> a -> a) -> PatF a -> a # foldl1 :: (a -> a -> a) -> PatF a -> a # elem :: Eq a => a -> PatF a -> Bool # maximum :: Ord a => PatF a -> a # | |
| Traversable PatF Source # | |
| Functor PatF Source # | |
Instances
| Foldable StmtF Source # | |
Defined in Data.Functor.Base.TH Methods fold :: Monoid m => StmtF m -> m # foldMap :: Monoid m => (a -> m) -> StmtF a -> m # foldMap' :: Monoid m => (a -> m) -> StmtF a -> m # foldr :: (a -> b -> b) -> b -> StmtF a -> b # foldr' :: (a -> b -> b) -> b -> StmtF a -> b # foldl :: (b -> a -> b) -> b -> StmtF a -> b # foldl' :: (b -> a -> b) -> b -> StmtF a -> b # foldr1 :: (a -> a -> a) -> StmtF a -> a # foldl1 :: (a -> a -> a) -> StmtF a -> a # elem :: Eq a => a -> StmtF a -> Bool # maximum :: Ord a => StmtF a -> a # minimum :: Ord a => StmtF a -> a # | |
| Traversable StmtF Source # | |
| Functor StmtF Source # | |
Constructors
| ForallTF [TyVarBndr Specificity] [r] r | |
| ForallVisTF [TyVarBndr ()] r | |
| AppTF r r | |
| AppKindTF r r | |
| SigTF r r | |
| VarTF Name | |
| ConTF Name | |
| PromotedTF Name | |
| InfixTF r Name r | |
| UInfixTF r Name r | |
| PromotedInfixTF r Name r | |
| PromotedUInfixTF r Name r | |
| ParensTF r | |
| TupleTF Int | |
| UnboxedTupleTF Int | |
| UnboxedSumTF Int | |
| ArrowTF | |
| MulArrowTF | |
| EqualityTF | |
| ListTF | |
| PromotedTupleTF Int | |
| PromotedNilTF | |
| PromotedConsTF | |
| StarTF | |
| ConstraintTF | |
| LitTF TyLit | |
| WildCardTF | |
| ImplicitParamTF [Char] r |
Instances
| Foldable TypeF Source # | |
Defined in Data.Functor.Base.TH Methods fold :: Monoid m => TypeF m -> m # foldMap :: Monoid m => (a -> m) -> TypeF a -> m # foldMap' :: Monoid m => (a -> m) -> TypeF a -> m # foldr :: (a -> b -> b) -> b -> TypeF a -> b # foldr' :: (a -> b -> b) -> b -> TypeF a -> b # foldl :: (b -> a -> b) -> b -> TypeF a -> b # foldl' :: (b -> a -> b) -> b -> TypeF a -> b # foldr1 :: (a -> a -> a) -> TypeF a -> a # foldl1 :: (a -> a -> a) -> TypeF a -> a # elem :: Eq a => a -> TypeF a -> Bool # maximum :: Ord a => TypeF a -> a # minimum :: Ord a => TypeF a -> a # | |
| Traversable TypeF Source # | |
| Functor TypeF Source # | |
Orphan instances
| Corecursive Con Source # | |
Methods ana :: (a -> Base Con a) -> a -> Con apo :: (a -> Base Con (Either Con a)) -> a -> Con postpro :: Recursive Con => (forall b. Base Con b -> Base Con b) -> (a -> Base Con a) -> a -> Con gpostpro :: (Recursive Con, Monad m) => (forall b. m (Base Con b) -> Base Con (m b)) -> (forall c. Base Con c -> Base Con c) -> (a -> Base Con (m a)) -> a -> Con | |
| Corecursive Dec Source # | |
Methods ana :: (a -> Base Dec a) -> a -> Dec apo :: (a -> Base Dec (Either Dec a)) -> a -> Dec postpro :: Recursive Dec => (forall b. Base Dec b -> Base Dec b) -> (a -> Base Dec a) -> a -> Dec gpostpro :: (Recursive Dec, Monad m) => (forall b. m (Base Dec b) -> Base Dec (m b)) -> (forall c. Base Dec c -> Base Dec c) -> (a -> Base Dec (m a)) -> a -> Dec | |
| Corecursive Exp Source # | |
Methods ana :: (a -> Base Exp a) -> a -> Exp apo :: (a -> Base Exp (Either Exp a)) -> a -> Exp postpro :: Recursive Exp => (forall b. Base Exp b -> Base Exp b) -> (a -> Base Exp a) -> a -> Exp gpostpro :: (Recursive Exp, Monad m) => (forall b. m (Base Exp b) -> Base Exp (m b)) -> (forall c. Base Exp c -> Base Exp c) -> (a -> Base Exp (m a)) -> a -> Exp | |
| Corecursive Pat Source # | |
Methods ana :: (a -> Base Pat a) -> a -> Pat apo :: (a -> Base Pat (Either Pat a)) -> a -> Pat postpro :: Recursive Pat => (forall b. Base Pat b -> Base Pat b) -> (a -> Base Pat a) -> a -> Pat gpostpro :: (Recursive Pat, Monad m) => (forall b. m (Base Pat b) -> Base Pat (m b)) -> (forall c. Base Pat c -> Base Pat c) -> (a -> Base Pat (m a)) -> a -> Pat | |
| Corecursive Stmt Source # | |
Methods embed :: Base Stmt Stmt -> Stmt ana :: (a -> Base Stmt a) -> a -> Stmt apo :: (a -> Base Stmt (Either Stmt a)) -> a -> Stmt postpro :: Recursive Stmt => (forall b. Base Stmt b -> Base Stmt b) -> (a -> Base Stmt a) -> a -> Stmt gpostpro :: (Recursive Stmt, Monad m) => (forall b. m (Base Stmt b) -> Base Stmt (m b)) -> (forall c. Base Stmt c -> Base Stmt c) -> (a -> Base Stmt (m a)) -> a -> Stmt | |
| Corecursive Type Source # | |
Methods embed :: Base Type Type -> Type ana :: (a -> Base Type a) -> a -> Type apo :: (a -> Base Type (Either Type a)) -> a -> Type postpro :: Recursive Type => (forall b. Base Type b -> Base Type b) -> (a -> Base Type a) -> a -> Type gpostpro :: (Recursive Type, Monad m) => (forall b. m (Base Type b) -> Base Type (m b)) -> (forall c. Base Type c -> Base Type c) -> (a -> Base Type (m a)) -> a -> Type | |
| Recursive Con Source # | |
Methods project :: Con -> Base Con Con cata :: (Base Con a -> a) -> Con -> a para :: (Base Con (Con, a) -> a) -> Con -> a gpara :: (Corecursive Con, Comonad w) => (forall b. Base Con (w b) -> w (Base Con b)) -> (Base Con (EnvT Con w a) -> a) -> Con -> a prepro :: Corecursive Con => (forall b. Base Con b -> Base Con b) -> (Base Con a -> a) -> Con -> a gprepro :: (Corecursive Con, Comonad w) => (forall b. Base Con (w b) -> w (Base Con b)) -> (forall c. Base Con c -> Base Con c) -> (Base Con (w a) -> a) -> Con -> a | |
| Recursive Dec Source # | |
Methods project :: Dec -> Base Dec Dec cata :: (Base Dec a -> a) -> Dec -> a para :: (Base Dec (Dec, a) -> a) -> Dec -> a gpara :: (Corecursive Dec, Comonad w) => (forall b. Base Dec (w b) -> w (Base Dec b)) -> (Base Dec (EnvT Dec w a) -> a) -> Dec -> a prepro :: Corecursive Dec => (forall b. Base Dec b -> Base Dec b) -> (Base Dec a -> a) -> Dec -> a gprepro :: (Corecursive Dec, Comonad w) => (forall b. Base Dec (w b) -> w (Base Dec b)) -> (forall c. Base Dec c -> Base Dec c) -> (Base Dec (w a) -> a) -> Dec -> a | |
| Recursive Exp Source # | |
Methods project :: Exp -> Base Exp Exp cata :: (Base Exp a -> a) -> Exp -> a para :: (Base Exp (Exp, a) -> a) -> Exp -> a gpara :: (Corecursive Exp, Comonad w) => (forall b. Base Exp (w b) -> w (Base Exp b)) -> (Base Exp (EnvT Exp w a) -> a) -> Exp -> a prepro :: Corecursive Exp => (forall b. Base Exp b -> Base Exp b) -> (Base Exp a -> a) -> Exp -> a gprepro :: (Corecursive Exp, Comonad w) => (forall b. Base Exp (w b) -> w (Base Exp b)) -> (forall c. Base Exp c -> Base Exp c) -> (Base Exp (w a) -> a) -> Exp -> a | |
| Recursive Pat Source # | |
Methods project :: Pat -> Base Pat Pat cata :: (Base Pat a -> a) -> Pat -> a para :: (Base Pat (Pat, a) -> a) -> Pat -> a gpara :: (Corecursive Pat, Comonad w) => (forall b. Base Pat (w b) -> w (Base Pat b)) -> (Base Pat (EnvT Pat w a) -> a) -> Pat -> a prepro :: Corecursive Pat => (forall b. Base Pat b -> Base Pat b) -> (Base Pat a -> a) -> Pat -> a gprepro :: (Corecursive Pat, Comonad w) => (forall b. Base Pat (w b) -> w (Base Pat b)) -> (forall c. Base Pat c -> Base Pat c) -> (Base Pat (w a) -> a) -> Pat -> a | |
| Recursive Stmt Source # | |
Methods project :: Stmt -> Base Stmt Stmt cata :: (Base Stmt a -> a) -> Stmt -> a para :: (Base Stmt (Stmt, a) -> a) -> Stmt -> a gpara :: (Corecursive Stmt, Comonad w) => (forall b. Base Stmt (w b) -> w (Base Stmt b)) -> (Base Stmt (EnvT Stmt w a) -> a) -> Stmt -> a prepro :: Corecursive Stmt => (forall b. Base Stmt b -> Base Stmt b) -> (Base Stmt a -> a) -> Stmt -> a gprepro :: (Corecursive Stmt, Comonad w) => (forall b. Base Stmt (w b) -> w (Base Stmt b)) -> (forall c. Base Stmt c -> Base Stmt c) -> (Base Stmt (w a) -> a) -> Stmt -> a | |
| Recursive Type Source # | |
Methods project :: Type -> Base Type Type cata :: (Base Type a -> a) -> Type -> a para :: (Base Type (Type, a) -> a) -> Type -> a gpara :: (Corecursive Type, Comonad w) => (forall b. Base Type (w b) -> w (Base Type b)) -> (Base Type (EnvT Type w a) -> a) -> Type -> a prepro :: Corecursive Type => (forall b. Base Type b -> Base Type b) -> (Base Type a -> a) -> Type -> a gprepro :: (Corecursive Type, Comonad w) => (forall b. Base Type (w b) -> w (Base Type b)) -> (forall c. Base Type c -> Base Type c) -> (Base Type (w a) -> a) -> Type -> a | |