initial structure for NaiveQE

This commit is contained in:
Felix Dilke 2026-02-03 11:03:46 +00:00
parent 0b98490756
commit 86c9b73ebe
2 changed files with 9 additions and 6 deletions

View File

@ -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"

View File

@ -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