hylogen-0.1.0.12: an EDSL for live-coding fragment shaders

Safe HaskellNone
LanguageHaskell2010

Hylogen.Types

Synopsis

Documentation

type family ConstructFrom' tuple hprim :: Constraint Source

Equations

ConstructFrom' a Vec1 = a ~ Float 
ConstructFrom' (a, b) Vec2 = (a ~ Vec1, b ~ Vec1) 
ConstructFrom' (a, b, c) Vec3 = (a ~ Vec1, b ~ Vec1, c ~ Vec1) 
ConstructFrom' (Vec2, b) Vec3 = b ~ Vec1 
ConstructFrom' (a, Vec2) Vec3 = a ~ Vec1 
ConstructFrom' (a, b, c, d) Vec4 = (a ~ Vec1, b ~ Vec1, c ~ Vec1, d ~ Vec1) 
ConstructFrom' (Vec3, b) Vec4 = b ~ Vec1 
ConstructFrom' (Vec2, b) Vec4 = b ~ Vec2 
ConstructFrom' (a, Vec3) Vec4 = a ~ Vec1 
ConstructFrom' (Vec2, b, c) Vec4 = (b ~ Vec1, c ~ Vec1) 
ConstructFrom' (a, Vec2, c) Vec4 = (a ~ Vec1, c ~ Vec1) 
ConstructFrom' (a, b, Vec2) Vec4 = (a ~ Vec1, b ~ Vec1) 

class (Expressible v, Show v) => Vec v where Source

Methods

vec :: ConstructFrom tuple v => tuple -> v Source

vu :: String -> v Source

vuop :: String -> v -> v Source

vuoppre :: String -> v -> v Source

vbop :: String -> v -> v -> v Source

vboppre :: String -> v -> v -> v Source

select :: Booly -> v -> v -> v Source

fromVec1 :: Vec1 -> v Source

toList :: v -> [Vec1] Source

class HasY a => HasZ a Source

class HasZ a => HasW a Source

Instances

data Texture where Source

Constructors

Tu :: String -> Texture 

data Booly where Source

We implement Bool as a Num

Constructors

Bu :: String -> Booly 
Buop :: String -> Booly -> Booly 
Buoppre :: String -> Booly -> Booly 
Bbop :: String -> Booly -> Booly -> Booly 
Bcomp :: Vec a => String -> a -> a -> Booly 
Bcomp_ :: String -> Vec1 -> Vec1 -> Booly 

data Tree a Source

Constructors

Tree 

Fields

getElem :: a
 
getChildren :: [Tree a]