|
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 |