module Main where import Interpreter import Text.Pretty.Simple import qualified Data.Map as M ppr :: Show a => a -> IO () ppr = pPrintOpt CheckColorTty defaultOutputOptionsDarkBg {outputOptionsCompactParens = True, outputOptionsIndentAmount = 2, outputOptionsPageWidth=80} main :: IO () main = do let (res, interp) = prove [Goal, U (Struct (1, 2)), U (Atom 1), U (Atom 2), LastCall] $ M.fromList [ ( (1, 2) , [ [U (Atom 333), U (Atom 444), NoGoal] , [ U (Atom 1) , U (Atom 2) , Goal , U (Struct (2, 0)) , Call , Goal , U (Struct (5, 2)) , U (Atom 333) , U (Atom 444) , LastCall ] ]) , ((2, 0), [[NoGoal]]) ] ppr interp ppr res