BinaryOpFunction represent a binary oparation on a function


superclass: AbstractFunction


Operating on functions instead of numbers, what results is not a result of the calculation, but a structure that represents that calculation.


// example

a = 5 + 7; // result is 12.

a = { b } + 7; // result is  a BinaryOpFunction

b = 5;

a.value; // now it is evaluated, and the result is calculated

b = 8;

a.value; // again, with a different value.


see also: UnaryOpFunction, NAryOpFunction

related: BinaryOpStream, Pbinop



// sound example

(

var a = { 19.rand };

var b = { [5, 8, 9].choose };

var c = a + b;

fork {

15.do {

(instrument: \default, note: [c.value, a.value]).play;

0.3.wait;

}

}

)