Thinking in streams