place | a place containing list |
POP macro modifies variable or generally place. It replaces the cons cell value with its cdr. Effectively it removes first element of the list found at the place. Result is the first element of the original list. See also PUSH, PUSH-NEW and ACONS.
(let ((x '(1 2 3))) (pop x)) => 1 (let ((x '(1 2 3))) (pop x) x) => (2 3) (let ((x '((a b c) (3 2 1) (e f g)))) (pop (second x)) x) => ((A B C) (2 1) (E F G)) (let ((x '())) (pop x) x) => NIL