{-# Language TypeFamilies, TypeSynonymInstances, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-}
module Csound.Air.ModArg(
ModArg1(..), ModArg2(..), ModArg3(..), ModArg4(..),
delModArg1, delModArg2, delModArg3, delModArg4,
oscArg1, oscArg2, oscArg3, oscArg4,
triArg1, triArg2, triArg3, triArg4,
sqrArg1, sqrArg2, sqrArg3, sqrArg4,
sawArg1, sawArg2, sawArg3, sawArg4,
rndOscArg1, rndOscArg2, rndOscArg3, rndOscArg4,
rndTriArg1, rndTriArg2, rndTriArg3, rndTriArg4,
rndSqrArg1, rndSqrArg2, rndSqrArg3, rndSqrArg4,
rndSawArg1, rndSawArg2, rndSawArg3, rndSawArg4,
delOscArg1, delOscArg2, delOscArg3, delOscArg4,
delTriArg1, delTriArg2, delTriArg3, delTriArg4,
delSqrArg1, delSqrArg2, delSqrArg3, delSqrArg4,
delSawArg1, delSawArg2, delSawArg3, delSawArg4,
delRndOscArg1, delRndOscArg2, delRndOscArg3, delRndOscArg4,
delRndTriArg1, delRndTriArg2, delRndTriArg3, delRndTriArg4,
delRndSqrArg1, delRndSqrArg2, delRndSqrArg3, delRndSqrArg4,
delRndSawArg1, delRndSawArg2, delRndSawArg3, delRndSawArg4,
noiseArg1, noiseArg2, noiseArg3, noiseArg4,
jitArg1, jitArg2, jitArg3, jitArg4,
gaussArg1, gaussArg2, gaussArg3, gaussArg4,
gaussiArg1, gaussiArg2, gaussiArg3, gaussiArg4,
delNoiseArg1, delNoiseArg2, delNoiseArg3, delNoiseArg4,
delJitArg1, delJitArg2, delJitArg3, delJitArg4,
delGaussArg1, delGaussArg2, delGaussArg3, delGaussArg4,
delGaussiArg1, delGaussiArg2, delGaussiArg3, delGaussiArg4,
adsrArg1, adsrArg2, adsrArg3, adsrArg4,
xadsrArg1, xadsrArg2, xadsrArg3, xadsrArg4,
delAdsrArg1, delAdsrArg2, delAdsrArg3, delAdsrArg4,
delXadsrArg1, delXadsrArg2, delXadsrArg3, delXadsrArg4
) where
import Csound.Typed
import Csound.Typed.Opcode(gauss, gaussi, jitter, linseg, linsegr, expsegr)
import Csound.Air.Wave
import Csound.Air.Envelope
import Csound.SigSpace
delEnv :: SigSpace a => D -> D -> a -> a
delEnv delTime riseTime asig = mul (linseg [0, delTime, 0, riseTime, 1]) asig
delModArg1 :: (SigSpace a, ModArg1 a b) => D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 delTime riseTime depth modSig f = modArg1 (delEnv delTime riseTime depth) modSig f
delModArg2 :: (SigSpace a, ModArg2 a b) => D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 delTime riseTime depth modSig f = modArg2 (delEnv delTime riseTime depth) modSig f
delModArg3 :: (SigSpace a, ModArg3 a b) => D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 delTime riseTime depth modSig f = modArg3 (delEnv delTime riseTime depth) modSig f
delModArg4 :: (SigSpace a, ModArg4 a b) => D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 delTime riseTime depth modSig f = modArg4 (delEnv delTime riseTime depth) modSig f
adsrArg1 :: (ModArg1 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
adsrArg1 depth a d s r f = modArg1 depth (leg a d s r) f
adsrArg2 :: (ModArg2 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
adsrArg2 depth a d s r f = modArg2 depth (leg a d s r) f
adsrArg3 :: (ModArg3 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
adsrArg3 depth a d s r f = modArg3 depth (leg a d s r) f
adsrArg4 :: (ModArg4 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
adsrArg4 depth a d s r f = modArg4 depth (leg a d s r) f
delLeg :: D -> D -> D -> D -> D -> Sig
delLeg delTime a d s r = linsegr [0, delTime, 0, a, 1, d, s] r 0
delAdsrArg1 :: (ModArg1 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
delAdsrArg1 delTime depth a d s r f = modArg1 depth (delLeg delTime a d s r) f
delAdsrArg2 :: (ModArg2 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
delAdsrArg2 delTime depth a d s r f = modArg2 depth (delLeg delTime a d s r) f
delAdsrArg3 :: (ModArg3 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
delAdsrArg3 delTime depth a d s r f = modArg3 depth (delLeg delTime a d s r) f
delAdsrArg4 :: (ModArg4 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
delAdsrArg4 delTime depth a d s r f = modArg4 depth (delLeg delTime a d s r) f
xadsrArg1 :: (ModArg1 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
xadsrArg1 depth a d s r f = modArg1 depth (xeg a d s r) f
xadsrArg2 :: (ModArg2 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
xadsrArg2 depth a d s r f = modArg2 depth (xeg a d s r) f
xadsrArg3 :: (ModArg3 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
xadsrArg3 depth a d s r f = modArg3 depth (xeg a d s r) f
xadsrArg4 :: (ModArg4 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
xadsrArg4 depth a d s r f = modArg4 depth (xeg a d s r) f
delXeg :: D -> D -> D -> D -> D -> Sig
delXeg delTime a d s r = expsegr [0.001, delTime, 0.001, a, 1, d, s] r 0.001
delXadsrArg1 :: (ModArg1 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
delXadsrArg1 delTime depth a d s r f = modArg1 depth (delXeg delTime a d s r) f
delXadsrArg2 :: (ModArg2 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
delXadsrArg2 delTime depth a d s r f = modArg2 depth (delXeg delTime a d s r) f
delXadsrArg3 :: (ModArg3 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
delXadsrArg3 delTime depth a d s r f = modArg3 depth (delXeg delTime a d s r) f
delXadsrArg4 :: (ModArg4 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
delXadsrArg4 delTime depth a d s r f = modArg4 depth (delXeg delTime a d s r) f
oscArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
oscArg1 depth rate f = modArg1 depth (osc rate) f
oscArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
oscArg2 depth rate f = modArg2 depth (osc rate) f
oscArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
oscArg3 depth rate f = modArg3 depth (osc rate) f
oscArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
oscArg4 depth rate f = modArg4 depth (osc rate) f
delOscArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delOscArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (osc rate) f
delOscArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delOscArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (osc rate) f
delOscArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delOscArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (osc rate) f
delOscArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delOscArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (osc rate) f
triArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
triArg1 depth rate f = modArg1 depth (tri rate) f
triArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
triArg2 depth rate f = modArg2 depth (tri rate) f
triArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
triArg3 depth rate f = modArg3 depth (tri rate) f
triArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
triArg4 depth rate f = modArg4 depth (tri rate) f
delTriArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delTriArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (tri rate) f
delTriArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delTriArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (tri rate) f
delTriArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delTriArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (tri rate) f
delTriArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delTriArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (tri rate) f
sqrArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
sqrArg1 depth rate f = modArg1 depth (sqr rate) f
sqrArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
sqrArg2 depth rate f = modArg2 depth (sqr rate) f
sqrArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
sqrArg3 depth rate f = modArg3 depth (sqr rate) f
sqrArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
sqrArg4 depth rate f = modArg4 depth (sqr rate) f
delSqrArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delSqrArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (sqr rate) f
delSqrArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delSqrArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (sqr rate) f
delSqrArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delSqrArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (sqr rate) f
delSqrArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delSqrArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (sqr rate) f
sawArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
sawArg1 depth rate f = modArg1 depth (saw rate) f
sawArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
sawArg2 depth rate f = modArg2 depth (saw rate) f
sawArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
sawArg3 depth rate f = modArg3 depth (saw rate) f
sawArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
sawArg4 depth rate f = modArg4 depth (saw rate) f
delSawArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delSawArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (saw rate) f
delSawArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delSawArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (saw rate) f
delSawArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delSawArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (saw rate) f
delSawArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delSawArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (saw rate) f
rndOscArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndOscArg1 depth rate f = modArg1 depth (rndOsc rate) f
rndOscArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndOscArg2 depth rate f = modArg2 depth (rndOsc rate) f
rndOscArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndOscArg3 depth rate f = modArg3 depth (rndOsc rate) f
rndOscArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndOscArg4 depth rate f = modArg4 depth (rndOsc rate) f
delRndOscArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndOscArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (rndOsc rate) f
delRndOscArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndOscArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (rndOsc rate) f
delRndOscArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndOscArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (rndOsc rate) f
delRndOscArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndOscArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (rndOsc rate) f
rndTriArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndTriArg1 depth rate f = modArg1 depth (rndTri rate) f
rndTriArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndTriArg2 depth rate f = modArg2 depth (rndTri rate) f
rndTriArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndTriArg3 depth rate f = modArg3 depth (rndTri rate) f
rndTriArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndTriArg4 depth rate f = modArg4 depth (rndTri rate) f
delRndTriArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndTriArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (rndTri rate) f
delRndTriArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndTriArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (rndTri rate) f
delRndTriArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndTriArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (rndTri rate) f
delRndTriArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndTriArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (rndTri rate) f
rndSqrArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndSqrArg1 depth rate f = modArg1 depth (rndSqr rate) f
rndSqrArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndSqrArg2 depth rate f = modArg2 depth (rndSqr rate) f
rndSqrArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndSqrArg3 depth rate f = modArg3 depth (rndSqr rate) f
rndSqrArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndSqrArg4 depth rate f = modArg4 depth (rndSqr rate) f
delRndSqrArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndSqrArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (rndSqr rate) f
delRndSqrArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndSqrArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (rndSqr rate) f
delRndSqrArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndSqrArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (rndSqr rate) f
delRndSqrArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndSqrArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (rndSqr rate) f
rndSawArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndSawArg1 depth rate f = modArg1 depth (rndSaw rate) f
rndSawArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndSawArg2 depth rate f = modArg2 depth (rndSaw rate) f
rndSawArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndSawArg3 depth rate f = modArg3 depth (rndSaw rate) f
rndSawArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndSawArg4 depth rate f = modArg4 depth (rndSaw rate) f
delRndSawArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndSawArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (rndSaw rate) f
delRndSawArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndSawArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (rndSaw rate) f
delRndSawArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndSawArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (rndSaw rate) f
delRndSawArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndSawArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (rndSaw rate) f
noiseArg1 :: (ModArg1 (SE Sig) b) => Sig -> b -> ModArgOut1 (SE Sig) b
noiseArg1 depth f = modArg1 depth white f
noiseArg2 :: (ModArg2 (SE Sig) b) => Sig -> b -> ModArgOut2 (SE Sig) b
noiseArg2 depth f = modArg2 depth white f
noiseArg3 :: (ModArg3 (SE Sig) b) => Sig -> b -> ModArgOut3 (SE Sig) b
noiseArg3 depth f = modArg3 depth white f
noiseArg4 :: (ModArg4 (SE Sig) b) => Sig -> b -> ModArgOut4 (SE Sig) b
noiseArg4 depth f = modArg4 depth white f
delNoiseArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delNoiseArg1 delTime riseTime depth f = delModArg1 delTime riseTime depth white f
delNoiseArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delNoiseArg2 delTime riseTime depth f = delModArg2 delTime riseTime depth white f
delNoiseArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delNoiseArg3 delTime riseTime depth f = delModArg3 delTime riseTime depth white f
delNoiseArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delNoiseArg4 delTime riseTime depth f = delModArg4 delTime riseTime depth white f
pinkArg1 :: (ModArg1 (SE Sig) b) => Sig -> b -> ModArgOut1 (SE Sig) b
pinkArg1 depth f = modArg1 depth pink f
pinkArg2 :: (ModArg2 (SE Sig) b) => Sig -> b -> ModArgOut2 (SE Sig) b
pinkArg2 depth f = modArg2 depth pink f
pinkArg3 :: (ModArg3 (SE Sig) b) => Sig -> b -> ModArgOut3 (SE Sig) b
pinkArg3 depth f = modArg3 depth pink f
pinkArg4 :: (ModArg4 (SE Sig) b) => Sig -> b -> ModArgOut4 (SE Sig) b
pinkArg4 depth f = modArg4 depth pink f
delPinkArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delPinkArg1 delTime riseTime depth f = delModArg1 delTime riseTime depth pink f
delPinkArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delPinkArg2 delTime riseTime depth f = delModArg2 delTime riseTime depth pink f
delPinkArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delPinkArg3 delTime riseTime depth f = delModArg3 delTime riseTime depth pink f
delPinkArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delPinkArg4 delTime riseTime depth f = delModArg4 delTime riseTime depth pink f
jitArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
jitArg1 depth cpsMin cpsMax f = modArg1 depth (jitter 1 cpsMin cpsMax) f
jitArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
jitArg2 depth cpsMin cpsMax f = modArg2 depth (jitter 1 cpsMin cpsMax) f
jitArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
jitArg3 depth cpsMin cpsMax f = modArg3 depth (jitter 1 cpsMin cpsMax) f
jitArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
jitArg4 depth cpsMin cpsMax f = modArg4 depth (jitter 1 cpsMin cpsMax) f
delJitArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delJitArg1 delTime riseTime depth cpsMin cpsMax f = delModArg1 delTime riseTime depth (jitter 1 cpsMin cpsMax) f
delJitArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delJitArg2 delTime riseTime depth cpsMin cpsMax f = delModArg2 delTime riseTime depth (jitter 1 cpsMin cpsMax) f
delJitArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delJitArg3 delTime riseTime depth cpsMin cpsMax f = delModArg3 delTime riseTime depth (jitter 1 cpsMin cpsMax) f
delJitArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delJitArg4 delTime riseTime depth cpsMin cpsMax f = delModArg4 delTime riseTime depth (jitter 1 cpsMin cpsMax) f
gaussArg1 :: (ModArg1 (SE Sig) b) => Sig -> b -> ModArgOut1 (SE Sig) b
gaussArg1 depth f = modArg1 depth (gauss 1) f
gaussArg2 :: (ModArg2 (SE Sig) b) => Sig -> b -> ModArgOut2 (SE Sig) b
gaussArg2 depth f = modArg2 depth (gauss 1) f
gaussArg3 :: (ModArg3 (SE Sig) b) => Sig -> b -> ModArgOut3 (SE Sig) b
gaussArg3 depth f = modArg3 depth (gauss 1) f
gaussArg4 :: (ModArg4 (SE Sig) b) => Sig -> b -> ModArgOut4 (SE Sig) b
gaussArg4 depth f = modArg4 depth (gauss 1) f
delGaussArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delGaussArg1 delTime riseTime depth f = delModArg1 delTime riseTime depth (gauss 1) f
delGaussArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delGaussArg2 delTime riseTime depth f = delModArg2 delTime riseTime depth (gauss 1) f
delGaussArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delGaussArg3 delTime riseTime depth f = delModArg3 delTime riseTime depth (gauss 1) f
delGaussArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delGaussArg4 delTime riseTime depth f = delModArg4 delTime riseTime depth (gauss 1) f
gaussiArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
gaussiArg1 depth rate f = modArg1 depth (gaussi 1 1 rate) f
gaussiArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
gaussiArg2 depth rate f = modArg2 depth (gaussi 1 1 rate) f
gaussiArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
gaussiArg3 depth rate f = modArg3 depth (gaussi 1 1 rate) f
gaussiArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
gaussiArg4 depth rate f = modArg4 depth (gaussi 1 1 rate) f
delGaussiArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delGaussiArg1 delTime riseTime depth rate f = delModArg1 delTime riseTime depth (gaussi 1 1 rate) f
delGaussiArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delGaussiArg2 delTime riseTime depth rate f = delModArg2 delTime riseTime depth (gaussi 1 1 rate) f
delGaussiArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delGaussiArg3 delTime riseTime depth rate f = delModArg3 delTime riseTime depth (gaussi 1 1 rate) f
delGaussiArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delGaussiArg4 delTime riseTime depth rate f = delModArg4 delTime riseTime depth (gaussi 1 1 rate) f
class ModArg1 a b where
type ModArgOut1 a b :: *
modArg1 :: Sig -> a -> b -> ModArgOut1 a b
instance ModArg1 Sig (Sig -> Sig) where
type ModArgOut1 Sig (Sig -> Sig) = Sig -> Sig
modArg1 depth a f = \x -> f (x * (1 + depth * a))
instance ModArg1 Sig (Sig -> a -> Sig) where
type ModArgOut1 Sig (Sig -> a -> Sig) = Sig -> a -> Sig
modArg1 depth a f = \x1 x2 -> f (x1 * (1 + depth * a)) x2
instance ModArg1 Sig (Sig -> a -> b -> Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> Sig) = Sig -> a -> b -> Sig
modArg1 depth a f = \x1 x2 x3 -> f (x1 * (1 + depth * a)) x2 x3
instance ModArg1 Sig (Sig -> a -> b -> c -> Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> Sig) = Sig -> a -> b -> c -> Sig
modArg1 depth a f = \x1 x2 x3 x4 -> f (x1 * (1 + depth * a)) x2 x3 x4
instance ModArg1 Sig (Sig -> Sig2) where
type ModArgOut1 Sig (Sig -> Sig2) = Sig -> Sig2
modArg1 depth a f = \x -> f (x * (1 + depth * a))
instance ModArg1 Sig (Sig -> a -> Sig2) where
type ModArgOut1 Sig (Sig -> a -> Sig2) = Sig -> a -> Sig2
modArg1 depth a f = \x1 x2 -> f (x1 * (1 + depth * a)) x2
instance ModArg1 Sig (Sig -> a -> b -> Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> Sig2) = Sig -> a -> b -> Sig2
modArg1 depth a f = \x1 x2 x3 -> f (x1 * (1 + depth * a)) x2 x3
instance ModArg1 Sig (Sig -> a -> b -> c -> Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> Sig2) = Sig -> a -> b -> c -> Sig2
modArg1 depth a f = \x1 x2 x3 x4 -> f (x1 * (1 + depth * a)) x2 x3 x4
instance ModArg1 Sig (Sig -> SE Sig) where
type ModArgOut1 Sig (Sig -> SE Sig) = Sig -> SE Sig
modArg1 depth a f = \x -> f (x * (1 + depth * a))
instance ModArg1 Sig (Sig -> a -> SE Sig) where
type ModArgOut1 Sig (Sig -> a -> SE Sig) = Sig -> a -> SE Sig
modArg1 depth a f = \x1 x2 -> f (x1 * (1 + depth * a)) x2
instance ModArg1 Sig (Sig -> a -> b -> SE Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> SE Sig) = Sig -> a -> b -> SE Sig
modArg1 depth a f = \x1 x2 x3 -> f (x1 * (1 + depth * a)) x2 x3
instance ModArg1 Sig (Sig -> a -> b -> c -> SE Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> SE Sig) = Sig -> a -> b -> c -> SE Sig
modArg1 depth a f = \x1 x2 x3 x4 -> f (x1 * (1 + depth * a)) x2 x3 x4
instance ModArg1 Sig (Sig -> SE Sig2) where
type ModArgOut1 Sig (Sig -> SE Sig2) = Sig -> SE Sig2
modArg1 depth a f = \x -> f (x * (1 + depth * a))
instance ModArg1 Sig (Sig -> a -> SE Sig2) where
type ModArgOut1 Sig (Sig -> a -> SE Sig2) = Sig -> a -> SE Sig2
modArg1 depth a f = \x1 x2 -> f (x1 * (1 + depth * a)) x2
instance ModArg1 Sig (Sig -> a -> b -> SE Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> SE Sig2) = Sig -> a -> b -> SE Sig2
modArg1 depth a f = \x1 x2 x3 -> f (x1 * (1 + depth * a)) x2 x3
instance ModArg1 Sig (Sig -> a -> b -> c -> SE Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> SE Sig2) = Sig -> a -> b -> c -> SE Sig2
modArg1 depth a f = \x1 x2 x3 x4 -> f (x1 * (1 + depth * a)) x2 x3 x4
instance ModArg1 (SE Sig) (Sig -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> Sig) = Sig -> SE Sig
modArg1 depth ma f = \x -> fmap (\a -> f (x * (1 + depth * a))) ma
instance ModArg1 (SE Sig) (Sig -> a -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> Sig) = Sig -> a -> SE Sig
modArg1 depth ma f = \x1 x2 -> fmap (\a -> f (x1 * (1 + depth * a)) x2) ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> Sig) = Sig -> a -> b -> SE Sig
modArg1 depth ma f = \x1 x2 x3 -> fmap (\a -> f (x1 * (1 + depth * a)) x2 x3) ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> Sig) = Sig -> a -> b -> c -> SE Sig
modArg1 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f (x1 * (1 + depth * a)) x2 x3 x4) ma
instance ModArg1 (SE Sig) (Sig -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> Sig2) = Sig -> SE Sig2
modArg1 depth ma f = \x -> fmap (\a -> f (x * (1 + depth * a))) ma
instance ModArg1 (SE Sig) (Sig -> a -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> Sig2) = Sig -> a -> SE Sig2
modArg1 depth ma f = \x1 x2 -> fmap (\a -> f (x1 * (1 + depth * a)) x2) ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> Sig2) = Sig -> a -> b -> SE Sig2
modArg1 depth ma f = \x1 x2 x3 -> fmap (\a -> f (x1 * (1 + depth * a)) x2 x3) ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> Sig2) = Sig -> a -> b -> c -> SE Sig2
modArg1 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f (x1 * (1 + depth * a)) x2 x3 x4) ma
instance ModArg1 (SE Sig) (Sig -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> SE Sig) = Sig -> SE Sig
modArg1 depth ma f = \x -> ma >>= (\a -> f (x * (1 + depth * a)))
instance ModArg1 (SE Sig) (Sig -> a -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> SE Sig) = Sig -> a -> SE Sig
modArg1 depth ma f = \x1 x2 -> ma >>= (\a -> f (x1 * (1 + depth * a)) x2)
instance ModArg1 (SE Sig) (Sig -> a -> b -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> SE Sig) = Sig -> a -> b -> SE Sig
modArg1 depth ma f = \x1 x2 x3 -> ma >>= (\a -> f (x1 * (1 + depth * a)) x2 x3)
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> SE Sig) = Sig -> a -> b -> c -> SE Sig
modArg1 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f (x1 * (1 + depth * a)) x2 x3 x4)
instance ModArg1 (SE Sig) (Sig -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> SE Sig2) = Sig -> SE Sig2
modArg1 depth ma f = \x -> ma >>= (\a -> f (x * (1 + depth * a)))
instance ModArg1 (SE Sig) (Sig -> a -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> SE Sig2) = Sig -> a -> SE Sig2
modArg1 depth ma f = \x1 x2 -> ma >>= (\a -> f (x1 * (1 + depth * a)) x2)
instance ModArg1 (SE Sig) (Sig -> a -> b -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> SE Sig2) = Sig -> a -> b -> SE Sig2
modArg1 depth ma f = \x1 x2 x3 -> ma >>= (\a -> f (x1 * (1 + depth * a)) x2 x3)
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> SE Sig2) = Sig -> a -> b -> c -> SE Sig2
modArg1 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f (x1 * (1 + depth * a)) x2 x3 x4)
class ModArg2 a b where
type ModArgOut2 a b :: *
modArg2 :: Sig -> a -> b -> ModArgOut2 a b
instance ModArg2 Sig (a -> Sig -> Sig) where
type ModArgOut2 Sig (a -> Sig -> Sig) = a -> Sig -> Sig
modArg2 depth a f = \x1 x2 -> f x1 (x2 * (1 + depth * a))
instance ModArg2 Sig (a -> Sig -> b -> Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> Sig) = a -> Sig -> b -> Sig
modArg2 depth a f = \x1 x2 x3 -> f x1 (x2 * (1 + depth * a)) x3
instance ModArg2 Sig (a -> Sig -> b -> c -> Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> Sig) = a -> Sig -> b -> c -> Sig
modArg2 depth a f = \x1 x2 x3 x4 -> f x1 (x2 * (1 + depth * a)) x3 x4
instance ModArg2 Sig (a -> Sig -> Sig2) where
type ModArgOut2 Sig (a -> Sig -> Sig2) = a -> Sig -> Sig2
modArg2 depth a f = \x1 x2 -> f x1 (x2 * (1 + depth * a))
instance ModArg2 Sig (a -> Sig -> b -> Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> Sig2) = a -> Sig -> b -> Sig2
modArg2 depth a f = \x1 x2 x3 -> f x1 (x2 * (1 + depth * a)) x3
instance ModArg2 Sig (a -> Sig -> b -> c -> Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> Sig2) = a -> Sig -> b -> c -> Sig2
modArg2 depth a f = \x1 x2 x3 x4 -> f x1 (x2 * (1 + depth * a)) x3 x4
instance ModArg2 Sig (a -> Sig -> SE Sig) where
type ModArgOut2 Sig (a -> Sig -> SE Sig) = a -> Sig -> SE Sig
modArg2 depth a f = \x1 x2 -> f x1 (x2 * (1 + depth * a))
instance ModArg2 Sig (a -> Sig -> b -> SE Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> SE Sig) = a -> Sig -> b -> SE Sig
modArg2 depth a f = \x1 x2 x3 -> f x1 (x2 * (1 + depth * a)) x3
instance ModArg2 Sig (a -> Sig -> b -> c -> SE Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> SE Sig) = a -> Sig -> b -> c -> SE Sig
modArg2 depth a f = \x1 x2 x3 x4 -> f x1 (x2 * (1 + depth * a)) x3 x4
instance ModArg2 Sig (a -> Sig -> SE Sig2) where
type ModArgOut2 Sig (a -> Sig -> SE Sig2) = a -> Sig -> SE Sig2
modArg2 depth a f = \x1 x2 -> f x1 (x2 * (1 + depth * a))
instance ModArg2 Sig (a -> Sig -> b -> SE Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> SE Sig2) = a -> Sig -> b -> SE Sig2
modArg2 depth a f = \x1 x2 x3 -> f x1 (x2 * (1 + depth * a)) x3
instance ModArg2 Sig (a -> Sig -> b -> c -> SE Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> SE Sig2) = a -> Sig -> b -> c -> SE Sig2
modArg2 depth a f = \x1 x2 x3 x4 -> f x1 (x2 * (1 + depth * a)) x3 x4
instance ModArg2 (SE Sig) (a -> Sig -> Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> Sig) = a -> Sig -> SE Sig
modArg2 depth ma f = \x1 x2 -> fmap (\a -> f x1 (x2 * (1 + depth * a))) ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> Sig) = a -> Sig -> b -> SE Sig
modArg2 depth ma f = \x1 x2 x3 -> fmap (\a -> f x1 (x2 * (1 + depth * a)) x3) ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> Sig) = a -> Sig -> b -> c -> SE Sig
modArg2 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f x1 (x2 * (1 + depth * a)) x3 x4) ma
instance ModArg2 (SE Sig) (a -> Sig -> Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> Sig2) = a -> Sig -> SE Sig2
modArg2 depth ma f = \x1 x2 -> fmap (\a -> f x1 (x2 * (1 + depth * a))) ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> Sig2) = a -> Sig -> b -> SE Sig2
modArg2 depth ma f = \x1 x2 x3 -> fmap (\a -> f x1 (x2 * (1 + depth * a)) x3) ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> Sig2) = a -> Sig -> b -> c -> SE Sig2
modArg2 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f x1 (x2 * (1 + depth * a)) x3 x4) ma
instance ModArg2 (SE Sig) (a -> Sig -> SE Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> SE Sig) = a -> Sig -> SE Sig
modArg2 depth ma f = \x1 x2 -> ma >>= (\a -> f x1 (x2 * (1 + depth * a)))
instance ModArg2 (SE Sig) (a -> Sig -> b -> SE Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> SE Sig) = a -> Sig -> b -> SE Sig
modArg2 depth ma f = \x1 x2 x3 -> ma >>= (\a -> f x1 (x2 * (1 + depth * a)) x3)
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> SE Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> SE Sig) = a -> Sig -> b -> c -> SE Sig
modArg2 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f x1 (x2 * (1 + depth * a)) x3 x4)
instance ModArg2 (SE Sig) (a -> Sig -> SE Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> SE Sig2) = a -> Sig -> SE Sig2
modArg2 depth ma f = \x1 x2 -> ma >>= (\a -> f x1 (x2 * (1 + depth * a)))
instance ModArg2 (SE Sig) (a -> Sig -> b -> SE Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> SE Sig2) = a -> Sig -> b -> SE Sig2
modArg2 depth ma f = \x1 x2 x3 -> ma >>= (\a -> f x1 (x2 * (1 + depth * a)) x3)
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> SE Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> SE Sig2) = a -> Sig -> b -> c -> SE Sig2
modArg2 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f x1 (x2 * (1 + depth * a)) x3 x4)
class ModArg3 a b where
type ModArgOut3 a b :: *
modArg3 :: Sig -> a -> b -> ModArgOut3 a b
instance ModArg3 Sig (a -> b -> Sig -> Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> Sig) = a -> b -> Sig -> Sig
modArg3 depth a f = \x1 x2 x3 -> f x1 x2 (x3 * (1 + depth * a))
instance ModArg3 Sig (a -> b -> Sig -> c -> Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> Sig) = a -> b -> Sig -> c -> Sig
modArg3 depth a f = \x1 x2 x3 x4 -> f x1 x2 (x3 * (1 + depth * a)) x4
instance ModArg3 Sig (a -> b -> Sig -> Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> Sig2) = a -> b -> Sig -> Sig2
modArg3 depth a f = \x1 x2 x3 -> f x1 x2 (x3 * (1 + depth * a))
instance ModArg3 Sig (a -> b -> Sig -> c -> Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> Sig2) = a -> b -> Sig -> c -> Sig2
modArg3 depth a f = \x1 x2 x3 x4 -> f x1 x2 (x3 * (1 + depth * a)) x4
instance ModArg3 Sig (a -> b -> Sig -> SE Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> SE Sig) = a -> b -> Sig -> SE Sig
modArg3 depth a f = \x1 x2 x3 -> f x1 x2 (x3 * (1 + depth * a))
instance ModArg3 Sig (a -> b -> Sig -> c -> SE Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> SE Sig) = a -> b -> Sig -> c -> SE Sig
modArg3 depth a f = \x1 x2 x3 x4 -> f x1 x2 (x3 * (1 + depth * a)) x4
instance ModArg3 Sig (a -> b -> Sig -> SE Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> SE Sig2) = a -> b -> Sig -> SE Sig2
modArg3 depth a f = \x1 x2 x3 -> f x1 x2 (x3 * (1 + depth * a))
instance ModArg3 Sig (a -> b -> Sig -> c -> SE Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> SE Sig2) = a -> b -> Sig -> c -> SE Sig2
modArg3 depth a f = \x1 x2 x3 x4 -> f x1 x2 (x3 * (1 + depth * a)) x4
instance ModArg3 (SE Sig) (a -> b -> Sig -> Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> Sig) = a -> b -> Sig -> SE Sig
modArg3 depth ma f = \x1 x2 x3 -> fmap (\a -> f x1 x2 (x3 * (1 + depth * a))) ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> Sig) = a -> b -> Sig -> c -> SE Sig
modArg3 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f x1 x2 (x3 * (1 + depth * a)) x4) ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> Sig2) = a -> b -> Sig -> SE Sig2
modArg3 depth ma f = \x1 x2 x3 -> fmap (\a -> f x1 x2 (x3 * (1 + depth * a))) ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> Sig2) = a -> b -> Sig -> c -> SE Sig2
modArg3 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f x1 x2 (x3 * (1 + depth * a)) x4) ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> SE Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> SE Sig) = a -> b -> Sig -> SE Sig
modArg3 depth ma f = \x1 x2 x3 -> ma >>= (\a -> f x1 x2 (x3 * (1 + depth * a)))
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> SE Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> SE Sig) = a -> b -> Sig -> c -> SE Sig
modArg3 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f x1 x2 (x3 * (1 + depth * a)) x4)
instance ModArg3 (SE Sig) (a -> b -> Sig -> SE Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> SE Sig2) = a -> b -> Sig -> SE Sig2
modArg3 depth ma f = \x1 x2 x3 -> ma >>= (\a -> f x1 x2 (x3 * (1 + depth * a)))
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> SE Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> SE Sig2) = a -> b -> Sig -> c -> SE Sig2
modArg3 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f x1 x2 (x3 * (1 + depth * a)) x4)
class ModArg4 a b where
type ModArgOut4 a b :: *
modArg4 :: Sig -> a -> b -> ModArgOut4 a b
instance ModArg4 Sig (a -> b -> c -> Sig -> Sig) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> Sig) = a -> b -> c -> Sig -> Sig
modArg4 depth a f = \x1 x2 x3 x4 -> f x1 x2 x3 (x4 * (1 + depth * a))
instance ModArg4 Sig (a -> b -> c -> Sig -> Sig2) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> Sig2) = a -> b -> c -> Sig -> Sig2
modArg4 depth a f = \x1 x2 x3 x4 -> f x1 x2 x3 (x4 * (1 + depth * a))
instance ModArg4 Sig (a -> b -> c -> Sig -> SE Sig) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> SE Sig) = a -> b -> c -> Sig -> SE Sig
modArg4 depth a f = \x1 x2 x3 x4 -> f x1 x2 x3 (x4 * (1 + depth * a))
instance ModArg4 Sig (a -> b -> c -> Sig -> SE Sig2) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> SE Sig2) = a -> b -> c -> Sig -> SE Sig2
modArg4 depth a f = \x1 x2 x3 x4 -> f x1 x2 x3 (x4 * (1 + depth * a))
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> Sig) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> Sig) = a -> b -> c -> Sig -> SE Sig
modArg4 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f x1 x2 x3 (x4 * (1 + depth * a))) ma
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> Sig2) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> Sig2) = a -> b -> c -> Sig -> SE Sig2
modArg4 depth ma f = \x1 x2 x3 x4 -> fmap (\a -> f x1 x2 x3 (x4 * (1 + depth * a))) ma
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> SE Sig) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> SE Sig) = a -> b -> c -> Sig -> SE Sig
modArg4 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f x1 x2 x3 (x4 * (1 + depth * a)))
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> SE Sig2) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> SE Sig2) = a -> b -> c -> Sig -> SE Sig2
modArg4 depth ma f = \x1 x2 x3 x4 -> ma >>= (\a -> f x1 x2 x3 (x4 * (1 + depth * a)))