Lispの方言に関係なく、Lisp関数を含むすべてのソースコードファイル自体はリストではないようです(これに初めて「驚いた」のは、Emacsの.elファイルで作業していたときでした)。
いくつか質問がありますが、それらはすべて同じ「問題」に関連しており、おそらくいくつかのことを誤解しているだけです.
さまざまな Lisp 方言のソース コード ファイルが、次のような「まとまりのない」関数の集まりのように見える理由はありますか?
(function1 ...)
(function2 ...)
(function3 ...)
関数の「Lisp リスト」の代わりに、おそらく次のようになります。
(
'(function1 ...)
'(function2 ...)
'(function3 ...)
)
この「コードはデータであり、データはコードである」ということ全体に少し驚いています。ソース コード ファイル自体がきちんとしたリストではないことがわかります...それとも!?
ソースコードファイルは「操作」するものですか?
たとえば、 .clj (Clojure) ソース ファイルの 1 つを CSS+HTML Web ページに変換したい場合、ソース コード ファイル自体が明らかにリストではないことが「問題」ではないでしょうか?
私は Lisp から始めているので、私の質問が理にかなっているかどうかわかりません。説明があれば歓迎します。