module Synthesizer.Causal.Arrow where import qualified Synthesizer.Causal.Process as Causal import qualified Synthesizer.Generic.Signal2 as SigG2 import Control.Arrow (Arrow, ) class Arrow arrow => C arrow where apply :: (SigG2.Transform sig a b) => arrow a b -> sig a -> sig b instance C Causal.T where apply = Causal.apply instance C (->) where apply = SigG2.map