Explanation

Explanation

Why aless works as it does: its model of a document, the choices behind it, and what they cost.

These pages argue rather than instruct. Read them when you want to know why aless behaves as it does, or whether it suits a job you have.

One tree for every format
Why aless reads every format into the same kind of tree, what each format becomes, and what the single model gives up.
Where each value came from
How aless knows the line and column of every value without any grammar recording it, where that is exact, and where it is a best effort.
How a reload keeps your place
What aless does when a watched file changes, why it finds your place again by path, and what happens when the file breaks or disappears.
Why the command line answers in JSON
The design of aless's interface for scripts and agents, and why it never waits, prints one answer, and keeps its output shapes stable.
Large inputs, streaming and limits
What aless costs in time and memory, which work streams and which reads a whole document, and the limits that keep a large or hostile input in check.
aless and jless
What aless takes from jless, what it adds, and where the two behave differently, on purpose.