ixshader-0.0.1.0: A shallow embedding of the OpenGL Shading Language in Haskell.

Safe HaskellNone
LanguageHaskell2010

Graphics.IxShader.Function

Documentation

funcReturnType :: forall t ctx i. KnownTypeSymbol t => IxShader ctx i i () Source #

funcName :: forall name ctx i. KnownSymbol name => IxShader ctx i i () Source #

funcParams :: ToParams ps => ps -> IxShader ctx i i () Source #

returnValue :: (Socketed a, KnownTypeSymbol a) => a -> IxShader ctx i i a Source #

funcCall :: forall name t ps. (KnownSymbol name, Socketed t, ToParams ps) => ps -> t Source #

data Function rtype fname ps Source #

Constructors

Function 

Instances

type IxFunction ctx i rtype fname ps = IxShader ctx i (i :++ '[Function rtype fname ps]) (ps -> rtype) Source #

func :: forall fname rtype ps ctx i. (ToParams ps, KnownTypeSymbol rtype, Socketed rtype, KnownSymbol fname) => ps -> (ps -> IxShader ctx i i rtype) -> IxShader ctx i (i :++ '[Function rtype fname ps]) (ps -> rtype) Source #

use :: Socketed a => a -> IxShader ctx i i () Source #

type Main = Function Xvoid "main" () Source #

type family (a0 :++ (a1 :: [a0])) (a2 :: [a0]) :: [a0] where ... infixr 5 #

Equations

(a :++ ([] a)) ys0 = ys0 
(a6989586621679271621 :++ ((:) a6989586621679271621 x0 xs0)) ys0 = Apply [a6989586621679271621] [a6989586621679271621] (Apply a6989586621679271621 (TyFun [a6989586621679271621] [a6989586621679271621] -> Type) ((:$) a6989586621679271621) x0) (Apply [a6989586621679271621] [a6989586621679271621] (Apply [a6989586621679271621] (TyFun [a6989586621679271621] [a6989586621679271621] -> Type) ((:++$) a6989586621679271621) xs0) ys0)