And if you go back to McCartney's original paper (http://www.audiosynth.com/icmc96paper.html), you can see that functional ideas have been in there from the beginning:
"The idea behind SuperCollider was to provide audio synthesis in a high level language with dynamic typing, lists, garbage collection and closures. Normally a language of this type is too slow to do signal processing. By creating a signal data type which represents a buffer of samples over a short time frame, and defining operators for that data type, it is possible to amortize the cost of the interpreter over many samples."