From 32e75c5a00e3299198fda4601bc2f3551bf66106 Mon Sep 17 00:00:00 2001 From: Katharina Fey Date: Thu, 20 Aug 2020 15:29:56 +0200 Subject: Adding rif crate --- rif/Cargo.toml | 5 +++++ rif/src/lib.rs | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 rif/Cargo.toml create mode 100644 rif/src/lib.rs (limited to 'rif') 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 "] +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"); +//! +//! ``` + -- cgit v1.2.3