ミュータブルなデータ
💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。
Flix は 関数型ファースト(functional-first) なプログラミング言語であり、 immutable(イミュータブル)なデータ構造の使用を推奨しますが、必須とはしません。 immutable なデータ構造をデフォルトとすべきではありますが、Flix は mutable(ミュータブル)なデータへの破壊的更新(destructive update)を伴う 命令型プログラミングも手厚くサポートしています。
Flix は、その effect system(エフェクトシステム)を使って、純粋(pure)な コードと純粋でない(impure)コードを分離します。具体的には、Flix は region(リージョン)という概念を使って、mutable なメモリの使用を追跡します。 すなわち、すべての mutable なメモリは、静的にスコープの定まった何らかの region に属します。
Flix には、基本的な mutable メモリの型が 3 種類あります。
これらのデータ型を使って、より高水準な mutable データ構造を構築できます。
たとえば、Flix 標準ライブラリは MutList、MutDeque、MutSet、MutMap
といったコレクションを提供しています。原則として、こうした高水準なデータ構造は、
低水準な参照や配列よりも優先して使うべきです。
本章は、まず regions についての説明から始めます。