Repository navigation
PLN v0.9 Release Notes
Executive summary and highlights
PLN v0.9 is a semantic and engineering refinement release: it revises confidence propagation across several core truth functions, strengthens determinism and deduplication in the forward-chaining deriver, as well as streamlines the system by removing redundant helper code in favor of direct list/predicate operations. Collectively, these changes aim to make inference results more consistent and typically faster in Prolog-backed execution contexts.
Highlights (v0.6 → pln0.9):
- Confidence propagation reworked for multiple truth functions, replacing several conservative “min-of-confidences” aggregations.
- New helper
Truth_or(a,b)introduced and used to modulate confidence (notably in similarity-related inference). - Evaluation-implication confidence bug fix applied after the initial confidence refactor.
- Inference control improvements: derivation queue handling moved toward incremental deduplication, and stamp-disjointness checking was tightened to keep derivation ordering deterministic while preserving rule-test behavior.
- Codebase decluttered: several list/tuple helper wrappers were removed (e.g., TupleConcat, TupleCount, sorting wrappers), simplifying the codebase and reducing overhead.
- New examples introduced as well as rule tests updated to reflect new STV outputs.
- Prolog list primitives emphasized (e.g., msort/2, length/2-style operations), consistent with performance-oriented execution in Prolog-based runtimes.
User-facing changes
Compared with v0.6, the most visible differences for users embedding PLN in MeTTa programs are numeric (changed STV outputs), traceability (stamp/evidence aggregation behavior), and library API surface (removal of a few helper wrappers that downstream code might have relied on).