singletons-2.4: A framework for generating singleton types

Copyright(C) 2014 Jan Stolarek Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerJan Stolarek (jan.stolarek@p.lodz.pl)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Promotion.Prelude.Enum

Contents

Description

Exports promoted versions of Enum and Bounded

Synopsis

Documentation

class PBounded (a :: Type) Source #

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

Instances
PBounded Bool Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded Ordering Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded () Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b) Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c) Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d) Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e) Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e, f) Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e, f, g) Source # 
Instance details

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

class PEnum (a :: Type) Source #

Associated Types

type Succ (arg :: a) :: a Source #

type Pred (arg :: a) :: a Source #

type ToEnum (arg :: Nat) :: a Source #

type FromEnum (arg :: a) :: Nat Source #

type EnumFromTo (arg :: a) (arg :: a) :: [a] Source #

type EnumFromThenTo (arg :: a) (arg :: a) (arg :: a) :: [a] Source #

Instances
PEnum Bool Source # 
Instance details

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum Ordering Source # 
Instance details

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum Nat Source # 
Instance details

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum () Source # 
Instance details

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

Defunctionalization symbols

data SuccSym0 (l :: TyFun a6989586621679843221 a6989586621679843221) Source #

Instances
SuppressUnusedWarnings (SuccSym0 :: TyFun a6989586621679843221 a6989586621679843221 -> *) Source # 
Instance details
type Apply (SuccSym0 :: TyFun a a -> *) (l :: a) Source # 
Instance details
type Apply (SuccSym0 :: TyFun a a -> *) (l :: a) = Succ l

type SuccSym1 (t :: a6989586621679843221) = Succ t Source #

data PredSym0 (l :: TyFun a6989586621679843221 a6989586621679843221) Source #

Instances
SuppressUnusedWarnings (PredSym0 :: TyFun a6989586621679843221 a6989586621679843221 -> *) Source # 
Instance details
type Apply (PredSym0 :: TyFun a a -> *) (l :: a) Source # 
Instance details
type Apply (PredSym0 :: TyFun a a -> *) (l :: a) = Pred l

type PredSym1 (t :: a6989586621679843221) = Pred t Source #

data ToEnumSym0 (l :: TyFun Nat a6989586621679843221) Source #

Instances
SuppressUnusedWarnings (ToEnumSym0 :: TyFun Nat a6989586621679843221 -> *) Source # 
Instance details
type Apply (ToEnumSym0 :: TyFun Nat k2 -> *) (l :: Nat) Source # 
Instance details
type Apply (ToEnumSym0 :: TyFun Nat k2 -> *) (l :: Nat) = (ToEnum l :: k2)

type ToEnumSym1 (t :: Nat) = ToEnum t Source #

data FromEnumSym0 (l :: TyFun a6989586621679843221 Nat) Source #

Instances
SuppressUnusedWarnings (FromEnumSym0 :: TyFun a6989586621679843221 Nat -> *) Source # 
Instance details
type Apply (FromEnumSym0 :: TyFun a Nat -> *) (l :: a) Source # 
Instance details
type Apply (FromEnumSym0 :: TyFun a Nat -> *) (l :: a) = FromEnum l

type FromEnumSym1 (t :: a6989586621679843221) = FromEnum t Source #

data EnumFromToSym0 (l :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type)) Source #

Instances
SuppressUnusedWarnings (EnumFromToSym0 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> *) Source # 
Instance details
type Apply (EnumFromToSym0 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> *) (l :: a6989586621679843221) Source # 
Instance details
type Apply (EnumFromToSym0 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> *) (l :: a6989586621679843221) = EnumFromToSym1 l

data EnumFromToSym1 (l :: a6989586621679843221) (l :: TyFun a6989586621679843221 [a6989586621679843221]) Source #

Instances
SuppressUnusedWarnings (EnumFromToSym1 :: a6989586621679843221 -> TyFun a6989586621679843221 [a6989586621679843221] -> *) Source # 
Instance details
type Apply (EnumFromToSym1 l1 :: TyFun a [a] -> *) (l2 :: a) Source # 
Instance details
type Apply (EnumFromToSym1 l1 :: TyFun a [a] -> *) (l2 :: a) = EnumFromTo l1 l2

type EnumFromToSym2 (t :: a6989586621679843221) (t :: a6989586621679843221) = EnumFromTo t t Source #

data EnumFromThenToSym0 (l :: TyFun a6989586621679843221 (TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> Type)) Source #

Instances
SuppressUnusedWarnings (EnumFromThenToSym0 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> Type) -> *) Source # 
Instance details
type Apply (EnumFromThenToSym0 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> Type) -> *) (l :: a6989586621679843221) Source # 
Instance details
type Apply (EnumFromThenToSym0 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> Type) -> *) (l :: a6989586621679843221) = EnumFromThenToSym1 l

data EnumFromThenToSym1 (l :: a6989586621679843221) (l :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type)) Source #

Instances
SuppressUnusedWarnings (EnumFromThenToSym1 :: a6989586621679843221 -> TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> *) Source # 
Instance details
type Apply (EnumFromThenToSym1 l1 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> *) (l2 :: a6989586621679843221) Source # 
Instance details
type Apply (EnumFromThenToSym1 l1 :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> *) (l2 :: a6989586621679843221) = EnumFromThenToSym2 l1 l2

data EnumFromThenToSym2 (l :: a6989586621679843221) (l :: a6989586621679843221) (l :: TyFun a6989586621679843221 [a6989586621679843221]) Source #

Instances
SuppressUnusedWarnings (EnumFromThenToSym2 :: a6989586621679843221 -> a6989586621679843221 -> TyFun a6989586621679843221 [a6989586621679843221] -> *) Source # 
Instance details
type Apply (EnumFromThenToSym2 l1 l2 :: TyFun a [a] -> *) (l3 :: a) Source # 
Instance details
type Apply (EnumFromThenToSym2 l1 l2 :: TyFun a [a] -> *) (l3 :: a) = EnumFromThenTo l1 l2 l3

type EnumFromThenToSym3 (t :: a6989586621679843221) (t :: a6989586621679843221) (t :: a6989586621679843221) = EnumFromThenTo t t t Source #