aboutsummaryrefslogtreecommitdiff
path: root/rif
diff options
context:
space:
mode:
Diffstat (limited to 'rif')
-rw-r--r--rif/Cargo.toml5
-rw-r--r--rif/src/lib.rs22
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");
+//!
+//! ```
+