diff options
Diffstat (limited to 'rif')
-rw-r--r-- | rif/Cargo.toml | 5 | ||||
-rw-r--r-- | rif/src/lib.rs | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/rif/Cargo.toml b/rif/Cargo.toml new file mode 100644 index 0000000..448ce3b --- /dev/null +++ b/rif/Cargo.toml @@ -0,0 +1,5 @@ +[package] +name = "rif" +version = "0.1.0" +authors = ["Kaiden Fey <kookie@spacekookie.de>"] +edition = "2018" 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"); +//! +//! ``` + |