Lispには、コードモードとデータモードの2つのモードがあります。これらのモードは、LispのREPL(Read-Eval-Print Loop)で使われることが多く、Lispの開発環境での開発に役立ちます。
コードモード
コードモードは、Lispのコードを入力するモードです。Lispのコードは、式(Expression)と呼ばれる単位で構成されます。式は、関数呼び出しやリスト、数値、文字列、シンボルなどから構成されます。
コードモードでは、プログラムのコードを入力し、それを評価して結果を得ることができます。式を入力すると、Lispはその式を評価して、式の結果を返します。たとえば、次の式を入力すると、Lispは6という結果を返します。
(+ 2 4)
コードモードでは、入力された式をLispが評価するため、エラーがある場合はエラーが返されます。
この場合、
- +はコマンド(あるいはシンボル)
- 1 4はフォーム
という名前が付けられます。
データモード
データモードは、Lispのデータを入力するモードです。データモードでは、コードモードとは異なり、Lispの式を直接入力するのではなく、Lispのデータを直接入力します。
データモードでは、リストやシンボル、数値、文字列などのLispのデータを直接入力することができます。たとえば、次のように入力すると、Lispはリスト(1 2 3)というデータを返します。
'(1 2 3)
データモードでは、式を評価するための機能はありません。代わりに、入力されたデータは、Lispのデータとして直接返されます。これにより、コードモードとは異なり、式を評価することなく、Lispのデータを直接操作することができます。
page:https://minegishirei.hatenablog.com/entry/2023/04/17/210317