[rk_sc meeting - 20 Jan 2018]
Streams become a terminological tool for thinking about sequences of values, and routines have this convenient way of defining streams. In sc it’s actually a little deeper than that, which is: routines also allow you to define one stream out of other streams. In particular, I can define a stream and embed it in the stream of another routine. I have this little piece of stream, I want it to run in my stand and then I want the control back once it gets done. I could have [1,2,3,4] as my little score, but sometimes I want  to be [1,0,1,0]. And that’s what .embedInStream does for you. And here’s the thing. The class object defines embedInStream to simply yield the object and this is the profound connection between defining streams in sc and routines. Every object that isn’t a stream object can be streamed, because it knows that when it’s being streamed inside a routine it can just yield itself. The fundamental design trick is: I want most objects to have this funny double behavior. When they’re viewed as stream on their own, they’re unended. When they’re viewed as stream within a definition of another stream, they only happen once. And that is the fundamental structural trick in sc.