aboutsummaryrefslogtreecommitdiff
path: root/incria/src/lib.rs
diff options
context:
space:
mode:
authortcmal <tcmal>2023-05-24 19:13:34 +0000
committerAria <me@aria.rip>2023-10-01 17:31:29 +0100
commit2c78bb68b9ff51cfb24ce1b7e111339ab5b37746 (patch)
tree6d33270f3bbf561343d9a300bc3dcede4518f115 /incria/src/lib.rs
parentf31fcefd85cb69f0c7aa8922f3a579a86eac415d (diff)
update name and write readme
Diffstat (limited to 'incria/src/lib.rs')
-rw-r--r--incria/src/lib.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/incria/src/lib.rs b/incria/src/lib.rs
index 2f52fbb..c8c35d6 100644
--- a/incria/src/lib.rs
+++ b/incria/src/lib.rs
@@ -1,4 +1,9 @@
#![feature(async_fn_in_trait)]
+//! Incria is a library for incremental computation.
+//! It lets you record what a calculation depends on and then only re-run that calculation once one of those dependencies has changed.
+//!
+//! This is similar to the [query system used by the Rust compiler](https://rustc-dev-guide.rust-lang.org/query.html), but implemented using async.
+//! By seperating the tracking of dependencies from the calculation logic, you can write clean code that re-runs only when it needs to, and can be parallelised with little extra work.
pub mod deps;
mod mapping;