set!

既に束縛されている名前を、再び違うオブジェクトに束縛する手続き。
多くの手続き型言語でいう「代入」をやりたいときに使う。

gosh> (set! lambda 3.141592)
3.141592
gosh> lambda
3.141592

みたいな。
これやっちゃうと大変なことになるけどね!


で、指定したものを荷物から削除するdelete-item!はdelete-1(id:yagiey:20090307:1236410685)を使って、

(define delete-item!
  (lambda (item)
    (set! *inventory* (delete-1 item *inventory*))))

ってできるよねー、っと。