;; Smartass solution, using Common Lisp reduce:
(defun group (list)
(reduce (lambda (item result)
(cond
((endp result) (list (list item)))
((eql (first (first result)) item) (cons (cons item (first result))
(rest result)))
(t (cons (list item) result))))
list
:from-end t
:initial-value '()))
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 301 |
Nodes: | 16 (2 / 14) |
Uptime: | 218:18:55 |
Calls: | 6,745 |
Calls today: | 5 |
Files: | 12,272 |
Messages: | 5,369,506 |