Lispの初心者である私は、Lisp構文を「修正」できるかどうか疑問に思っていますか?
一部の人々は、Lispの構文がその最大の強みの1つであると言います。私はこれをよく理解していません。
「明白な」括弧を空白、新しい線、インデントの組み合わせに置き換えることはできませんか?Pythonのように?
Lispコードで最もよく使われる文字は括弧のように見えます。それが本当かどうか疑問に思っていますが、本当なら、これは構文に冗長性があるという提案ではありませんか?
質問に対する簡単な答えはありますか?なぜこれほど多くの括弧がありますか?
例えば:
(defun factorial (x)
(if (= x 0)
1
(* x
(factorial (- x 1)))))
なぜだめですか:
defun factorial (x)
if (= x 0)
1
* x
factorial
- x 1
たとえば、行末の括弧を閉じ、常に新しい行で開きます。1だけがあいまいになります-それは1または(1)です-しかし、例外を導入することができます-単一のトークンは「リスト化」されません。
これはうまくいくでしょうか?
編集: