module Language.XDsp.Semantics.Core
where
class Dsp repr where
data ASig repr :: *
data KSig repr :: *
data INum repr :: *
getSr :: repr Integer
getKsmps :: repr Integer
class Dsp repr => Constants repr where
cnst :: Double -> repr (INum repr)
ckig :: Double -> repr (KSig repr)
csig :: Double -> repr (ASig repr)
class Var a where
type VarRep a :: *
getVarRep :: a -> VarRep a
class Dsp repr => Asn repr a where
asn :: a -> repr a
class Dsp repr => Cast repr where
ik :: INum repr -> repr (KSig repr)
ia :: INum repr -> repr (ASig repr)
ki :: KSig repr -> repr (INum repr)