traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives.Class.UnitaryCompile

Synopsis

Documentation

class (size ~ SizeType prim, prec ~ PrecType prim, ValidPrimShape (PrimFnShape prim)) => UnitaryCompilePrim prim size prec | prim -> size prec where #

Compile a primitive to a unitary statement.

Minimal complete definition

Nothing

Methods

compileUPrim :: forall ext' m shape. (m ~ UnitaryCompilePrimMonad ext' prim, size ~ SizeType ext', prec ~ PrecType ext', shape ~ PrimFnShape prim) => prim -> FailProb prec -> m (UStmt size) #

default compileUPrim :: forall ext' m shape. (Generic prim, GUnitaryCompilePrim (Rep prim) size prec, m ~ UnitaryCompilePrimMonad ext' prim, size ~ SizeType ext', prec ~ PrecType ext', shape ~ PrimFnShape prim) => prim -> FailProb prec -> m (UStmt size) #

Instances

Instances details
UnitaryCompilePrim (DefaultPrimCollection size prec) size prec # 
Instance details

Defined in Traq.Primitives

Methods

compileUPrim :: forall ext' m (shape :: Type -> Type). (m ~ UnitaryCompilePrimMonad ext' (DefaultPrimCollection size prec), size ~ SizeType ext', prec ~ PrecType ext', shape ~ PrimFnShape (DefaultPrimCollection size prec)) => DefaultPrimCollection size prec -> FailProb prec -> m (UStmt size) #