prlg/app/Main.hs
2022-10-15 20:47:20 +02:00

33 lines
882 B
Haskell

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