//! # 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"); //! //! ```