Files
acms/autotypes/app/Main.hs
Alexander Foremny ec0ea18486 init
2024-05-28 22:04:34 +02:00

28 lines
612 B
Haskell

module Main where
import AutoTypes.Unify as U
import Data.Aeson (Value, decodeFileStrict', encode)
import qualified Data.ByteString.Lazy as B
import System.Environment (getArgs)
import System.FilePath (takeFileName)
main :: IO ()
main = do
filePaths <- getArgs
types <-
mapM
( \filePath -> do
Just value <- decodeFileStrict' filePath
pure (U.fromJson value)
)
filePaths
B.putStr
( encode
( head
( foldr1
(\ls rs -> (concat [unify1 l r | l <- ls, r <- rs]))
(map (: []) types)
)
)
)