Skip to main content

Crate jay

Crate jay 

Source
Expand description

libjay core: compiles J/APL expressions to a shared IR and executes them.

The public surface is deliberately PCRE-shaped: compile turns a string into a reusable Program; running it with data is a separate step owned by the caller.

Re-exports§

pub use array::Array;
pub use array::Buf;
pub use array::Data;
pub use array::Owner;
pub use complex::Cx;
pub use device::Device;
pub use device::Precision;
pub use dtype::DType;
pub use error::Error;
pub use error::ErrorKind;
pub use error::Result;
pub use error::Span;
pub use exact::Ext;
pub use exact::Rat;
pub use frontend::compile;
pub use frontend::compile_parts;
pub use frontend::Dialect;
pub use frontend::Lang;
pub use ir::ParamSpec;
pub use ir::Program;

Modules§

array
Dense multidimensional array: a shape and a flat row-major buffer.
complex
Complex arithmetic on interleaved [re, im] pairs.
device
Where a compiled expression runs.
dtype
Element types. The set is deliberately small; nothing here may assume it stays small.
error
Error type carrying a position in the user’s source expression.
exact
Exact numbers: arbitrary-precision integers and rationals.
fmt
Human-readable array formatting, J session style: numeric columns aligned, higher-rank arrays printed as planes separated by blank lines.
frontend
Language frontends. Each parses its own syntax into the shared IR.
fuse
Fusing chains of elementwise verbs into one blockwise pass.
ir
The language-agnostic program representation and its evaluator.
limits
The ceiling on how large a single value may be.
simd
Runtime dispatch over CPU feature levels.
verb
Verbs and the rank machinery: the language-agnostic execution core.