Skip to content

immut/vector 设计

职责

  • 提供值语义导向的 Vector[T],底层使用核心持久向量存储别名。
  • 在可观察操作相同的共享子集上,与 @mutable.Vector 保持代数语义对齐。
  • 不在不可变包中暴露原地修改 API。
  • 不把 dot() 这类标量归约辅助函数放进这个公开接口里。

不变量

  • setmap 和缩放操作返回新向量。
  • 索引访问遵循底层不可变向量的边界行为。
  • 矩阵转换辅助函数生成行矩阵或列矩阵,不暴露可变存储。
  • 共享的按元素操作会尽量与 @mutable.Vector 对齐,但这个包仍然只关注返回新值的变换。