Lispのコードモードとデータモードの違い

Lispには、コードモードとデータモードの2つのモードがあります。これらのモードは、LispのREPL(Read-Eval-Print Loop)で使われることが多く、Lispの開発環境での開発に役立ちます。

コードモード

コードモードは、Lispのコードを入力するモードです。Lispのコードは、式(Expression)と呼ばれる単位で構成されます。式は、関数呼び出しやリスト、数値、文字列、シンボルなどから構成されます。

コードモードでは、プログラムのコードを入力し、それを評価して結果を得ることができます。式を入力すると、Lispはその式を評価して、式の結果を返します。たとえば、次の式を入力すると、Lisp6という結果を返します。

(+ 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

Dear My Frends.: 個人開発宣伝ラボ - 個人開発者が間違った施策で時間を溶かさないための、心理学と実務知見のナレッジ共有コミュニティ