aboutsummaryrefslogtreecommitdiff
path: root/rif/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rif/src/lib.rs')
-rw-r--r--rif/src/lib.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/rif/src/lib.rs b/rif/src/lib.rs
new file mode 100644
index 0000000..af6f75d
--- /dev/null
+++ b/rif/src/lib.rs
@@ -0,0 +1,22 @@
+//! # Recipe Instruction Format
+//!
+//! A structured format for expression recipes, and work steps with
+//! variable actor counts. Ingredients and work steps are typed via
+//! an internally provided schema. The backing file-format for
+//! serialisation is `g3f`.
+//!
+//! Each recipe is separated into threads, with a set of inputs, work
+//! steps and an output. A thread is a set of work steps that can be
+//! executed by a single actor, consecutively. Ingredients can be
+//! added at every step, and can be outputs of previous threads. This
+//! creates a graph, coloured by the set of possible concurrent actors
+//! that can execute the recipe.
+//!
+//! ## Example
+//!
+//! ```rust
+//! let mut r = Recipe::new();
+//! let mut t = r.add_thread().name("a");
+//!
+//! ```
+