tfp-1.0.0.2: Type-level integers, booleans, lists using type families

Safe HaskellSafe
LanguageHaskell2010

Type.Data.List

Documentation

data Cons car cdr #

Instances

(Show car, Show cdr) => Show (Cons car cdr) # 

Methods

showsPrec :: Int -> Cons car cdr -> ShowS #

show :: Cons car cdr -> String #

showList :: [Cons car cdr] -> ShowS #

type Tail (Cons _car cdr) # 
type Tail (Cons _car cdr) = cdr
type Head (Cons car _cdr) # 
type Head (Cons car _cdr) = car
type IsNull (Cons _car _cdr) # 
type IsNull (Cons _car _cdr) = False
type Append (Cons car1 cdr2) l2 # 
type Append (Cons car1 cdr2) l2 = Cons car1 (Append cdr2 l2)

data Null #

Instances

Show Null # 

Methods

showsPrec :: Int -> Null -> ShowS #

show :: Null -> String #

showList :: [Null] -> ShowS #

type IsNull Null # 
type Append Null l2 # 
type Append Null l2 = l2

type family IsNull l #

Instances

type IsNull Null # 
type IsNull (Cons _car _cdr) # 
type IsNull (Cons _car _cdr) = False

type family Head l #

Instances

type Head (Cons car _cdr) # 
type Head (Cons car _cdr) = car

type family Tail l #

Instances

type Tail (Cons _car cdr) # 
type Tail (Cons _car cdr) = cdr

type family Reverse l #

Instances

type Reverse l # 
type Reverse l

type family Append l1 l2 #

Instances

type Append Null l2 # 
type Append Null l2 = l2
type Append (Cons car1 cdr2) l2 # 
type Append (Cons car1 cdr2) l2 = Cons car1 (Append cdr2 l2)