[hh, SC meeting 20-Jan-2018]
As Ron already mentioned, the routines don’t exist directly in Scala. Therefore a co-routine is really a tricky structure. Basically the concept in Scala is that if you can do it in the library, do it in the library, not in the language. If you want to have a co-routine, that is a sort of function that you can suspend, it returns something and then is able to pickup the work at a later point, that is actually quite difficult to implement as a library. So I decided to skip that part of the patterns system that is based on routines altogether.
I eliminated all the indeterministic behavior by putting the seeds value of the number generators all to the same value. And this proved that there are some implied things: for example, when you have an unordered set of numbers, you could say that conceptually they are the same, even if the numbers have different orderings, because the idea of a set is that there is no order. But then you need to iterate the set, so it would either put 1,2,3,4 or 1,4,2,3, depending on how the set structure is implemented, if it is a hash set, how the hash is calculated, and so forth. So in order to compare the two, you have first of all to make them completely deterministic.