Skip to main content

Crate rill_lang

Crate rill_lang 

Source
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 RillProgram for scalar type T.
compile_with
Compile with a built-in registry and a sample rate.