私は Scala を評価していますが、その不変コレクションに問題があります。
私は不変のコレクションを作りたいと思っています。これは完全に不変であり、含まれているすべてのオブジェクト、それらが参照するオブジェクトを無限に通過します。
これを行う簡単な方法はありますか?
http://www.finalcog.com/immutable-containers-scalaのコードは、私が達成しようとしていることと、厄介な回避策 (ImmutablePoint) を示しています。
この回避策の問題点は、オブジェクトを変更するたびに手動で新しいコピーを作成する必要があることです。ランタイムがコピー オン ライトを実装する必要があることは理解していますが、これを開発者に透過的にすることはできますか?
メソッドが現在のオブジェクトの状態を変更する不変オブジェクトを作成しようとしていると思いますが、オブジェクトへの他のすべての「val」(およびすべての不変コンテナー) 参照は「古い」状態を保持します。