From 10ab319620e09004158604f853191e963c58f882 Mon Sep 17 00:00:00 2001 From: Joscha Date: Sun, 13 Dec 2020 20:23:28 +0000 Subject: [PATCH] Filter out results of type "A = A" --- src/Propa/Prolog/Display.hs | 6 +++++- src/Propa/Prolog/Types.hs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Propa/Prolog/Display.hs b/src/Propa/Prolog/Display.hs index 17fb399..46d84f2 100644 --- a/src/Propa/Prolog/Display.hs +++ b/src/Propa/Prolog/Display.hs @@ -36,4 +36,8 @@ displayDefs :: [Def T.Text] -> T.Text displayDefs = T.intercalate "\n" . map displayDef displayResult :: Map.Map T.Text (Term T.Text) -> T.Text -displayResult = T.intercalate "\n" . map (\(k, v) -> k <> " = " <> displayTerm v) . Map.assocs +displayResult + = T.intercalate "\n" + . map (\(k, v) -> k <> " = " <> displayTerm v) + . filter (\(k, v) -> v /= Var k) + . Map.assocs diff --git a/src/Propa/Prolog/Types.hs b/src/Propa/Prolog/Types.hs index 4130589..d526509 100644 --- a/src/Propa/Prolog/Types.hs +++ b/src/Propa/Prolog/Types.hs @@ -9,7 +9,7 @@ import qualified Data.Text as T data Term a = Var a | Stat T.Text [Term a] - deriving (Show) + deriving (Show, Eq) instance Functor Term where fmap f (Var a) = Var $ f a