28 lines
486 B
Idris
28 lines
486 B
Idris
module Main
|
|
|
|
import Core.Check
|
|
import Core.Term
|
|
import Parser.Parse
|
|
|
|
import System
|
|
import System.File
|
|
|
|
ioStr : IO String
|
|
ioStr = getArgs >>= \case
|
|
[] => getLine
|
|
(x :: _) => do
|
|
r <- readFile x
|
|
case r of
|
|
Left e => do
|
|
print e
|
|
exitFailure
|
|
Right s => pure s
|
|
|
|
|
|
main : IO ()
|
|
main = do
|
|
str <- ioStr
|
|
case parse0 str of
|
|
Left e => putStrLn e
|
|
Right t => print t
|