Hi,
> Well, I spent the morning finishing the rest of the library out. The only thing left is to make a decision about what to do with side effect pipes (tree, groupCount, groupBy, sideEffect, store, table and aggregate). I'm thinking of just saying that if you call any side effect method, an appropriate data structure will supplied and then cap will be immediately applied, executing the pipeline and returning the "side effect".
>
> @Marko is there any really good reason why Ogre shouldn't do the above?
There are times when you want to loop over a portion of your pipeline, and in doing so, keep updating a sideEffect (e.g. counting the number of traversers that have flowed through a vertex).
g.v(1).out.groupCount(m).loop(2){it.loops < 3}
However, realize that Faunus does basically what you say -- once you hit a sideEffect, it locks the pipeline and emits the cap. Sideeffects are semantically hard to deal with, though useful in many respects.
HTH,
Marko.