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