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

Safe HaskellNone
LanguageHaskell2010

Hylogen.Types

Synopsis

Documentation

type family HyloConstructor v Source

Darn I need injective type families.. waiting for GHC8

class Show v => HyloPrim v where Source

Methods

vec :: HyloConstructor v -> 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

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 
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