on master help sign in
tix/app/Main.hs
22 lines 671 B history raw
1module Main (main) where
3import Data.Aeson ((.=))
4import qualified Data.ByteString.Char8 as BSC
5import qualified Data.Text.IO as T
6import qualified Data.Yaml as YAML
7import Nix.Parser
8import Tix.Typechecker
10main :: IO ()
11main = do
12 inp <- T.getContents
13 case parseNixTextLoc inp of
14 Failure err -> error $ show err
15 Success r -> do
16 let (t, errs, infErr, uErrs, pErrs, o) = getType r
17 BSC.putStrLn . YAML.encode $
18 o <> "errors" .= fmap show errs
19 <> "unifying_errors" .= fmap show uErrs
20 <> "resulting_type" .= renderPretty t
21 <> "predicate_errors" .= fmap show pErrs
22 <> "infer_errors" .= fmap show infErr