私はClojureを学習中ですが、言語設計の決定を理解できません。Clojureのような不変の文字列を持つ言語で、キーワードとシンボルのデータ型も必要なのはなぜですか?文字列には、オプションの名前空間とメタデータ、およびこれらすべてのものを含めることはできませんか?不変の文字列の場合、比較はIDベースにもなり得ますね。
または、Javaとの相互運用はClojureに必須であるため、少なくともJavaString型とKeywordSymbolデータ型が必要です。
Clojureは「純度」に非常に重点を置いており、他の面では物事をシンプルに保つように見えるため、この文字列/キーワード/記号の「トリコトミー」は特に奇妙だと思います。