Skip to content

immut/vector 設計

責務

  • 値指向の Vector[T] を提供し、内部では中核の永続ベクトル保存を使います。
  • 可観測な操作が同じ共有部分では、@mutable.Vector と代数意味論を揃えます。
  • 不変パッケージではインプレース更新 API を公開しません。
  • dot() のようなスカラー帰着ヘルパーは、この公開パッケージに持ち込みません。

不変条件

  • setmap、スケール操作は新しいベクトルを返します。
  • インデックスアクセスは基底の不変ベクトルの境界挙動に従います。
  • 行列変換ヘルパーは行行列または列行列を生成し、可変ストレージを公開しません。
  • 共有される要素ごとの演算は @mutable.Vector と揃えつつ、このパッケージ自体は新しい値を返す変換に集中します。