hakaru-0.7.0: commands/Momiji.hs
{-# LANGUAGE OverloadedStrings, DataKinds, GADTs #-}
module Main where
import qualified Language.Hakaru.Pretty.Maple as Maple
import Language.Hakaru.Syntax.AST.Transforms
import Language.Hakaru.Syntax.TypeCheck
import Language.Hakaru.Command
import Data.Text
import qualified Data.Text.Utf8 as U
import System.IO (stderr)
main :: IO ()
main = simpleCommand runPretty "momiji"
runPretty :: Text -> IO ()
runPretty prog =
case parseAndInfer prog of
Left err -> U.hPut stderr err
Right (TypedAST typ ast) -> do
U.putStrLnS $ Maple.pretty (expandTransformations ast)
U.putStrLn $ ","
U.putStrLnS $ Maple.mapleType typ ""