{-# HLINT ignore "Redundant flip" #-} -- {-# LANGUAGE ImportQualifiedPost #-} -- {-# LANGUAGE InstanceSigs #-} {-# LANGUAGE ScopedTypeVariables #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} {-# LANGUAGE BlockArguments #-} {-# HLINT ignore "Redundant flip" #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE ScopedTypeVariables #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} {-# LANGUAGE InstanceSigs #-} {-# LANGUAGE BlockArguments #-} module Datalog.NaiveQE where import Datalog.QueryEngine import Data.Text import Datalog.DatalogDB import Datalog.DatalogParser import Control.Exception data NaiveQE = NaiveQE { } deriving (Show, Eq) instance QueryEngine NaiveQE where queryEngine :: (DatalogDB db) => db -> NaiveQE queryEngine db = NaiveQE { } query :: NaiveQE -> Text -> Text query qe queryText = case parseDatalog queryText of Right (Query texts literals) -> "#NYI" Right otherStatement -> throw $ NonQueryException queryText otherStatement Left ex -> throw $ CannotParseStatementException queryText ex