{- | Copyright : (c) Henning Thielemann 2008 License : GPL Maintainer : synthesizer@henning-thielemann.de Stability : provisional Portability : requires multi-parameter type classes Class that allows unified handling of @RP.T@ and @SigP.T@ whenever the applied function does not depend on the sample rate. Unfortunately, Haskell's type system cannot check this property, so use this abstraction only for signal processes that are actually sample rate independent. -} module Synthesizer.Dimensional.Abstraction.RateIndependent where -- import qualified Synthesizer.Dimensional.RatePhantom as RP -- import qualified Synthesizer.Dimensional.RateWrapper as SigP -- import qualified Number.DimensionTerm as DN -- import qualified Algebra.DimensionTerm as Dim {- import qualified Algebra.Module as Module import qualified Algebra.Field as Field import qualified Algebra.Ring as Ring -} -- import Number.DimensionTerm ((&/&)) -- import NumericPrelude -- import PreludeBase -- import Prelude () class C w where toSignal :: w sig y -> sig y processSignal :: (sig0 y0 -> sig1 y1) -> w sig0 y0 -> w sig1 y1