(loop for word = (read input nil) while word collect word)
which even the strictest LOOP-hater would have to agree
is clearer.
Another way:
(use srfi-42) ; list-ec
(list-ec (:port word input) word)
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (3 / 13) |
| Uptime: | 143:02:11 |
| Calls: | 12,089 |
| Calls today: | 2 |
| Files: | 14,998 |
| Messages: | 6,517,457 |