Expand description
§rill-lang
A Faust-style functional streaming DSL that compiles to a
[rill_core::Algorithm]. See the crate guide for language details.
Re-exports§
pub use error::CompileError;pub use error::Span;pub use program::RillProgram;pub use serde_def::compile_def;pub use serde_def::RillLangDef;pub use builtin::BuiltinKind;pub use builtin::BuiltinSig;pub use builtin::Registry;pub use builtin::SampleBuiltin;
Modules§
- ast
- Abstract syntax tree produced by the parser.
- backend
- Compilation backends: turn IR into a runnable
RillProgram. - builtin
- Foreign-function registry: DSP/model built-ins callable from rill-lang.
- error
- Source spans and the unified compile error type.
- ir
- Flat, register-machine intermediate representation.
- lexer
- Hand-written tokeniser. Produces
Tokens carrying source spans. - lower
- Lower a type-checked program to linear IR.
- parser
- Recursive-descent + Pratt (operator-precedence) parser.
- prelude
- Convenience re-exports.
- program
RillProgram<T>— a compiled rill-lang program that implements [rill_core::Algorithm]. Owns its IR, schedule, and pre-allocated state;process()performs no heap allocation after warm-up.- schedule
- Compile-time partitioning of the linear IR into a hybrid execution schedule.
- serde_
def - Serializable program definition. The source string is the canonical form.
- types
- HM type system: scalar unification + arity synthesis.
Functions§
- compile
- Compile rill-lang source into a runnable
RillProgramfor scalar typeT. - compile_
with - Compile with a built-in registry and a sample rate.