infernu-0.0.0.0: test/Demo.hs
module Demo where
import Data.Bool (bool)
import Data.List (intercalate)
import Infernu.Infer (pretty)
import Infernu.Util (checkFiles)
import Infernu.Options (defaultOptions)
import System.Environment (getArgs)
isRight :: Either a b -> Bool
isRight (Right _) = True
isRight _ = False
main :: IO ()
main = do
args <- getArgs
let [shouldPassS, fileName] = args
res <- fmap last <$> checkFiles defaultOptions [fileName]
let shouldPass = if shouldPassS == "y" then id else not
typeChecked = isRight res
message = case res of
Left e -> pretty e
Right _ -> ""
toOk = bool "FAIL" "OK" . shouldPass
--print $ fmap (pretty . snd) res
putStrLn $ "// " ++ toOk typeChecked ++ " " ++ (intercalate " | " $ lines message)