Repolode
janestreet

janestreet/incremental

一个 OCaml 库,用于构建输入变化时能高效增量更新的计算。

Star
1,539
Fork
76
未关闭 Issue
0
最近提交
4天前

这是什么?

Incremental 是一个 OCaml 库,用于把复杂计算组织成由输入和派生值构成的依赖图。输入变化时,只有受影响的部分会被重新计算,而不是整体重算。其设计基于 Umut Acar 等人关于自适应计算(self-adjusting computation)的研究,由 Jane Street 开发维护。

典型用途包括类似电子表格的计算图:用一些值定义另一些值,库负责让派生结果与源数据保持同步。它也适合 GUI 视图中高效整合新数据,以及需要与源数据保持一致的派生数据,例如过滤或求逆映射。

该库使用 OCaml 编写,API 文档位于仓库中的 incremental_intf.ml 接口文件。

核心功能

  • 01构建依赖图,输入变化时只重新计算受影响的部分。
  • 02自动保持派生值与源数据一致。
  • 03使用 OCaml 编写,API 文档见接口文件。

适用场景

  • 构建类似电子表格、能随数据变化高效响应的计算。
  • 在 GUI 应用中增量整合新数据来构建视图。
  • 让过滤、求逆等派生数据与源数据保持同步。

快速上手

  1. 1

    通过 opam 安装该库

    opam install incremental
  2. 2

    阅读 incremental_intf.ml 中的详细文档以在 OCaml 项目中使用该库

使用前须知

  • 需要具备 OCaml 知识才能使用。

标签

#ocaml#incremental-computation#self-adjusting-computation#functional-programming#reactive

常见问题

incremental 是什么?
一个 OCaml 库,用于构建输入变化时能高效增量更新的计算。 Incremental 是一个 OCaml 库,用于把复杂计算组织成由输入和派生值构成的依赖图。输入变化时,只有受影响的部分会被重新计算,而不是整体重算。其设计基于 Umut Acar 等人关于自适应计算(self-adjusting computation)的研究,由 Jane Street 开发维护。
incremental 可以免费使用吗?用的什么许可证?
incremental 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
incremental 还在维护吗?
活跃维护中。incremental 最近一次提交是在 2026年11月3日。
incremental 适合用来做什么?
构建类似电子表格、能随数据变化高效响应的计算。 在 GUI 应用中增量整合新数据来构建视图。 让过滤、求逆等派生数据与源数据保持同步。
incremental 怎么安装和运行?
通过 opam 安装该库: opam install incremental 阅读 incremental_intf.ml 中的详细文档以在 OCaml 项目中使用该库
在哪里获取 incremental?
源代码和安装说明在 GitHub 上:https://github.com/janestreet/incremental

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目