hmc-cs-jbearer / CSoundPlusPlus

A high-level domain-specific language for digital sound generation.
0 stars 0 forks source link

Enable overloading by signal-arity in the type system. #2

Open hmc-cs-jbearer opened 7 years ago

hmc-cs-jbearer commented 7 years ago

For example, we want a compress opcode which has 1 input and 1 output, and we want one which has 2 inputs and 1 output (for sidechain compression). CSound will let us do this, but the CSound++ type system as implemented will not let us map compress to "component of 1 or 2 inputs and 1 output`. We should enable this at least for built-ins (perhaps not for user-defined opcodes except where it is inherited from built-ins).

hmc-cs-jbearer commented 7 years ago

In the typechecker: