09/08/23 21:39:56
ある程度は関数型的なスタイルが推奨されてもいるみたいだけど、
一般に関数型言語と呼ばれる言語のスタイルと比較すると
破壊的更新を選択肢に含める度合は高い。
CommonLisp の持ち味は関数型ってことよりもマクロだと思うんだよね。
マクロが有用なのは DSL というか勝手なパラダイムを表現できることにあるのは同意してもらえると思う。
つまりマクロは「関数型」というパラダイムを積極的に破る機能とも言える。
言うなれば CommonLisp では関数型的スタイルがデフォルトではあっても、
いくらでも自由な表現が許されていて、しかも機能として一応可能であるというだけでなく
様々なパラダイムを許容する文化的土壌もある。
「思う」ばっかりなので実際にはそうでないところもあるかもしれないけどさ。
CL は非常にフリーダムなのに「関数型」という縛りにこだわってるのはナンセンスじゃないかな。