(loop :for n :from 1
:for form = (read s nil s)
:until (eq form s)
:collect (make-instance 'foo :src form)
:until (and count (<= count n)))
Or if you like loops that look more like lisp than loop:
(iter (for form in-stream s)
(for n upfrom 0)
(until (and count (<= count n)))
(collect (make-instance 'foo :src form))))
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 16:17:35 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
3 files (2,681K bytes) |
| Messages: | 184,405 |
| Posted today: | 1 |