Hi,
Quite the same as the one I posted, but recursive form.
(defun test (l / sub1 sub2)
(defun sub1 (e l)
(if l
(cons (append e (list (car l)))
(sub1 e (cdr l))
)
)
)
(defun sub2 (l)
(if (cadr l)
(sub2
(cons (apply 'append
(mapcar '(lambda (x)
(sub1 x (cadr l))
)
(car l)
)
)
(cddr l)
)
)
(car l)
)
)
(sub2 (cons (mapcar 'list (car l)) (cdr l)))
)