>>336
CLISPのコード(src/package.d)を見たところ、cl:internとcs-cl:internの違いは、
引数のシンボル名をinvertするかどうかだけの違いのようです。
なので、case-insensitiveなパッケージではそういう動作になります。
readerとかprinterとか色々いじって、擬似的にcase-sensitiveに見せてるわけです。

ぶっちゃけ、cs-cl:symbol-nameを使えばいいのではないでしょうか。
こちらはinvertされたシンボル名を返します。

(defmacro alambda (params &body body)
(let ((self-symbol (intern (symbol-name 'self))))
`(labels ((,self-symbol ,params ,@body)) #',self-symbol)))

みたいにして。

なお、case-sensitive packageの存在意義が理解出来ないので、意欲に欠けます。
CLISPも常用してませんし、割と適当なこと言ってるかもしれませんが許してください。