initial structure for NaiveQE
This commit is contained in:
parent
0b98490756
commit
86c9b73ebe
@ -14,19 +14,22 @@
|
|||||||
module Datalog.NaiveQE where
|
module Datalog.NaiveQE where
|
||||||
import Datalog.QueryEngine
|
import Datalog.QueryEngine
|
||||||
import Data.Text
|
import Data.Text
|
||||||
|
import Data.Map (Map)
|
||||||
|
import Data.Map qualified as Map
|
||||||
import Datalog.DatalogDB
|
import Datalog.DatalogDB
|
||||||
import Datalog.DatalogParser
|
import Datalog.DatalogParser
|
||||||
import Control.Exception
|
import Control.Exception
|
||||||
|
|
||||||
data NaiveQE = NaiveQE
|
data (DatalogDB db) => NaiveQE db = NaiveQE
|
||||||
{
|
{
|
||||||
|
db :: db,
|
||||||
|
herbrand :: Map Text Relation
|
||||||
} deriving (Show, Eq)
|
} deriving (Show, Eq)
|
||||||
|
|
||||||
instance QueryEngine NaiveQE where
|
instance QueryEngine NaiveQE where
|
||||||
queryEngine :: (DatalogDB db) => db -> NaiveQE
|
queryEngine :: (DatalogDB db) => db -> NaiveQE db
|
||||||
queryEngine db = NaiveQE { }
|
queryEngine db = NaiveQE { }
|
||||||
query :: NaiveQE -> Text -> Text
|
query :: (DatalogDB db) => NaiveQE db -> Text -> Text
|
||||||
query qe queryText =
|
query qe queryText =
|
||||||
case parseDatalog queryText of
|
case parseDatalog queryText of
|
||||||
Right (Query texts literals) -> "#NYI"
|
Right (Query texts literals) -> "#NYI"
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import Datalog.DatalogDB
|
|||||||
import Data.Text
|
import Data.Text
|
||||||
|
|
||||||
class QueryEngine qe where
|
class QueryEngine qe where
|
||||||
queryEngine :: (DatalogDB db) => db -> qe
|
queryEngine :: (DatalogDB db) => db -> qe db
|
||||||
query :: qe -> Text -> Text
|
query :: (DatalogDB db) => qe db -> Text -> Text
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user