なぜ quote が分からなかったか?

SICP を読みながら Scheme インタプリタを書いていた頃。quote の仕様と実装方法が分からなくて困ったことがあった。そのときなぜ分からなかったか?というのが今になって思い出したので書いておく。
理由はデータとコードとS式の関係がもやもやとして分かっていなかったから。S式は Scheme のコードである前に単なるデータである。それをコードとして評価して初めて動く。
その頃実装していたインタプリタは、S式をパースして即座に動くコードとして C++ 上に表現されていたのでデータとしての表現を持っていなかったのだ。
だから S式をデータとしてをそのまま返せと言われても、「???」となってしまっていたわけだ。