You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Added relation-instance references as targets of set_attribute, remove_attribute and remove_relation, so polyadic instances without
durable ids can be edited and removed.
Added declared work budgets for pattern views and binding, predicates,
span-pair joins, lattice matching, folds and path plans. Exhaustion raises BudgetExhausted; outermost budgeted span scans can report cut-at-budget.
Added opt-in CLI --max-steps and match-request max_steps work guards.
Added work budgets to output-plan preparation, masses, conditioning and item
marginals.
Added work budgets to grammar recognition, derivation counts, best
derivations and target generation.
Added deterministic selector-scan and set-traversal charging to every
budgeted selection; an ambient meter activates it around a nested SequenceSelector.
Added opt-in Graph.share_values() to share equal item attributes and
structural item references; the retained-memory saving holds once the caller
drops the original graph.
Changed
Graph.canonical_items() now returns durable items as the graph's own
references, with unchanged values.
Reduced compiled-pattern memory by packing NFA edges without changing matching results or work accounting.
CompiledPattern.epsilon and CompiledPattern.atom_edges now hold packed integers.
Avoided graph cycle walks for acyclic bipartite relations whose endpoint types
are disjoint.
Reduced graph construction overhead for empty and singleton attributes and
valid structural references without relaxing their validation.
Made integer-shaped decimal attribute construction avoid general Decimal
re-parsing and reused the compiled whitespace normalizer.
Made exact Decimal folds reuse sufficient context precision instead of
recomputing a precision bound for every multiplication.
Made ranked PATH folds concatenate already-singleton witness values directly
instead of running general Cartesian deduplication and sorting.
Lowered charged steps for large pattern alternations with bounded lookahead,
without a wall-time gain, while preserving every pattern and lattice result.
At a step-budget boundary, an outermost span call that previously refused may
now return a nonempty cut-at-budget prefix; the reverse change cannot occur.
Refused empty and non-string durable relation references and relation-instance
durable ids at construction.
Made pattern and embedded-predicate text parsing, and pattern compilation,
independent of Python call stack depth and allowed 256 nested text groups.
Pattern ASTs remain limited to 256 levels, and pattern and predicate NFAs to
1,000,000 states.
Stopped spans(limit=) once its extent is settled and made count avoid
retaining span witnesses.