generic-deriving-1.14.1: Generic programming library for generalised deriving.

Copyright | (c) 2012 University of Oxford
License | BSD3
Maintainer | generics@haskell.org
Stability | experimental
Portability | non-portable
Safe Haskell | Safe
Language | Haskell2010

Generics.Deriving.ConNames

Contents

- Functionality for retrieving the names of the possible contructors

Description

Synopsis

- class ConNames f where
  - gconNames :: f a -> [String]
  - gconNameOf :: f a -> String
- conNames :: (Generic a, ConNames (Rep a)) => a -> [String]
- conNameOf :: (ConNames (Rep a), Generic a) => a -> String

# Functionality for retrieving the names of the possible contructors

class ConNames f where #

Methods

gconNames :: f a -> [String] #

gconNameOf :: f a -> String #

#### Instances

Instances details

Constructor c => ConNames (C1 c f :: k -> Type) # |
Instance details Defined in Generics.Deriving.ConNames Methods gconNames :: forall (a :: k0). C1 c f a -> [String] # gconNameOf :: forall (a :: k0). C1 c f a -> String #
ConNames f => ConNames (D1 c f :: k -> Type) # |
Instance details Defined in Generics.Deriving.ConNames Methods gconNames :: forall (a :: k0). D1 c f a -> [String] # gconNameOf :: forall (a :: k0). D1 c f a -> String #
(ConNames f, ConNames g) => ConNames (f :+: g :: k -> Type) # |
Instance details Defined in Generics.Deriving.ConNames Methods gconNames :: forall (a :: k0). (f :+: g) a -> [String] # gconNameOf :: forall (a :: k0). (f :+: g) a -> String #

conNames :: (Generic a, ConNames (Rep a)) => a -> [String] #

Return the name of all the constructors of the type of the given term.

conNameOf :: (ConNames (Rep a), Generic a) => a -> String #

Return the name of the constructor of the given term