zincite-query
Select MiniZinc source, inspect semantic facts, calculate reports and construct explicit
data-edit candidates. Native results retain source locations and completeness; shared
expressions are read and evaluated by Zirql. Both for/in/if and |/where
comprehensions share tuple/list patterns and scoped predicates. Native model
facts and source-preserving Data edits stay with Zincite.
Text programs use Zirql's direct expression steps for filtering, matching,
ordering, native dictionaries, existence, fixed points and paths.
Program::from_values uses direct core ordering, mapping, existence and
fixed-point steps alongside typed ProgramNative::Query leaves. Native
filtering remains available through those Query leaves. Direct typed Filter,
Match and Paths payloads are unsupported. NativeBody retains nested native
results.
Zincite's adapter supplies kinds, subjects, identity, scalar keys, result shapes
and complete-observation policy.
It retains statement/binding bookkeeping, model ownership and edit validation.
See the adapter boundary
and Zirql embedding guide
for the development API beyond registry Zirql 0.2.0.
Use a current stable Rust toolchain. Add the library with:
The standalone zincite-query command uses the same options and exit codes as
zincite query:
See the reader guides, library reference and Rust API.
The archive includes the query examples under tests/fixtures/. Repository guide
commands using crates/zincite-query/tests/fixtures/ run from a v0.1.2 checkout;
inside this crate, use tests/fixtures/ instead. The examples/ directory is
included in the package too.
The package includes examples/fixtures/grow-wedding.zq with a
complete synthetic model and data file. The query grows guest members, records,
groups, tables and capacities as one validated candidate, using native source
copies to retain comments and spelling. The
wedding growth guide
introduces the input, query, supported shapes and preview/save/write commands.
These operations are available since Zincite 0.1.2. Build the v0.1.2 checkout
with cargo build --release -p zincite -p zincite-query from the repository root.
The grow-wedding Rust example remains an optional illustration of direct literal
views and source-edit APIs, with its own fixed data shape and limits.
Zincite targets MiniZinc 2.10.1 and does not run a compiler or solver. Read the support limits before relying on semantic results. Formatting and interfaces may change in the 0.1 series.
Licensed under MIT or Apache-2.0, at your option.
Collection value nodes
Development ProgramValue reports build Zirql's Filter, Head, Tail,
Reverse and Check nodes directly. Bound/check arguments are expressions;
Reduce { operator: ValueReducer::Length, .. } supplies count/length. Native
query leaves keep their owner/completeness contracts. See the
host collection reference
and runnable recipe.
Data admission retains its closed subset.