aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/shell/interpreter.go
AgeCommit message (Collapse)Author
2025-06-26Add improved line editing to debug shellJP Appel
Improved line editing include moveable cursor and command history
2025-06-24Add first pass of query compilerJP Appel
2025-06-19Add multiple clause and tree level optimizationsJP Appel
Implement optimizations that can be called in parallel or serial. Optimizations occur mostly in place and result in a logically equivalent tree when used correctly. Optimizations ============= * Sort - sort all statements within a clause tree * Simplify - apply negation rules to all statements * Flatten - merge child clauses with parents * Compact - merge equivalent statements * Tidy^ - remove zero statements * Contradictions - zero contradicting statements and clauses * StrictEquality - zero fuzzy statements when exact statements are within clause * Tighten - combine multiple fuzzy statements to the least (AND) or most (OR) restrictive bounds ^: when used incorrectly can turn an invalid clause tree into a valid one
2025-06-15Add query optimizerJP Appel
2025-06-13Move debug shell into main binary as a commandJP Appel