hydra-0.8.0: Type-aware transformations for data and programs
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hydra.Phantoms

Description

Phantom types for use with Hydra DSLs

Synopsis

Documentation

newtype TCase a Source #

An association of a field name (as in a case statement) with a phantom type

Constructors

TCase 

Fields

Instances

Instances details
Read (TCase a) Source # 
Instance details

Defined in Hydra.Phantoms

Show (TCase a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

show :: TCase a -> String #

showList :: [TCase a] -> ShowS #

Eq (TCase a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

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

Ord (TCase a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

compare :: TCase a -> TCase a -> Ordering #

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

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

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

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

max :: TCase a -> TCase a -> TCase a #

min :: TCase a -> TCase a -> TCase a #

data TElement a Source #

An association with a named term (element) with a phantom type

Constructors

TElement 

Instances

Instances details
Read (TElement a) Source # 
Instance details

Defined in Hydra.Phantoms

Show (TElement a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

show :: TElement a -> String #

showList :: [TElement a] -> ShowS #

Eq (TElement a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

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

Ord (TElement a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

compare :: TElement a -> TElement a -> Ordering #

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

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

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

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

max :: TElement a -> TElement a -> TElement a #

min :: TElement a -> TElement a -> TElement a #

newtype TField a Source #

An association with a term-level field with a phantom type

Constructors

TField 

Fields

Instances

Instances details
Read (TField a) Source # 
Instance details

Defined in Hydra.Phantoms

Show (TField a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

show :: TField a -> String #

showList :: [TField a] -> ShowS #

Eq (TField a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

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

Ord (TField a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

compare :: TField a -> TField a -> Ordering #

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

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

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

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

max :: TField a -> TField a -> TField a #

min :: TField a -> TField a -> TField a #

newtype TTerm a Source #

An association of a term with a phantom type

Constructors

TTerm 

Fields

Instances

Instances details
IsString (TTerm a) Source # 
Instance details

Defined in Hydra.Dsl.Base

Methods

fromString :: String -> TTerm a #

Read (TTerm a) Source # 
Instance details

Defined in Hydra.Phantoms

Show (TTerm a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

show :: TTerm a -> String #

showList :: [TTerm a] -> ShowS #

Eq (TTerm a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

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

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

Ord (TTerm a) Source # 
Instance details

Defined in Hydra.Phantoms

Methods

compare :: TTerm a -> TTerm a -> Ordering #

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

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

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

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

max :: TTerm a -> TTerm a -> TTerm a #

min :: TTerm a -> TTerm a -> TTerm a #