2个不稳定版本
0.15.2 | 2020年8月10日 |
---|---|
0.14.1 | 2020年4月15日 |
7 in #salsa
226 每月下载量
在 9 个crate中使用(通过 gluon-salsa)
53KB
1K SLoC
salsa
一个用于按需、增量计算的泛型框架。
强制警告
目前仍处于开发中。可用于实验性使用,但请预期将会有频繁的破坏性变更。
致谢
本系统深受adapton、glimmer以及rustc的查询系统的影响。因此,感谢Eduard-Mihai Burtescu、Matthew Hammer、Yehuda Katz和Michael Woerister。
关键思想
salsa
的关键思想是,你将你的程序定义为一组查询
。每个查询都像函数K -> V
一样使用,它将某种类型的键K
映射到类型V
的值。查询有两种基本类型
- 输入:系统的基础输入。你可以随时更改这些输入。
- 函数:纯函数(无副作用)将输入转换成其他值。查询的结果被缓存起来以避免多次重新计算。当你更改输入时,我们会(相当智能地)确定何时可以重用这些缓存值,何时需要重新计算它们。
想了解更多吗?
要了解更多关于Salsa的信息,请尝试以下方法
- 阅读高度注释的
hello_world
示例; - 查看Salsa书籍;
- 观看我们的视频之一。
联系方式
依赖项
~2MB
~43K SLoC