Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun p-match (p v)
- (cond
- ((eql p '_) nil)
- ((null p) nil)
- ((atom p) (cons p v))
- ((consp p)
- (let ((first (p-match (car p) (car v)))
- (rest (p-match (cdr p) (cdr v))))
- (unless (listp (cdr p))
- (setf rest (list rest)))
- (if first
- (cons first rest)
- rest)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement