heterogeneous-comparison
Copyright(c) L. S. Leary 2025
Safe HaskellNone
LanguageGHC2021

Data.Hetero.ID

Contents

Description

Higher-kinded IDs with HetEq & HetOrd.

Synopsis
  • data ID (a :: k)
  • newID :: forall {k} (a :: k). IO (ID a)

ID

data ID (a :: k) Source #

Higher-kinded IDs with HetEq & HetOrd.

Instances

Instances details
HetEq (ID :: k -> Type) Source # 
Instance details

Defined in Data.Hetero.ID

Associated Types

type Strength (ID :: k -> Type) 
Instance details

Defined in Data.Hetero.ID

type Strength (ID :: k -> Type) = 'Representational

Methods

heq :: forall (a :: k) (b :: k). ID a -> ID b -> Maybe (AtLeast (Strength (ID :: k -> Type)) a b) Source #

HetOrd (ID :: k -> Type) Source # 
Instance details

Defined in Data.Hetero.ID

Methods

hcompare :: forall (a :: k) (b :: k). ID a -> ID b -> HetOrdering (Strength (ID :: k -> Type)) a b Source #

NFData (ID a) Source # 
Instance details

Defined in Data.Hetero.ID

Methods

rnf :: ID a -> () #

Show (ID a) Source # 
Instance details

Defined in Data.Hetero.ID

Methods

showsPrec :: Int -> ID a -> ShowS #

show :: ID a -> String #

showList :: [ID a] -> ShowS #

Eq (ID a) Source # 
Instance details

Defined in Data.Hetero.ID

Methods

(==) :: ID a -> ID a -> Bool #

(/=) :: ID a -> ID a -> Bool #

Ord (ID a) Source # 
Instance details

Defined in Data.Hetero.ID

Methods

compare :: ID a -> ID a -> Ordering #

(<) :: ID a -> ID a -> Bool #

(<=) :: ID a -> ID a -> Bool #

(>) :: ID a -> ID a -> Bool #

(>=) :: ID a -> ID a -> Bool #

max :: ID a -> ID a -> ID a #

min :: ID a -> ID a -> ID a #

Hashable (ID a) Source # 
Instance details

Defined in Data.Hetero.ID

Methods

hashWithSalt :: Int -> ID a -> Int #

hash :: ID a -> Int #

type Strength (ID :: k -> Type) Source # 
Instance details

Defined in Data.Hetero.ID

type Strength (ID :: k -> Type) = 'Representational

newID :: forall {k} (a :: k). IO (ID a) Source #

Create a new ID a.