#salsa #query #macro #generic #computation #framework #system

gluon-salsa-macros

为salsacrate提供过程宏

2个不稳定版本

0.15.2 2020年8月10日
0.14.1 2020年4月15日

7 in #salsa

Download history 117/week @ 2024-03-11 110/week @ 2024-03-18 74/week @ 2024-03-25 133/week @ 2024-04-01 52/week @ 2024-04-08 62/week @ 2024-04-15 101/week @ 2024-04-22 85/week @ 2024-04-29 82/week @ 2024-05-06 86/week @ 2024-05-13 95/week @ 2024-05-20 88/week @ 2024-05-27 57/week @ 2024-06-03 63/week @ 2024-06-10 49/week @ 2024-06-17 48/week @ 2024-06-24

226 每月下载量
9 个crate中使用(通过 gluon-salsa

Apache-2.0 OR MIT

53KB
1K SLoC

salsa

Test Book Released API docs Crates.io

一个用于按需、增量计算的泛型框架。

强制警告

目前仍处于开发中。可用于实验性使用,但请预期将会有频繁的破坏性变更。

致谢

本系统深受adaptonglimmer以及rustc的查询系统的影响。因此,感谢Eduard-Mihai Burtescu、Matthew Hammer、Yehuda Katz和Michael Woerister。

关键思想

salsa的关键思想是,你将你的程序定义为一组查询。每个查询都像函数K -> V一样使用,它将某种类型的键K映射到类型V的值。查询有两种基本类型

  • 输入:系统的基础输入。你可以随时更改这些输入。
  • 函数:纯函数(无副作用)将输入转换成其他值。查询的结果被缓存起来以避免多次重新计算。当你更改输入时,我们会(相当智能地)确定何时可以重用这些缓存值,何时需要重新计算它们。

想了解更多吗?

要了解更多关于Salsa的信息,请尝试以下方法

联系方式

大部分讨论发生在问题拉取请求中,但我们还有一个zulip聊天室

依赖项

~2MB
~43K SLoC