Interpreter pipeline
Readable does not mean loose.
Liminate reads a sentence the same way regular programming languages read code — in clear, defined steps.
Liminate uses a normal interpreter pipeline. The prose is bounded, parsed, analyzed, and executed.
- ReaderLexerSplits the sentence into individual words.Turns text into tokens.
- TidierReordererSmooths over harmless differences in phrasing.Normalizes safe English variation.
- BuilderParserFigures out the shape of what you wrote.Builds the executable structure.
- CheckerSemantic analyzerVerifies the names and values make sense.Checks names, types, and legality.
- RunnerInterpreterActually carries out the sentence, or remembers it for later.Executes the statement or registers handlers.
Liminate always shows you what it understood your sentence to mean before doing anything. That is part of the deal: you can see, and trust, what is about to happen.
The canonical preview is part of the trust model: users see what Liminate understood before it acts.
Domain packs extend the same path. A pack can add words while it is loaded, but those words still pass through parsing, checking, and execution.
Pack verbs are not a side channel. v4a and the later pack contract extension dispatch pack verbs through parser, analyzer, and interpreter tables, with typed execution classes for value setting, list append, field mutation, substring checks, and structural comparison.