From 86c9b73ebe70343667b95b2aa8868799610ca879 Mon Sep 17 00:00:00 2001 From: Felix Dilke Date: Tue, 3 Feb 2026 11:03:46 +0000 Subject: [PATCH] initial structure for NaiveQE --- haskell-experiments/src/Datalog/NaiveQE.hs | 11 +++++++---- haskell-experiments/src/Datalog/QueryEngine.hs | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/haskell-experiments/src/Datalog/NaiveQE.hs b/haskell-experiments/src/Datalog/NaiveQE.hs index aeaff9d..deb0ebc 100644 --- a/haskell-experiments/src/Datalog/NaiveQE.hs +++ b/haskell-experiments/src/Datalog/NaiveQE.hs @@ -14,19 +14,22 @@ module Datalog.NaiveQE where import Datalog.QueryEngine import Data.Text +import Data.Map (Map) +import Data.Map qualified as Map import Datalog.DatalogDB import Datalog.DatalogParser import Control.Exception -data NaiveQE = NaiveQE +data (DatalogDB db) => NaiveQE db = NaiveQE { - + db :: db, + herbrand :: Map Text Relation } deriving (Show, Eq) instance QueryEngine NaiveQE where - queryEngine :: (DatalogDB db) => db -> NaiveQE + queryEngine :: (DatalogDB db) => db -> NaiveQE db queryEngine db = NaiveQE { } - query :: NaiveQE -> Text -> Text + query :: (DatalogDB db) => NaiveQE db -> Text -> Text query qe queryText = case parseDatalog queryText of Right (Query texts literals) -> "#NYI" diff --git a/haskell-experiments/src/Datalog/QueryEngine.hs b/haskell-experiments/src/Datalog/QueryEngine.hs index 10080d4..d3cc0dd 100644 --- a/haskell-experiments/src/Datalog/QueryEngine.hs +++ b/haskell-experiments/src/Datalog/QueryEngine.hs @@ -10,7 +10,7 @@ import Datalog.DatalogDB import Data.Text class QueryEngine qe where - queryEngine :: (DatalogDB db) => db -> qe - query :: qe -> Text -> Text + queryEngine :: (DatalogDB db) => db -> qe db + query :: (DatalogDB db) => qe db -> Text -> Text