REMOVEはCommon Lispの実際の実装で同じシーケンスを返すのですか?仕様には、許可されていることが示されています。REMOVEは実際には同じシーケンスを返しますか?
削除の結果は シーケンスと共有されることがあります。要素 を削除する必要がない場合、結果は入力シーケンスと同じ となります。
SBCLはこれを行うようには見えませんが、私は粗悪な(そしておそらくは不十分な)テストしか行っていませんでした。
CL-USER> (defparameter *str* "bbb") *STR* CL-USER> *str* "bbb" CL-USER> (defparameter *str2* (remove #\a *str*)) *STR2* CL-USER> (eq *str* *str2*) NIL CL-USER> *str* "bbb" CL-USER> *str2* "bbb"