From 7364f393bda12a7924ce649c5621392b9e963019 Mon Sep 17 00:00:00 2001 From: Felix Dilke Date: Wed, 11 Feb 2026 18:11:00 +0000 Subject: [PATCH] further delinting --- .../src/Datalog/DigestedQuery.hs | 22 ++++++------------- haskell-experiments/src/Datalog/NaiveQE.hs | 7 ++---- haskell-experiments/src/Datalog/Rules.hs | 3 +-- haskell-experiments/src/Utility/Utility.hs | 1 - 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/haskell-experiments/src/Datalog/DigestedQuery.hs b/haskell-experiments/src/Datalog/DigestedQuery.hs index ee6ce3c..49d10d5 100644 --- a/haskell-experiments/src/Datalog/DigestedQuery.hs +++ b/haskell-experiments/src/Datalog/DigestedQuery.hs @@ -1,17 +1,9 @@ module Datalog.DigestedQuery where -import Data.Void import Data.Text (Text) -import qualified Data.Text as T -import Text.Megaparsec -import Text.Megaparsec.Char -import qualified Text.Megaparsec.Char.Lexer as L -import Control.Monad (void) -import Data.Functor (($>)) -import Datalog.DatalogDB (Relation, Constant, DatalogDBException (..)) +import Datalog.DatalogDB (Constant, DatalogDBException (..)) import Datalog.DatalogParser import Control.Exception (throw) -import GHC.TypeError (ErrorMessage(Text)) import Data.List (nub, elemIndex) data DigestedQuery = DigestedQuery { @@ -42,22 +34,22 @@ digestQuerySub variables literals = DigestedQuery { allBoundVariables = allBoundVariables, numSoughtVariables = - if (null variables) then (length allBoundVariables) else (length variables), + length $ if null variables then allBoundVariables else variables, conditions = extractCondition <$> literals } where allBoundVariables = nub $ variables ++ extractedVariables extractedVariables :: [Text] = nub $ concatMap extractVariablesSub literals extractVariablesSub :: Literal -> [Text] - extractVariablesSub literal = - concatMap extractVariablesSubSub (arguments literal) + extractVariablesSub lit = + concatMap extractVariablesSubSub (arguments lit) extractVariablesSubSub :: Term -> [Text] extractVariablesSubSub (Var name) = [name] extractVariablesSubSub _ = [] extractCondition :: Literal -> DigestedQueryCondition - extractCondition literal = DigestedQueryCondition { - __relation = predName literal, - _entries = extractEntry <$> (arguments literal) + extractCondition lit = DigestedQueryCondition { + __relation = predName lit, + _entries = extractEntry <$> arguments lit } extractEntry :: Term -> DigestedQueryEntry extractEntry (Var varName) = case elemIndex varName allBoundVariables of diff --git a/haskell-experiments/src/Datalog/NaiveQE.hs b/haskell-experiments/src/Datalog/NaiveQE.hs index 6040f9c..45a384b 100644 --- a/haskell-experiments/src/Datalog/NaiveQE.hs +++ b/haskell-experiments/src/Datalog/NaiveQE.hs @@ -6,7 +6,6 @@ {-# LANGUAGE ImportQualifiedPost #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} {-# LANGUAGE InstanceSigs #-} -{-# LANGUAGE DatatypeContexts #-} module Datalog.NaiveQE where import Datalog.QueryEngine @@ -22,10 +21,8 @@ import Control.Monad(guard) import Data.Set (Set) import Data.Set qualified as Set import Data.Functor ((<&>)) -import Data.List (nub) -import qualified Data.List.NonEmpty as List -data (DatalogDB db) => NaiveQE db = NaiveQE +data NaiveQE db = NaiveQE { db :: db, herbrand :: Map Text Relation @@ -76,7 +73,7 @@ computeHerbrand db = else newFacts where (facts, wasChanged) = newFacts - latestRelation = facts Map.! (_name relation) + latestRelation = facts Map.! _name relation knownTuples :: Set [Constant] = _tuples latestRelation extraTuples = do varmap <- allMaps headVars (Set.toList $ allConstants db) diff --git a/haskell-experiments/src/Datalog/Rules.hs b/haskell-experiments/src/Datalog/Rules.hs index 4cb8900..7544d1f 100644 --- a/haskell-experiments/src/Datalog/Rules.hs +++ b/haskell-experiments/src/Datalog/Rules.hs @@ -2,7 +2,6 @@ {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE ScopedTypeVariables #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} -{-# LANGUAGE DatatypeContexts #-} module Datalog.Rules where @@ -61,7 +60,7 @@ addRule (ruleHead, body) db = , bodyElements = toRuleBodyElement <$> _bodyConstraints context' } -data (DatalogDB db) => RuleContext db = RuleContext +data RuleContext db = RuleContext { __relation :: Relation , _variableNames :: [Text] , _headEntries :: [RuleElement] diff --git a/haskell-experiments/src/Utility/Utility.hs b/haskell-experiments/src/Utility/Utility.hs index c2f7f7c..e409965 100644 --- a/haskell-experiments/src/Utility/Utility.hs +++ b/haskell-experiments/src/Utility/Utility.hs @@ -2,7 +2,6 @@ {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE ScopedTypeVariables #-} {-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} -{-# LANGUAGE DatatypeContexts #-} module Utility.Utility where