Expand description
Authoring DSL for bytesandbrains. Output handles, Contract
traits, placeholders, and ConcreteComponent. Depends only on
bb-ir. Module::build() records the composition tree into
one ModelProto that bb-compiler consumes separately.
Re-exports§
pub use graph::Graph;pub use module::BuildError;pub use module::Module;pub use output::Output;
Modules§
- concrete
ConcreteComponentpolymorphism contract — canonical home inbb-runtime::concrete. This module re-exports the type for authoring ergonomics sobb_dsl::concrete::ConcreteComponentkeeps resolving.- contracts
- User-facing Contract traits — canonical home is
bb-runtime::contracts. This module re-exports the traits for authoring ergonomics sobb_dsl::contracts::Indexetc. keep resolving. - graph
- Recording context wrapping the in-progress
FunctionProto. The proto is the IR — semantic BB attributes ride on proto fields, not a parallel Rust shadow store. Seedocs/IR_AND_DSL.md§2. - module
- The
Moduletrait.Module::build()produces one pre-compileModelProtowherefunctions[0]is the top-level body andfunctions[1..]are composed sub-Modules (deduped byname()). - output
- Non-generic
Outputhandle threaded through DSL method chains. - recorded
RecordedModule- the compiler’s input type.- syscalls
- DSL-side syscall helpers — record canonical
NodeProtos into aGraph. The runtime-side dispatch impls live inbb-ops; the two sides agree on stable(domain, op_type)string constants re-exported frombb_ir::syscall_ids.