I keep finding new ways of using Scheme SRFI-1's unfold procedure. Here is my most recent discovery of unfold's elegance:
(unfold (lambda (x) (eof-object? x))
(lambda (x) x)
(lambda (x) (read))
(read))
Can anyone tell me what it does?