names-0.3: Type level names.

Safe HaskellTrustworthy

Data.Name

Description

Type level names.

Names are like strings on the type level. This is a name:

 H :& E :& L :& L :& O :& W_ :& O :& R :& L :& D

This package provides types which can be used as letters and a cons operator (:&). It also provides syntactic sugar for using names via template haskell:

 name "helloWorld"

This will create a value named helloWorld which has the above type and can be used to work with the name.

Names are useful for named records. See the named-records package.

Documentation

data a :& b Source

Instances

Typeable2 :& 
(Show a, Show b) => Show (:& a b) 
(Name a, Name b) => Name (:& a b) 

class Show a => Name a whereSource

Methods

nameOf :: a -> StringSource

Instances

Name Z 
Name Y 
Name X 
Name W 
Name V 
Name U 
Name T 
Name S 
Name R 
Name Q 
Name P 
Name O 
Name N 
Name M 
Name L 
Name K 
Name J 
Name I 
Name H 
Name G 
Name F 
Name E 
Name D 
Name C 
Name B 
Name A 
Name Z_ 
Name Y_ 
Name X_ 
Name W_ 
Name V_ 
Name U_ 
Name T_ 
Name S_ 
Name R_ 
Name Q_ 
Name P_ 
Name O_ 
Name N_ 
Name M_ 
Name L_ 
Name K_ 
Name J_ 
Name I_ 
Name H_ 
Name G_ 
Name F_ 
Name E_ 
Name D_ 
Name C_ 
Name B_ 
Name A_ 
Name D9 
Name D8 
Name D7 
Name D6 
Name D5 
Name D4 
Name D3 
Name D2 
Name D1 
Name D0 
(Name a, Name b) => Name (:& a b) 
(Hex a, Hex b, Hex c, Hex d) => Name (UF a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UE a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UD a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UC a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UB a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UA a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U9 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U8 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U7 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U6 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U5 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U4 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U3 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U2 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U1 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U0 a b c d) 

data U0 a b c d Source

Instances

Typeable4 U0 
(Hex a, Hex b, Hex c, Hex d) => Show (U0 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U0 a b c d) 

data U1 a b c d Source

Instances

Typeable4 U1 
(Hex a, Hex b, Hex c, Hex d) => Show (U1 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U1 a b c d) 

data U2 a b c d Source

Instances

Typeable4 U2 
(Hex a, Hex b, Hex c, Hex d) => Show (U2 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U2 a b c d) 

data U3 a b c d Source

Instances

Typeable4 U3 
(Hex a, Hex b, Hex c, Hex d) => Show (U3 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U3 a b c d) 

data U4 a b c d Source

Instances

Typeable4 U4 
(Hex a, Hex b, Hex c, Hex d) => Show (U4 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U4 a b c d) 

data U5 a b c d Source

Instances

Typeable4 U5 
(Hex a, Hex b, Hex c, Hex d) => Show (U5 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U5 a b c d) 

data U6 a b c d Source

Instances

Typeable4 U6 
(Hex a, Hex b, Hex c, Hex d) => Show (U6 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U6 a b c d) 

data U7 a b c d Source

Instances

Typeable4 U7 
(Hex a, Hex b, Hex c, Hex d) => Show (U7 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U7 a b c d) 

data U8 a b c d Source

Instances

Typeable4 U8 
(Hex a, Hex b, Hex c, Hex d) => Show (U8 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U8 a b c d) 

data U9 a b c d Source

Instances

Typeable4 U9 
(Hex a, Hex b, Hex c, Hex d) => Show (U9 a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (U9 a b c d) 

data UA a b c d Source

Instances

Typeable4 UA 
(Hex a, Hex b, Hex c, Hex d) => Show (UA a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UA a b c d) 

data UB a b c d Source

Instances

Typeable4 UB 
(Hex a, Hex b, Hex c, Hex d) => Show (UB a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UB a b c d) 

data UC a b c d Source

Instances

Typeable4 UC 
(Hex a, Hex b, Hex c, Hex d) => Show (UC a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UC a b c d) 

data UD a b c d Source

Instances

Typeable4 UD 
(Hex a, Hex b, Hex c, Hex d) => Show (UD a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UD a b c d) 

data UE a b c d Source

Instances

Typeable4 UE 
(Hex a, Hex b, Hex c, Hex d) => Show (UE a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UE a b c d) 

data UF a b c d Source

Instances

Typeable4 UF 
(Hex a, Hex b, Hex c, Hex d) => Show (UF a b c d) 
(Hex a, Hex b, Hex c, Hex d) => Name (UF a b c d) 

data X0 Source

Instances

data X1 Source

Instances

data X2 Source

Instances

data X3 Source

Instances

data X4 Source

Instances

data X5 Source

Instances

data X6 Source

Instances

data X7 Source

Instances

data X8 Source

Instances

data X9 Source

Instances

data XA Source

Instances

data XB Source

Instances

data XC Source

Instances

data XD Source

Instances

data XE Source

Instances

data XF Source

Instances

data D0 Source

Instances

data D1 Source

Instances

data D2 Source

Instances

data D3 Source

Instances

data D4 Source

Instances

data D5 Source

Instances

data D6 Source

Instances

data D7 Source

Instances

data D8 Source

Instances

data D9 Source

Instances

data A Source

Instances

data B Source

Instances

data C Source

Instances

data D Source

Instances

data E Source

Instances

data F Source

Instances

data G Source

Instances

data H Source

Instances

data I Source

Instances

data J Source

Instances

data K Source

Instances

data L Source

Instances

data M Source

Instances

data N Source

Instances

data O Source

Instances

data P Source

Instances

data Q Source

Instances

data R Source

Instances

data S Source

Instances

data T Source

Instances

data U Source

Instances

data V Source

Instances

data W Source

Instances

data X Source

Instances

data Y Source

Instances

data Z Source

Instances

data A_ Source

Instances

data B_ Source

Instances

data C_ Source

Instances

data D_ Source

Instances

data E_ Source

Instances

data F_ Source

Instances

data G_ Source

Instances

data H_ Source

Instances

data I_ Source

Instances

data J_ Source

Instances

data K_ Source

Instances

data L_ Source

Instances

data M_ Source

Instances

data N_ Source

Instances

data O_ Source

Instances

data P_ Source

Instances

data Q_ Source

Instances

data R_ Source

Instances

data S_ Source

Instances

data T_ Source

Instances

data U_ Source

Instances

data V_ Source

Instances

data W_ Source

Instances

data X_ Source

Instances

data Y_ Source

Instances

data Z_ Source

Instances