As a bit of fun (after reading Alex Miller’s example of Clojure’s core-async library), I decided to implement Rock Paper Scissors using my groovy-stream library. It feels quite nice to end up with a Stream Iterator that plays a game each time you call next().
Anyway, on to the code