From 97c9e2d34b8950b38d4dbf9bf549b602a070fe81 Mon Sep 17 00:00:00 2001 From: Felix Dilke Date: Tue, 10 Feb 2026 12:05:55 +0000 Subject: [PATCH] pushed the problem of Herbrand construction down 1 layer --- haskell-experiments/src/Datalog/NaiveQE.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/haskell-experiments/src/Datalog/NaiveQE.hs b/haskell-experiments/src/Datalog/NaiveQE.hs index f91e9c4..19ce12e 100644 --- a/haskell-experiments/src/Datalog/NaiveQE.hs +++ b/haskell-experiments/src/Datalog/NaiveQE.hs @@ -57,7 +57,10 @@ computeHerbrand db = maybe newFacts (amalgamateRelationSub newFacts) $ lookupRelation db relationName amalgamateRelationSub :: NewFacts -> Relation -> NewFacts amalgamateRelationSub newFacts relation = - newFacts + foldr amalgamateRule newFacts (_rules relation) where + amalgamateRule :: RelationRule -> NewFacts -> NewFacts + amalgamateRule rule newFacts = + newFacts computeHerbrandSub :: Map Text Relation -> Map Text Relation computeHerbrandSub facts = maybe facts computeHerbrandSub (updateFacts facts)