1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3mod r#async;
10mod backtrack;
11mod claims;
12mod close;
13mod condition;
14mod conditional;
15mod coroutine;
16mod generator;
17mod model;
18mod nonlocal;
19mod ops;
20mod policy;
21mod prompt;
22mod protected;
23mod restart;
24mod runtime;
25
26pub use r#async::{AsyncPoll, AsyncTask};
27pub use backtrack::{BacktrackStep, Backtracker};
28pub use claims::{
29 control_op_keys, control_organ_symbol, publish_control_organ_claims,
30 publish_control_organ_claims_for_lib,
31};
32pub use close::{CloseGuard, run_with_close_guards};
33pub use condition::{Condition, ConditionHandler, ConditionStack, signal_condition};
34pub use conditional::IfForm;
35pub use coroutine::{Coroutine, CoroutineFrame, CoroutineFrameStep, CoroutineLane, CoroutineStep};
36pub use generator::{Generator, GeneratorStep};
37pub use model::{ContinuationValue, ControlResultValue};
38pub use nonlocal::{LabeledPrompt, NonLocalExit, NonLocalExitKind, escape_to_label};
39pub use ops::{
40 ControlFunction, abort_symbol, capture_symbol, physical_sensing_trace_symbol, prompt_symbol,
41 resume_symbol,
42};
43pub use policy::{
44 OneShotControlPolicy, SegmentedControlPolicy, install_control_policy, one_shot_control_policy,
45 segmented_control_policy,
46};
47pub use prompt::{ControlPrompt, ControlTag, raise_prompt};
48pub use protected::{ProtectedOutcome, protected_call};
49pub use restart::{Restart, RestartStack, invoke_restart};
50pub use runtime::{ControlLib, control_exports, install_control_lib, manifest_name};
51
52pub static RECIPES: sim_cookbook::EmbeddedDir =
54 include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
55
56#[cfg(test)]
57mod derivation_tests;
58
59#[cfg(test)]
60mod frame_tests;
61
62#[cfg(test)]
63mod tests;