From 8a81cd9e774012b74346346a7c93c6d70899078d Mon Sep 17 00:00:00 2001 From: Joscha Date: Sun, 13 Dec 2020 20:23:44 +0000 Subject: [PATCH] Add Debug module for easier testing --- propa-tools.cabal | 1 + src/Propa/Prolog/Debug.hs | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 src/Propa/Prolog/Debug.hs diff --git a/propa-tools.cabal b/propa-tools.cabal index e95a440..6e42b52 100644 --- a/propa-tools.cabal +++ b/propa-tools.cabal @@ -22,6 +22,7 @@ library exposed-modules: Propa.Lambda.Display Propa.Lambda.Term + Propa.Prolog.Debug Propa.Prolog.Display Propa.Prolog.Example Propa.Prolog.Parse diff --git a/src/Propa/Prolog/Debug.hs b/src/Propa/Prolog/Debug.hs new file mode 100644 index 0000000..1814ad7 --- /dev/null +++ b/src/Propa/Prolog/Debug.hs @@ -0,0 +1,18 @@ +{-# LANGUAGE OverloadedStrings #-} + +module Propa.Prolog.Debug + ( parseAndRun + ) where + +import qualified Data.Text as T +import qualified Data.Text.IO as T + +import Propa.Prolog.Display +import Propa.Prolog.Parse +import Propa.Prolog.Unify + +parseAndRun :: T.Text -> T.Text -> IO () +parseAndRun dbText termsText = T.putStrLn $ either id id $ do + db <- parseDb "" dbText + terms <- parseTerms "" termsText + pure $ T.intercalate "\n" $ map displayResult $ run db terms