I suspect what confused you here is the assumption that scanners work like input streams: once you execute (readc stream), the stream state changes. However, scanners are functional and are equivalent to monads in this case; if you keep the old version of the scanner, it's still the old state of the scanner that you'll use.
Since Arc is a language targeted for the web... have you considered the possibility of generating a web page for it, with maybe next >> and << prev links?
That might actually work, and just autorefresh the page every second or so :)
First priorities now are finishing the wandering algorithm for the animals so that they're no longer steered but steer themselves, and generalize the code I've some more so that adding more behaviours than just biting things is easy. I'll add the visuals-through webpage idea to that list :)
> That being said it sucks that the arc community uses Anarki while pg doesn't. Or at least he doesn't contribute regularly. I think there is plenty of room for a more cohesive community.