33 lines
882 B
Haskell
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
|