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

Safe HaskellNone
LanguageHaskell2010

Hylogen.Types

Synopsis

Documentation

type family ConstructFrom tc 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 (a, Vec2, c) Vec4 = (a ~ Vec1, c ~ Vec1) 
ConstructFrom (Vec2, b, c) Vec4 = (b ~ Vec1, c ~ Vec1) 
ConstructFrom (a, b, Vec2) Vec4 = (a ~ Vec1, b ~ Vec1) 

class Show v => HyloPrim v where Source

Methods

vec :: (Show tc, ConstructFrom tc v) => tc -> 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 Vec1 where Source

Constructors

Vec1 :: Float -> Vec1 
V1u :: String -> Vec1 
V1uop :: String -> Vec1 -> Vec1 
V1uoppre :: String -> Vec1 -> Vec1 
V1bop :: String -> Vec1 -> Vec1 -> Vec1 
V1boppre :: String -> Vec1 -> Vec1 -> Vec1 
V1select :: Booly -> Vec1 -> Vec1 -> Vec1 
Dot :: HyloPrim a => a -> a -> Vec1 
X :: HasX a => a -> Vec1 
Y :: HasY a => a -> Vec1 
Z :: HasZ a => a -> Vec1 
W :: HasW a => a -> Vec1 

data Texture where Source

Constructors

Tu :: String -> Texture 

Instances

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 :: HyloPrim a => String -> a -> a -> Booly 
Bcomp_ :: String -> Vec1 -> Vec1 -> Booly