理由の 1 つは、すべてが 1 行にまとめられていることです。pretty-printingと呼ばれるものを使用して読みやすくすることができます。複数の行に分割し、空白を使用します。
(define (solve-quadratic-equation a b c)
(define disc (sqrt (- (* b b)
(* 4.0 a c))))
(/ (+ (- b) disc)
(* 2.0 a)))
このようにして、式の構造をより明確に確認できます。
そして、ここにSICPからの引用があります:
このような入れ子の深さと、Lisp インタプリタが評価できる式の全体的な複雑さに (原則として) 制限はありません。などの比較的単純な表現に戸惑うのは私たち人間です。
(+ (* 3 (+ (* 2 4) (+ 3 5))) (+ (- 10 7) 6))
通訳者はすぐに 57 であると評価するでしょう。
(+ (* 3
(+ (* 2 4)
(+ 3 5)))
(+ (- 10 7)
6))
pretty-printingとして知られるフォーマット規則に従います。この規則では、オペランドが垂直方向に整列するように各長い組み合わせが書き込まれます。結果のインデントは、式の構造を明確に示しています。