csound-expression-typed-0.0.9.2: typed core for the library csound-expression

Safe HaskellNone
LanguageHaskell2010

Csound.Typed.Types.Tuple

Contents

Synopsis

Tuple

class Tuple a where Source #

A tuple of Csound values.

Minimal complete definition

tupleMethods

Instances

Tuple TabList Source # 
Tuple Tab Source # 
Tuple Unit Source # 
Tuple Spec Source # 
Tuple Str Source # 
Tuple D Source # 
Tuple Sig Source # 
(Tuple a, Tuple b) => Tuple (a, b) Source # 
(Tuple a, Tuple b, Tuple c) => Tuple (a, b, c) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c) Source #

(Tuple a, Tuple b, Tuple c, Tuple d) => Tuple (a, b, c, d) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e) => Tuple (a, b, c, d, e) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f) => Tuple (a, b, c, d, e, f) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e, f) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f, Tuple g) => Tuple (a, b, c, d, e, f, g) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e, f, g) Source #

(Tuple a, Tuple b, Tuple c, Tuple d, Tuple e, Tuple f, Tuple g, Tuple h) => Tuple (a, b, c, d, e, f, g, h) Source # 

Methods

tupleMethods :: TupleMethods (a, b, c, d, e, f, g, h) Source #

makeTupleMethods :: Tuple a => (a -> b) -> (b -> a) -> TupleMethods b Source #

Defines instance of type class Tuple for a new type in terms of an already defined one.

fromTuple :: Tuple a => a -> GE [E] Source #

toTuple :: Tuple a => GE [E] -> a Source #

tupleArity :: Tuple a => a -> Int Source #

tupleRates :: Tuple a => a -> [Rate] Source #

mapTuple :: Tuple a => (E -> E) -> a -> a Source #

type Sig2 = (Sig, Sig) Source #

type Sig3 = (Sig, Sig, Sig) Source #

type Sig4 = (Sig, Sig, Sig, Sig) Source #

type Sig5 = (Sig, Sig, Sig, Sig, Sig) Source #

type Sig6 = (Sig, Sig, Sig, Sig, Sig, Sig) Source #

type Sig8 = (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) Source #

Outs

class (Tuple a, Num a) => Sigs a Source #

The tuples of signals.

outArity :: Tuple a => SE a -> Int Source #

Multiple outs

multiOuts :: Tuple a => E -> a Source #

ar2 :: (Sig, Sig) -> (Sig, Sig) Source #

ar4 :: (Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig) Source #

ar6 :: (Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig) Source #

ar8 :: (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) -> (Sig, Sig, Sig, Sig, Sig, Sig, Sig, Sig) Source #

Arguments

class Tuple a => Arg a Source #

Instances

Arg TabList Source # 
Arg Tab Source # 
Arg Unit Source # 
Arg Str Source # 
Arg D Source # 
(Arg a, Arg b) => Arg (a, b) Source # 
(Arg a, Arg b, Arg c) => Arg (a, b, c) Source # 
(Arg a, Arg b, Arg c, Arg d) => Arg (a, b, c, d) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e) => Arg (a, b, c, d, e) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f) => Arg (a, b, c, d, e, f) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f, Arg h) => Arg (a, b, c, d, e, f, h) Source # 
(Arg a, Arg b, Arg c, Arg d, Arg e, Arg f, Arg h, Arg g) => Arg (a, b, c, d, e, f, h, g) Source # 

arg :: Arg a => Int -> a Source #

toNote :: Arg a => a -> GE [E] Source #

argArity :: Arg a => a -> Int Source #

toArg :: Arg a => a Source #

Logic functions

ifTuple :: Tuple a => BoolSig -> a -> a -> a Source #

ifB for tuples of csound values.

guardedTuple :: Tuple b => [(BoolSig, b)] -> b -> b Source #

guardedB for tuples of csound values.

caseTuple :: Tuple b => a -> [(a -> BoolSig, b)] -> b -> b Source #

caseB for tuples of csound values.

ifArg :: (Arg a, Tuple a) => BoolD -> a -> a -> a Source #

ifB for constants.

guardedArg :: (Tuple b, Arg b) => [(BoolD, b)] -> b -> b Source #

guardedB for constants.

caseArg :: (Tuple b, Arg b) => a -> [(a -> BoolD, b)] -> b -> b Source #

caseB for constants.

Constructors

pureTuple :: Tuple a => GE (MultiOut [E]) -> a Source #

dirtyTuple :: Tuple a => GE (MultiOut [E]) -> SE a Source #

Orphan instances

Num Sig8 Source # 

Methods

(+) :: Sig8 -> Sig8 -> Sig8 #

(-) :: Sig8 -> Sig8 -> Sig8 #

(*) :: Sig8 -> Sig8 -> Sig8 #

negate :: Sig8 -> Sig8 #

abs :: Sig8 -> Sig8 #

signum :: Sig8 -> Sig8 #

fromInteger :: Integer -> Sig8 #

Num Sig6 Source # 

Methods

(+) :: Sig6 -> Sig6 -> Sig6 #

(-) :: Sig6 -> Sig6 -> Sig6 #

(*) :: Sig6 -> Sig6 -> Sig6 #

negate :: Sig6 -> Sig6 #

abs :: Sig6 -> Sig6 #

signum :: Sig6 -> Sig6 #

fromInteger :: Integer -> Sig6 #

Num Sig4 Source # 

Methods

(+) :: Sig4 -> Sig4 -> Sig4 #

(-) :: Sig4 -> Sig4 -> Sig4 #

(*) :: Sig4 -> Sig4 -> Sig4 #

negate :: Sig4 -> Sig4 #

abs :: Sig4 -> Sig4 #

signum :: Sig4 -> Sig4 #

fromInteger :: Integer -> Sig4 #

Num Sig3 Source # 

Methods

(+) :: Sig3 -> Sig3 -> Sig3 #

(-) :: Sig3 -> Sig3 -> Sig3 #

(*) :: Sig3 -> Sig3 -> Sig3 #

negate :: Sig3 -> Sig3 #

abs :: Sig3 -> Sig3 #

signum :: Sig3 -> Sig3 #

fromInteger :: Integer -> Sig3 #

Num Sig2 Source # 

Methods

(+) :: Sig2 -> Sig2 -> Sig2 #

(-) :: Sig2 -> Sig2 -> Sig2 #

(*) :: Sig2 -> Sig2 -> Sig2 #

negate :: Sig2 -> Sig2 #

abs :: Sig2 -> Sig2 #

signum :: Sig2 -> Sig2 #

fromInteger :: Integer -> Sig2 #

Num (Sig8, Sig8) Source # 

Methods

(+) :: (Sig8, Sig8) -> (Sig8, Sig8) -> (Sig8, Sig8) #

(-) :: (Sig8, Sig8) -> (Sig8, Sig8) -> (Sig8, Sig8) #

(*) :: (Sig8, Sig8) -> (Sig8, Sig8) -> (Sig8, Sig8) #

negate :: (Sig8, Sig8) -> (Sig8, Sig8) #

abs :: (Sig8, Sig8) -> (Sig8, Sig8) #

signum :: (Sig8, Sig8) -> (Sig8, Sig8) #

fromInteger :: Integer -> (Sig8, Sig8) #

Num (Sig8, Sig8, Sig8, Sig8) Source # 

Methods

(+) :: (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

(-) :: (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

(*) :: (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

negate :: (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

abs :: (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

signum :: (Sig8, Sig8, Sig8, Sig8) -> (Sig8, Sig8, Sig8, Sig8) #

fromInteger :: Integer -> (Sig8, Sig8, Sig8, Sig8) #