|
| Generics.Regular.Base | | Portability | non-portable | | Stability | experimental | | Maintainer | generics@haskell.org |
|
|
|
|
|
| Description |
| Summary: Types for structural representation.
|
|
| Synopsis |
|
|
|
|
| Functorial structural representation types
|
|
|
| Structure type for constant values.
| | Constructors | | Instances | |
|
|
|
| Structure type for recursive values.
| | Constructors | | Instances | |
|
|
|
| Structure type for empty constructors.
| | Constructors | | Instances | |
|
|
|
| Structure type for alternatives in a type.
| | Constructors | | Instances | | (Functor f, Functor g) => Functor (f :+: g) | | (ConNames f, ConNames g) => ConNames (f :+: g) | | (Crush f, Crush g) => Crush (f :+: g) | | (Eq f, Eq g) => Eq (f :+: g) | | (Unfold f, Unfold g) => Unfold (f :+: g) | | (Fold f, Fold g) => Fold (f :+: g) | | (GMap f, GMap g) => GMap (f :+: g) | | (LR f, LR g) => LR (f :+: g) | | (Read f, Read g) => Read (f :+: g) | | (Seq f, Seq g) => Seq (f :+: g) | | (Show f, Show g) => Show (f :+: g) | | (Zip f, Zip g) => Zip (f :+: g) |
|
|
|
|
| Structure type for fields of a constructor.
| | Constructors | | Instances | | (Functor f, Functor g) => Functor (f :*: g) | | (ConNames f, ConNames g) => ConNames (f :*: g) | | (Crush f, Crush g) => Crush (f :*: g) | | (Eq f, Eq g) => Eq (f :*: g) | | (Unfold f, Unfold g) => Unfold (f :*: g) | | Fold g => Fold (I :*: g) | | Fold g => Fold (K a :*: g) | | (GMap f, GMap g) => GMap (f :*: g) | | (LR f, LR g) => LR (f :*: g) | | (Read f, Read g) => Read (f :*: g) | | (CountAtoms f, CountAtoms g) => CountAtoms (f :*: g) | | (Seq f, Seq g) => Seq (f :*: g) | | (Show f, Show g) => Show (f :*: g) | | (Zip f, Zip g) => Zip (f :*: g) |
|
|
|
|
| Structure type to store the name of a constructor.
| | Constructors | | Instances | |
|
|
|
| Structure type to store the name of a record selector.
| | Constructors | | Instances | |
|
|
| class Constructor c where | Source |
|
| Class for datatypes that represent data constructors.
For non-symbolic constructors, only conName has to be defined.
The weird argument is supposed to be instantiated with C from
base, hence the complex kind.
| | | Methods | |
|
|
|
| Datatype to represent the fixity of a constructor. An infix declaration
directly corresponds to an application of Infix.
| | Constructors | | Instances | |
|
|
|
| Constructors | | LeftAssociative | | | RightAssociative | | | NotAssociative | |
| Instances | |
|
|
|
|
|
| Fixed-point type
|
|
|
| The well-known fixed-point type.
| | Constructors | |
|
|
| Type class capturing the structural representation of a type and the corresponding embedding-projection pairs
|
|
|
The type class Regular captures the structural representation of a
type and the corresponding embedding-projection pairs.
To be able to use the generic functions, the user is required to provide
an instance of this type class.
| | | Methods | |
|
|
| type family PF a :: * -> * | Source |
|
The type family PF represents the pattern functor of a datatype.
To be able to use the generic functions, the user is required to provide
an instance of this type family.
|
|
|
| Produced by Haddock version 2.4.2 |