generic-aeson-0.2.0.9: Derivation of Aeson instances using GHC generics.

Safe HaskellSafe
LanguageHaskell98

Generics.Generic.IsEnum

Description

Test if a data type is an enumeration (only zero-argument constructors) generically using GHC.Generics.

Synopsis

Documentation

isEnum :: forall a. (Generic a, GIsEnum (Rep a)) => Proxy a -> Bool #

Generically test if a data type is an enumeration.

class GIsEnum f where #

Class for testing if the functors from GHC.Generics are enumerations. You generally don't need to give any custom instances. Just call isEnum.

Minimal complete definition

gIsEnum

Methods

gIsEnum :: Proxy (f a) -> Bool #

Instances
GIsEnum Par1 # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (Par1 a) -> Bool #

GIsEnum (V1 :: * -> *) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (V1 a) -> Bool #

GIsEnum (U1 :: * -> *) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (U1 a) -> Bool #

GIsEnum (Rec1 f) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (Rec1 f a) -> Bool #

GIsEnum (K1 i a :: * -> *) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (K1 i a a0) -> Bool #

(GIsEnum f, GIsEnum g) => GIsEnum (f :+: g) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy ((f :+: g) a) -> Bool #

(GIsEnum f, GIsEnum g) => GIsEnum (f :*: g) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy ((f :*: g) a) -> Bool #

GIsEnum f => GIsEnum (M1 D c f) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (M1 D c f a) -> Bool #

GIsEnum f => GIsEnum (M1 C c f) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (M1 C c f a) -> Bool #

GIsEnum (M1 S c a) # 
Instance details

Defined in Generics.Generic.IsEnum

Methods

gIsEnum :: Proxy (M1 S c a a0) -> Bool #