fwgl-0.1.0.2: FRP 2D/3D game engine

Safe HaskellSafe-Inferred
LanguageHaskell2010

FWGL.Internal.TList

Documentation

class Subset xs ys Source

Instances

Subset ([] *) ys 
(Subset ((:) * x ([] *)) ys, Subset xs ys) => Subset ((:) * x xs) ys 

type Equal xs ys = (Subset xs ys, Subset ys xs) Source

type Member x xs = Subset `[x]` xs Source

type NotMember x xs = IsMember x xs ~ False Source

type family IsMember x xs :: Bool Source

Equations

IsMember x [] = False 
IsMember x (x : xs) = True 
IsMember y (x : xs) = IsMember y xs 

type family Remove x xs Source

Equations

Remove x [] = [] 
Remove x (x : xs) = Remove x xs 
Remove x (y : xs) = y : Remove x xs 

type family Difference xs ys Source

Equations

Difference xs [] = xs 
Difference xs (y : ys) = Difference (Remove y xs) ys 

type family Append xs ys Source

Equations

Append [] ys = ys 
Append (x : xs) ys = x : Append xs ys 

type family Insert y xs Source

Equations

Insert y [] = `[y]` 
Insert y (y : xs) = y : xs 
Insert y (x : xs) = x : Insert y xs 

type family Union xs ys Source

Equations

Union [] ys = ys 
Union (x : xs) ys = Union xs (Insert x ys) 

type family TypeEq x y :: Bool Source

Equations

TypeEq x x = True 
TypeEq x y = False