1

私はLOLのセクション 6.7 を数回読んだことがありますが、まだ次のことが頭に浮かびません。

以前は外部コードに対して閉じられていたバインディングは、それらのバインディングが効率的なものにコンパイルされ、長い間アクセサー シンボルが忘れられていたとしても、いじくり回せるように広く開かれています。

バインドされたシンボルが本質的にクロージャーの環境でポインターにコンパイルされる場合、どのようにしてシンボルを既にコンパイルされた関数に渡し、関数は何らかの方法でシンボルを比較できますか?

私はpantestclisp の例をいじっていますが、accthis内部の両方を変更できることがわかりpantestます。をコンパイルおよび逆アセンブルできますpantestが、すべてのシンボルが環境に表示されます。アセンブリにコンパイルされた Lisp があれば、もう少し直感的に理解できるかもしれませんが、コードが複雑すぎて、説明なしで理解するのはおそらく難しすぎるでしょう。

4

2 に答える 2