wakame-0.1.0.0: Functions to manipulate records

Safe HaskellNone
LanguageHaskell2010

Wakame.Utils

Synopsis
  • type family (a :: [k]) ++ (b :: [k]) :: [k]
  • type family Fst (p :: (a, b)) :: a
  • type family Snd (p :: (a, b)) :: b

Documentation

type family (a :: [k]) ++ (b :: [k]) :: [k] Source #

>>> :kind! '[Bool, Int] ++ '[]
'[Bool, Int] ++ '[] :: [*]
= '[Bool, Int]
>>> :kind! '[Bool, Int] ++ '[Char, Word]
'[Bool, Int] ++ '[Char, Word] :: [*]
= '[Bool, Int, Char, Word]
Instances
type ([] :: [k]) ++ (ys :: [k]) Source # 
Instance details

Defined in Wakame.Utils

type ([] :: [k]) ++ (ys :: [k]) = ys
type (x ': xs :: [k]) ++ (ys :: [k]) Source # 
Instance details

Defined in Wakame.Utils

type (x ': xs :: [k]) ++ (ys :: [k]) = x ': (xs ++ ys)

type family Fst (p :: (a, b)) :: a Source #

>>> :kind! Fst '(Bool, Char)
Fst '(Bool, Char) :: *
= Bool
Instances
type Fst ((,) a2 b2 :: (a1, b1)) Source # 
Instance details

Defined in Wakame.Utils

type Fst ((,) a2 b2 :: (a1, b1)) = a2

type family Snd (p :: (a, b)) :: b Source #

>>> :kind! Snd '(Bool, Char)
Snd '(Bool, Char) :: *
= Char
Instances
type Snd ((,) a2 b2 :: (a1, b1)) Source # 
Instance details

Defined in Wakame.Utils

type Snd ((,) a2 b2 :: (a1, b1)) = b2