Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ミュータブルなデータ

💡 お知らせ: このドキュメントは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 標準ライブラリは MutListMutDequeMutSetMutMap といったコレクションを提供しています。原則として、こうした高水準なデータ構造は、 低水準な参照や配列よりも優先して使うべきです。

本章は、まず regions についての説明から始めます。