イミュータブルなデータ
💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。
関数型プログラミングの_要_となるのが、イミュータブル(不変)なデータ型です。
これまでにも、イミュータブルなデータ型の例をいくつか見てきました。
加えて、Flix の標準ライブラリは次のようなイミュータブルなデータ型を提供しています。
List[t]: 型tの要素からなるイミュータブルな単方向リスト。Chain[t]: 型tの要素からなり、追加(append)が高速なイミュータブルなチェーン。Vector[t]: 型tの要素からなり、要素の参照(lookup)が高速なイミュータブルなシーケンス。Set[t]: 型tの要素からなるイミュータブルな Set(セット)。Map[k, v]: 型kのキーを型vの値に対応づけるイミュータブルな Map(マップ)。
その他のイミュータブルなデータ型には、次のものがあります。
Option[t]:NoneまたはSome(t)のいずれかになる型。Result[e, t]:Ok(t)またはErr(e)のいずれかになる型。Nel[t]: 型tの要素からなる、空でないイミュータブルな単方向リスト。Nec[t]: 型tの要素からなり、追加(append)が高速な、空でないイミュータブルなシーケンス。MultiMap[k, v]: 型kのキーを型vの値の_Set_に対応づけるイミュータブルな Map。