Сование элемента из ассоциативного списка в шепелявости (elisp)

Я ищу способ "вытолкать" элемент из ассоциативного списка, другими словами, "разрушительный" помощник:

(setq alist '((a . 1) (b . 2))
(assoc-pop 'a alist) ;; -> (a . 1)
;; alist -> ((b . 2))

Есть ли в ремне безопасности elisp какая-либо функция? Что самый изящный путь состоит в том, чтобы получить подобную функциональность? (не уверенный в том этом виде "побочного эффекта" хорошая практика, даже если это возможно!)

5
задан pygabriel 13 August 2010 в 11:42
поделиться