Skip to content

Instantly share code, notes, and snippets.

@lispm
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lispm/52d49e61cea60b287074 to your computer and use it in GitHub Desktop.
Save lispm/52d49e61cea60b287074 to your computer and use it in GitHub Desktop.
cross product for two lists
(defun cp (l1 l2)
(mapcan (lambda (e2)
(mapcar (lambda (e1) (list e1 e2)) l1))
l2))
(defun cp (l1 l2)
(iter:iter outer (iter:for i iter:in l1)
(iter:iter (iter:for j iter:in l2)
(iter:in outer (iter:collect (list i j))))))
(defun cp (l1 l2)
(iter outer (for i in l1)
(iter (for j in l2)
(in outer (collect (list i j))))))
(defun cp (l1 l2)
(loop for e1 in l1
nconc (loop for e2 in l2 collect (list e1 e2))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment