diff --git a/haskell-experiments/haskell-experiments.cabal b/haskell-experiments/haskell-experiments.cabal index cf0faf6..8fef750 100644 --- a/haskell-experiments/haskell-experiments.cabal +++ b/haskell-experiments/haskell-experiments.cabal @@ -75,11 +75,12 @@ test-suite haskell-exps-test -- Test dependencies. build-depends: base, containers, megaparsec, hspec, langfeatures, text - other-modules: Test.OlogsSpec, - Test.SimpleParserSpec, - Test.ArithmeticParserSpec, - Test.Datalog.DatalogParserSpec, + other-modules: Test.OlogsSpec + Test.SimpleParserSpec + Test.ArithmeticParserSpec + Test.Datalog.DatalogParserSpec Test.Datalog.InMemoryDBSpec + Test.Datalog.NaiveQESpec library langfeatures import: warnings, commonSettings @@ -92,6 +93,8 @@ library langfeatures Datalog.InMemoryDB Datalog.Rules Datalog.DatalogDB + Datalog.NaiveQE + Datalog.QueryEngine executable haskell-experiments import: warnings, commonSettings diff --git a/haskell-experiments/src/Datalog/NaiveQE.hs b/haskell-experiments/src/Datalog/NaiveQE.hs new file mode 100644 index 0000000..4682737 --- /dev/null +++ b/haskell-experiments/src/Datalog/NaiveQE.hs @@ -0,0 +1,8 @@ +{-# HLINT ignore "Redundant flip" #-} +{-# LANGUAGE ImportQualifiedPost #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} +{-# LANGUAGE InstanceSigs #-} +{-# LANGUAGE BlockArguments #-} + +module Datalog.NaiveQE where diff --git a/haskell-experiments/src/Datalog/QueryEngine.hs b/haskell-experiments/src/Datalog/QueryEngine.hs new file mode 100644 index 0000000..7e0d3c4 --- /dev/null +++ b/haskell-experiments/src/Datalog/QueryEngine.hs @@ -0,0 +1,8 @@ +{-# HLINT ignore "Redundant flip" #-} +{-# LANGUAGE ImportQualifiedPost #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} +{-# LANGUAGE InstanceSigs #-} +{-# LANGUAGE BlockArguments #-} + +module Datalog.QueryEngine where diff --git a/haskell-experiments/test/Main.hs b/haskell-experiments/test/Main.hs index 5b53273..b810fdb 100644 --- a/haskell-experiments/test/Main.hs +++ b/haskell-experiments/test/Main.hs @@ -6,6 +6,7 @@ import qualified Test.SimpleParserSpec as SimpleParserSpec import qualified Test.ArithmeticParserSpec as ArithmeticParserSpec import qualified Test.Datalog.DatalogParserSpec as DatalogParserSpec import qualified Test.Datalog.InMemoryDBSpec as InMemoryDBSpec +import qualified Test.Datalog.NaiveQESpec as NaiveQESpec main :: IO () main = hspec $ do @@ -14,4 +15,5 @@ main = hspec $ do describe "ArithmeticParser" ArithmeticParserSpec.spec describe "DatalogParser" DatalogParserSpec.spec describe "InMemoryDB" InMemoryDBSpec.spec + describe "NaiveQE" NaiveQESpec.spec diff --git a/haskell-experiments/test/Test/Datalog/NaiveQESpec.hs b/haskell-experiments/test/Test/Datalog/NaiveQESpec.hs new file mode 100644 index 0000000..0d9067b --- /dev/null +++ b/haskell-experiments/test/Test/Datalog/NaiveQESpec.hs @@ -0,0 +1,22 @@ +{-# LANGUAGE BlockArguments #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE ImportQualifiedPost #-} +{-# LANGUAGE OverloadedRecordDot #-} +{-# HLINT ignore "Use const" #-} +{-# HLINT ignore "Unused LANGUAGE pragma" #-} +{-# HLINT ignore "Avoid lambda" #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TypeApplications #-} +{-# LANGUAGE NoFieldSelectors #-} +{-# LANGUAGE NoMonomorphismRestriction #-} +{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} + +module Test.Datalog.NaiveQESpec where + +import Test.Hspec + +spec :: Spec +spec = do + describe "NaiveQESpec" do + it "..." $ do + 1 `shouldBe` 1 \ No newline at end of file