sim_lib_stream_prelude/lib.rs
1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! Lisp-facing STREAM 6 prelude for memory streams.
4//!
5//! This is the umbrella crate that composes the streaming fabric (core, audio,
6//! and combinators) into a single host-registered library. It installs
7//! capability-gated public functions for opening deterministic memory MIDI and
8//! PCM sources/sinks, running source-to-sink pipelines, applying combinator
9//! stages, and browsing stream handles as Cards.
10//!
11//! Use [`install_stream_prelude_lib`] to install the prelude (and its
12//! stream-core prerequisites) into a runtime; [`StreamPreludeLib`] is the
13//! underlying [`sim_kernel::Lib`] for callers that manage loading directly. The
14//! `stream_*_symbol` and `stream_*_capability` helpers name the functions,
15//! values, and capabilities the library exports, and [`StreamHandle`] is the
16//! live handle threaded through every stream operation.
17
18mod cap;
19mod card;
20mod function;
21mod handle;
22mod live;
23mod live_control;
24mod spec;
25
26pub use cap::{
27 stream_control_capability, stream_open_capability, stream_read_capability,
28 stream_transform_capability, stream_write_capability,
29};
30pub use function::{
31 StreamPreludeLib, install_stream_prelude_lib, stream_card_symbol, stream_memory_specs_symbol,
32 stream_open_symbol, stream_pipe_symbol, stream_sink_packets_symbol, stream_write_symbol,
33};
34pub use handle::{RunReport, StageHandle, StreamHandle};
35
36#[cfg(test)]
37mod tests;