Streams
Streams are (in essence) infinite lists
Streams are a good model for I/O (and other things)
- Unix pipes are basically streams
But it’s hard to have an infinite list in an eager-evaluation language
- Think about appending an element to a list
- First you evaluate the element and the list, and then you append … whoops!