generics-mrsop-1.2.2: Generic Programming with Mutually Recursive Sums of Products.

Safe HaskellSafe
LanguageHaskell2010

Generics.MRSOP.Opaque

Contents

Description

A curation of base types commonly used by the everyday Haskell programmer.

Synopsis

Opaque Types

In order to plug in custom opaque types, the programmer must provide their own Kon and Singl. This module serves more as an example.

data Kon #

Types with kind Kon will be used to index a Singl type with their values inside.

Instances
Eq Kon # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

(==) :: Kon -> Kon -> Bool #

(/=) :: Kon -> Kon -> Bool #

Show Kon # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

showsPrec :: Int -> Kon -> ShowS #

show :: Kon -> String #

showList :: [Kon] -> ShowS #

TestEquality Singl # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

testEquality :: Singl a -> Singl b -> Maybe (a :~: b) #

Show1 Singl # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

show1 :: Singl k -> String #

Eq1 Singl # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

eq1 :: Singl k -> Singl k -> Bool #

Family Singl FamRoseInt CodesRoseInt # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTreeTH

Family Singl FamRose CodesRose # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

Methods

sfrom' :: SNat ix -> El FamRose ix -> Rep Singl (El FamRose) (Lkup ix CodesRose) #

sto' :: SNat ix -> Rep Singl (El FamRose) (Lkup ix CodesRose) -> El FamRose ix #

Family Singl FamTerm CodesTerm # 
Instance details

Defined in Generics.MRSOP.Examples.LambdaAlphaEqTH

Methods

sfrom' :: SNat ix -> El FamTerm ix -> Rep Singl (El FamTerm) (Lkup ix CodesTerm) #

sto' :: SNat ix -> Rep Singl (El FamTerm) (Lkup ix CodesTerm) -> El FamTerm ix #

Family Singl FamStmtString CodesStmtString # 
Instance details

Defined in Generics.MRSOP.Examples.SimpTH

HasDatatypeInfo Singl FamRoseInt CodesRoseInt # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTreeTH

HasDatatypeInfo Singl FamRose CodesRose # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

HasDatatypeInfo Singl FamTerm CodesTerm # 
Instance details

Defined in Generics.MRSOP.Examples.LambdaAlphaEqTH

HasDatatypeInfo Singl FamStmtString CodesStmtString # 
Instance details

Defined in Generics.MRSOP.Examples.SimpTH

data Singl (kon :: Kon) :: * where #

A singleton GADT for the allowed Konstants.

Instances
TestEquality Singl # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

testEquality :: Singl a -> Singl b -> Maybe (a :~: b) #

Show1 Singl # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

show1 :: Singl k -> String #

Eq1 Singl # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

eq1 :: Singl k -> Singl k -> Bool #

Family Singl FamRoseInt CodesRoseInt # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTreeTH

Family Singl FamRose CodesRose # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

Methods

sfrom' :: SNat ix -> El FamRose ix -> Rep Singl (El FamRose) (Lkup ix CodesRose) #

sto' :: SNat ix -> Rep Singl (El FamRose) (Lkup ix CodesRose) -> El FamRose ix #

Family Singl FamTerm CodesTerm # 
Instance details

Defined in Generics.MRSOP.Examples.LambdaAlphaEqTH

Methods

sfrom' :: SNat ix -> El FamTerm ix -> Rep Singl (El FamTerm) (Lkup ix CodesTerm) #

sto' :: SNat ix -> Rep Singl (El FamTerm) (Lkup ix CodesTerm) -> El FamTerm ix #

Family Singl FamStmtString CodesStmtString # 
Instance details

Defined in Generics.MRSOP.Examples.SimpTH

HasDatatypeInfo Singl FamRoseInt CodesRoseInt # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTreeTH

HasDatatypeInfo Singl FamRose CodesRose # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

HasDatatypeInfo Singl FamTerm CodesTerm # 
Instance details

Defined in Generics.MRSOP.Examples.LambdaAlphaEqTH

HasDatatypeInfo Singl FamStmtString CodesStmtString # 
Instance details

Defined in Generics.MRSOP.Examples.SimpTH

Eq (Singl k) # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

(==) :: Singl k -> Singl k -> Bool #

(/=) :: Singl k -> Singl k -> Bool #

Show (Singl k) # 
Instance details

Defined in Generics.MRSOP.Opaque

Methods

showsPrec :: Int -> Singl k -> ShowS #

show :: Singl k -> String #

showList :: [Singl k] -> ShowS #

eqSingl :: Singl k -> Singl k -> Bool #

Equality over singletons