module Graphics.HaGL.Internal (
    constEval,
    hostEval,
    printGLExpr,
    dumpGlsl,
    genericUniform,
    IOEvaluator,
    GLExprException(..),
    GLObjException(..),
    EvalException(..)
) where

import Graphics.HaGL.GLType (GLType)
import Graphics.HaGL.ExprID (genID)
import Graphics.HaGL.GLExpr
import Graphics.HaGL.GLObj
import Graphics.HaGL.Eval
import Graphics.HaGL.CodeGen
import Graphics.HaGL.Print

dumpGlsl :: GLObj -> String
dumpGlsl :: GLObj -> String
dumpGlsl = forall a. Show a => a -> String
show forall b c a. (b -> c) -> (a -> b) -> a -> c
. GLObj -> GLProgram
genProgram

genericUniform :: GLType t => String -> GLExpr d t
genericUniform :: forall t (d :: GLDomain). GLType t => String -> GLExpr d t
genericUniform String
label = forall t (d :: GLDomain).
GLType t =>
ExprID -> GLAtom d t -> GLExpr d t
GLAtom (forall a. a -> ExprID
genID ()) forall a b. (a -> b) -> a -> b
$ forall t (d :: GLDomain). GLType t => String -> GLAtom d t
GenericUniform String
label